OpenStack安装指南第8910章.docx
- 文档编号:11779297
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:36
- 大小:30.44KB
OpenStack安装指南第8910章.docx
《OpenStack安装指南第8910章.docx》由会员分享,可在线阅读,更多相关《OpenStack安装指南第8910章.docx(36页珍藏版)》请在冰点文库上搜索。
OpenStack安装指南第8910章
第八章添加块存储服务
目录
OpenStack块存储.................................................................................89
安装和配置控制结点............................................................................90
安装和配置存储结点............................................................................93
核实操作................................................................................................97
下一步....................................................................................................98
OpenStack的块存储服务提供块存储设备去实例化有用的各式各样的后端。
块存储API和调度程序服务在控制器节点上运行
和卷服务运行在一个或多个存储节点。
存储节点提供卷
去实例有用的本地块存储设备或与适当
驱动程序的SAN和NAS后端。
有关更多信息,请参见配置参考。
说明
本章省略了备份管理器,因为它依赖于对象存储服务。
OpenStack块存储
OpenStack块存储服务(渣)将持久性存储添加到一个虚拟机。
块存储为卷管理提供了一个基础设施,与OpenStack计算交互为实例提供卷。
服务还支持管理卷快照,数量和类型。
块存储服务包含以下组件:
cinder-api;接受API请求,并将它们的cinder-volume按路线运行。
cinder-volume:
直接与块存储服务交互,如cinder-scheduler过程。
它还通过消息队列与这些过程交互。
cinder-volume服务响应阅读和写请求发送到块存储服务并维护状态。
它可以通过一个驱动程序的体系结构与多种存储供应商交互。
cinder-schedulerdaemon:
选择最优存储提供节点上去创建卷。
一个类似nova-scheduler组件。
Messagingqueue:
块存储过程之间的路由信息。
安装和配置控制结点
本节介绍如何安装和配置块存储服务,代号cinder,,在控制器节点上。
这个服务至少需要一个额外的存储节点提供卷实例。
配置先决条件
在安装和配置块存储服务之前,您必须创建一个数据库,服务凭证和API端点。
1.创建数据库,完成这些步骤:
a.使用数据库访问客户端连接到数据库服务器作为根用户:
$mysql-uroot-p
b.创建cinder数据库:
CREATEDATABASEcinder;
C.对cinder数据库给予适当的访问:
GRANTALLPRIVILEGESONcinder.*TO'cinder'@'localhost'\
IDENTIFIEDBY'CINDER_DBPASS';
GRANTALLPRIVILEGESONcinder.*TO'cinder'@'%'\
IDENTIFIEDBY'CINDER_DBPASS';
用一个合适的密码替换CINDER_DBPASS。
d.退出数据库访问客户端。
2.通过源管理凭证进入admin-onlyCLI命令:
$sourceadmin-openrc.sh
3.要创建服务的凭证,完成以下步骤:
a.创建一个cinder用户:
$keystoneuser-create--namecinder--passCINDER_PASS
+----------+----------------------------------+
|Property|Value|
+----------+----------------------------------+
|email||
|enabled|True|
|id|881ab2de4f7941e79504a759a83308be|
|name|cinder|
|username|cinder|
+----------+----------------------------------+
用一个合适的密码替换CINDER_PASS。
b.将管理角色添加到cinder用户:
$keystoneuser-role-add--usercinder--tenantservice--roleadmin
说明
这个命令没有提供输出
c.创建cinder服务实体:
$keystoneservice-create--namecinder--typevolume\
--description"OpenStackBlockStorage"
+-------------+----------------------------------+
|Property|Value|
+-------------+----------------------------------+
|description|OpenStackBlockStorage|
|enabled|True|
|id|1e494c3e22a24baaafcaf777d4d467eb|
|name|cinder|
|type|volume|
+-------------+----------------------------------+
$keystoneservice-create--namecinderv2--typevolumev2\
--description"OpenStackBlockStorage"
+-------------+----------------------------------+
|Property|Value|
+-------------+----------------------------------+
|description|OpenStackBlockStorage|
|enabled|True|
|id|16e038e449c94b40868277f1d801edb5|
|name|cinderv2|
|type|volumev2|
+-------------+----------------------------------+
说明
块存储服务需要两个不同的服务实体支持API版本1和2
4.创建块存储服务API端点:
$keystoneendpoint-create\
--service-id$(keystoneservice-list|awk'/volume/{print$2}')\
--publicurlhttp:
//controller:
8776/v1/%\(tenant_id\)s\
--internalurlhttp:
//controller:
8776/v1/%\(tenant_id\)s\
--adminurlhttp:
//controller:
8776/v1/%\(tenant_id\)s\
--regionregionOne
+-------------+-----------------------------------------+
|Property|Value|
+-------------+-----------------------------------------+
|adminurl|http:
//controller:
8776/v1/%(tenant_id)s|
|id|d1b7291a2d794e26963b322c7f2a55a4|
|internalurl|http:
//controller:
8776/v1/%(tenant_id)s|
|publicurl|http:
//controller:
8776/v1/%(tenant_id)s|
|region|regionOne|
|service_id|1e494c3e22a24baaafcaf777d4d467eb|
+-------------+-----------------------------------------+
$keystoneendpoint-create\
--service-id$(keystoneservice-list|awk'/volumev2/{print$2}')\
--publicurlhttp:
//controller:
8776/v2/%\(tenant_id\)s\
--internalurlhttp:
//controller:
8776/v2/%\(tenant_id\)s\
--adminurlhttp:
//controller:
8776/v2/%\(tenant_id\)s\
--regionregionOne
+-------------+-----------------------------------------+
|Property|Value|
+-------------+-----------------------------------------+
|adminurl|http:
//controller:
8776/v2/%(tenant_id)s|
|id|097b4a6fc8ba44b4b10d4822d2d9e076|
|internalurl|http:
//controller:
8776/v2/%(tenant_id)s|
|publicurl|http:
//controller:
8776/v2/%(tenant_id)s|
|region|regionOne|
|service_id|16e038e449c94b40868277f1d801edb5|
+-------------+-----------------------------------------+
说明
块存储服务需要两个不同的端点支持API版本1和2。
安装和配置块存储控制器组件
1.安装包
#apt-getinstallcinder-apicinder-schedulerpython-cinderclient
2.编辑/etc/cinder/cinder.conf文件并完成以下动作:
a.在【数据库】部分,配置数据库访问:
[database]
...
connection=mysql:
//cinder:
CINDER_DBPASS@controller/cinder
为块存储数据库用你选择的的密码替换CINDER_DBPASS。
b.在(默认)部分,配置RabbitMQmessagebroker访问:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller
rabbit_password=RABBIT_PASS
为来宾帐户RabbitMQ用你选择的的密码替换CINDER_DBPASS。
c.(默认)和[keystone_authtoken]部分,配置身份服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http:
//controller:
5000/v2.0
identity_uri=http:
//controller:
35357
admin_tenant_name=service
admin_user=cinder
admin_password=CINDER_PASS
在身份服务中对cinder用户用你选择的的密码替换CINDER_DBPASS。
说明
因为identity_uri选项替换他们,因此注释掉任何auth_hostauth_port,auth_protocol选择。
d.在(默认)部分,使用管理接口控制器节点的IP地址去配置my_ip选项:
[DEFAULT]
...
my_ip=10.0.0.11
e.(可选)协助故障排除,启用详细日志记录(默认)部分:
[DEFAULT]
...
verbose=True
3.填充块存储数据库:
#su-s/bin/sh-c"cinder-managedbsync"cinder
完成安装
1.重新启动块存储服务:
#servicecinder-schedulerrestart
#servicecinder-apirestart
2.默认情况下,Ubuntu包创建一个SQLite数据库。
因为这个配置使用一个SQL数据库服务器,您可以删除SQLite数据库文件:
#rm-f/var/lib/cinder/cinder.sqlite
安装和配置一个存储节点
本节描述如何安装和配置存储节点块存储服务。
为简单起见,这个配置引用一个存储节点,它带着一个空的地方块存储设备/dev/sdb和一个合适的占据整个设备分区的分区表/dev/sdb1。
在这个设备驱动程序,服务条款使用LVM逻辑卷,通过iSCSI传输进行实例化。
您可以遵循这些指令规模水平轻微修改您的环境与其他存储节点。
配置先决条件
在上面安装和配置服务前你必须配置存储节点。
类似于控制器节点,存储节点包含一个网络接口管理网络。
存储节点也需要一个空的块存储设备适合您的环境的大小。
有关更多信息,请参见第2章,“基本环境”[11]。
1.配置管理界面:
IP地址:
10.0.0.41
网络掩码:
255.255.255.0(或/24)
默认网关:
10.0.0.1
2.设置节点的主机名为block1。
3.从控制器节点到存储节点复制/etc/hosts文件内容,并添加以下内容:
#block1
10.0.0.41block1
在您的环境中所有其他节点上也将这些内容添加到/etc/hosts文件。
4.“其他章节的节点”[25]使用说明安装和配置NTP。
5.安装LVM包:
#apt-getinstalllvm2
说明
默认一些发行版包括LVM。
6.创建LVM物理卷/dev/sdb1:
#pvcreate/dev/sdb1
Physicalvolume"/dev/sdb1"successfullycreated
说明:
如果您的系统使用一个不同的设备名称,相应地调整这些步骤。
7.创建LVM卷组cinder-volumes:
#vgcreatecinder-volumes/dev/sdb1
Volumegroup"cinder-volumes"successfullycreated
块存储服务在这个卷组创建逻辑卷。
8.只有实例可以访问块存储卷。
然而,底层操作系统管理相关的设备数量。
默认情况下,LVM卷扫描工具扫描/dev目录,它包含块存储设备卷。
如果租户使用LVM卷,扫描工具检测到这些卷并尝试缓存可以导致各种各样的问题与底层操作系统和租户卷。
你必须重新配置LVM只扫描设备,包含cinder-volume卷组。
编辑/etc/lvm/lvm。
conf文件并完成以下动作:
在设备部分,添加一个过滤器,并拒绝接受/dev/sdb设备所有其他设备:
devices{
...
filter=["a/sdb/","r/.*/"]
过滤数组中的每一项始于为拒绝接受或r和包括一个设备名称的正则表达式。
与数组必须用r/*/结束去拒绝剩余的设备。
您可以使用vg-vvvv命令来测试过滤器。
警告
如果您的存储节点使用LVM磁盘上的操作系统,你必须也将相关的设备添加到过滤器。
例如,如果/dev/sda设备包含操作系统:
filter=["a/sda/","a/sdb/","r/.*/"]
同样的,如果你的计算节点上使用LVM操作系统磁盘,您还必须修改/etc/lvm/lvm.过滤器配置文件,在这些节点只包含操作系统磁盘。
例如,如果/dev/sda设备包含操作系统:
filter=["a/sda/","r/.*/"]
安装和配置块存储卷组件
1.安装包:
#apt-getinstallcinder-volumepython-mysqldb
2.编辑/etc/cinder/cinder.conf文件并完成以下动作:
a.在【数据库】部分,配置数据库访问:
[database]
...
connection=mysql:
//cinder:
CINDER_DBPASS@controller/cinder
对块存储的数据库用你选择的的密码替换CINDER_DBPASS。
说明。
b.在(默认)部分,配置RabbitMQmessagebroker访问入口:
[DEFAULT]
...
rpc_backend=rabbit
rabbit_host=controller
rabbit_password=RABBIT_PASS
客户帐户RabbitMQ用你选择的的密码替换CINDER_DBPASS。
。
c.(默认)和[keystone_authtoken]部分,配置的身份服务访问:
[DEFAULT]
...
auth_strategy=keystone
[keystone_authtoken]
...
auth_uri=http:
//controller:
5000/v2.0
identity_uri=http:
//controller:
35357
admin_tenant_name=service
admin_user=cinder
admin_password=CINDER_PASS
在身份服务中对cinder用户用你选择的的密码替换CINDER_DBPASS。
说明
因为identity_uri选项替换他们,注释掉任何auth_hostauth_port,auth_protocol选择。
d.在(默认)部分,配置my_ip选择:
[DEFAULT]
...
my_ip=MANAGEMENT_INTERFACE_IP_ADDRESS
在存储节点用管理网络接口的IP地址替换MANAGEMENT_INTERFACE_IP_ADDRESS,通常在例子体系结构中第一个节点的10.0.0.41。
e.在(默认)部分,配置图像的位置服务:
[DEFAULT]
...
glance_host=controller
f.(可选)协助故障排除,启用详细日志记录(默认)部分:
[DEFAULT]
...
verbose=True
完成安装
1.重新启动块存储卷服务包括其依赖关系:
#servicetgtrestart
#servicecinder-volumerestart
默认情况下,Ubuntu包创建一个SQLite数据库。
因为这个配置 使用一个SQL数据库服务器,去除SQLite数据库文件:
#rm-f/var/lib/cinder/cinder.sqlite
验证操作
本节描述通过创建一个卷如何验证操作的块存储服务。
有关如何管理卷的更多信息,请参见OpenStack的用户指南。
说明
控制器节点上执行这些命令。
通过源管理凭证进入admin-onlyCLI命令:
$sourceadmin-openrc.sh
2.列出服务组件来验证成功发射的过程:
$cinderservice-list
+------------------+------------+------+---------+-------
+----------------------------+-----------------+
|Binary|Host|Zone|Status|State|
Updated_at|DisabledReason|
+------------------+------------+------+---------+-------
+----------------------------+-----------------+
|cinder-scheduler|controller|nova|enabled|up|
2014-10-18T01:
30:
54.000000|None|
|cinder-volume|block1|nova|enabled|up|
2014-10-18T01:
30:
57.000000|None|
+------------------+------------+------+---------+-------
+----------------------------+-----------------+
3.通过源演示租户凭证作为非管理租户执行以下步骤:
$sourcedemo-openrc.sh
4.创建一个1GB容量:
$cindercreate--display-namedemo-volume11
+---------------------+--------------------------------------+
|Property|Value|
+---------------------+--------------------------------------+
|attachments|[]|
|availability_zone|nova|
|bootable|false|
|created_at|2014-10-14T23:
11:
50.870239|
|display_description|None|
|display_name|demo-volume1|
|encrypted|False|
|id|158bea89-07db-4ac2-8115-66c0d6a4bb48|
|metadata|{}|
|size|1|
|snapshot_id|None|
|source_volid|None|
|status|creating|
|volume_type|None|
+---------------------+--------------------------------------+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OpenStack 安装 指南 8910