设为首页 收藏本站
查看: 1034|回复: 0

[经验分享] Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Stor...

[复制链接]

尚未签到

发表于 2017-11-14 11:09:15 | 显示全部楼层 |阅读模式
                        Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Storage)
1.1.1.1. Cinder服务安装Block Storage
块存储服务(cinder)为访客实例提供块存储设备。存储设置方法由块存储驱动程序确定,或者在多后端配置的情况下确定驱动程序。有各种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等。
块存储API和调度器服务通常在控制器节点上运行。根据使用的驱动程序,卷服务可以在控制器节点,计算节点或独立存储节点上运行。
本节介绍如何为块存储服务安装和配置存储节点。为了简单起见,此配置引用一个具有空的本地块存储设备的存储节点。说明使用/dev/sdb,但您可以替换特定节点的其他值。
该服务使用LVM驱动程序在此设备上提供逻辑卷,并通过iSCSI传输将其提供给实例。您可以按照这些说明进行细微的修改,以使用附加的存储节点水平扩展环境。
1.1.1.1.1. 安装和配置存储节点1.1.1.1.1.1. 先决条件
在存储节点上安装和配置块存储服务之前,必须准备存储设备。
注意:在存储节点上执行这些步骤。
安装支持实用程序包:
安装LVM软件包:
# yum install lvm2
启动LVM元数据服务并将其配置为在系统引导时启动:
# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service
注意:一些发行版默认情况下包括LVM。
创建LVM物理卷/dev/sdb:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
创建LVM卷组cinder-volumes:
# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
块存储服务在此卷组中创建逻辑卷。
只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM卷扫描工具将扫描/dev包含卷的块存储设备的 目录。如果项目在其卷上使用LVM,则扫描工具会检测这些卷并尝试缓存它们,这可能会导致底层操作系统和项目卷的各种问题。您必须重新配置LVM以仅扫描包含cinder-volumes卷组的设备。编辑 /etc/lvm/lvm.conf文件并完成以下操作:
在本devices节中,添加一个接受/dev/sdb设备并拒绝所有其他设备的过滤器:
devices {
...
filter = [ "a/sdb/", "r/.*/"]
过滤器阵列中的每个项目以a表示accept或 r表示reject开头,并包含设备名称的正则表达式。阵列必须结束r/.*/以拒绝任何剩余的设备。您可以使用vgs -vvvv命令来测试过滤器。
警告:如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的设备添加到过滤器。例如,如果/dev/sda设备包含操作系统:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]
同样,如果您的计算节点在操作系统磁盘上使用LVM,则还必须修改/etc/lvm/lvm.conf这些节点上的文件中的过滤器, 以仅包括操作系统磁盘。例如,如果/dev/sda 设备包含操作系统:
filter = [ "a/sda/", "r/.*/"]
1.1.1.1.1.2. 安装和配置组件
安装软件包:
# yum install openstack-cinder targetcli python-keystone
编辑/etc/cinder/cinder.conf文件并完成以下操作:
在该[database]部分中,配置数据库访问:
[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
替换CINDER_DBPASS为块存储数据库选择的密码。
在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
替换RABBIT_PASS为您为该openstack帐户选择的密码RabbitMQ。
在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS
替换CINDER_PASS为cinder身份服务中为用户选择的密码 。
注意:注释或删除该[keystone_authtoken]部分中的任何其他选项 。
在本[DEFAULT]节中,配置my_ip选项:
[DEFAULT]
# ...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
替换MANAGEMENT_INTERFACE_IP_ADDRESS为存储节点上的管理网络接口的IP地址,通常为示例体系结构中第一个节点的10.0.0.41 。
在本[lvm]节中,使用LVM驱动程序,cinder-volumes卷组,iSCSI协议和适当的iSCSI服务配置LVM后端。如果该[lvm]部分不存在,请创建它:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
在本[DEFAULT]节中,启用LVM后端:
[DEFAULT]
# ...
enabled_backends = lvm
注意:后端名称是任意的。作为示例,本指南使用驱动程序的名称作为后端的名称。
在该[DEFAULT]部分中,配置Image Service API的位置:
[DEFAULT]
# ...
glance_api_servers = http://controller:9292
在该[oslo_concurrency]部分中,配置锁定路径:
[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp
1.1.1.1.1.3. 完成安装
启动Block Storage卷服务,包括其依赖关系,并将其配置为在系统引导时启动:
# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service
1.1.1.1.2. 安装和配置控制器节点
本节介绍如何在控制器节点上安装和配置块存储服务(代号为Cinder)。此服务需要至少一个向实例提供卷的附加存储节点。
1.1.1.1.2.1. 先决条件
在安装和配置块存储服务之前,必须创建一个数据库,服务凭证和API端点。
要创建数据库,请完成以下步骤:
使用数据库访问客户端作为root用户连接到数据库服务器:
$ mysql -u root -p
创建cinder数据库:
MariaDB [(none)]> CREATE DATABASE cinder;
授予对cinder数据库的正确访问权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
  IDENTIFIED BY 'CINDER_DBPASS';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
  IDENTIFIED BY 'CINDER_DBPASS';
更换CINDER_DBPASS一个合适的密码。
退出数据库访问客户端。
输入admin凭据以访问仅管理CLI命令:
$ . admin-openrc
要创建服务凭据,请完成以下步骤:
创建cinder用户:
$ openstack user create --domain default --password-prompt cinder
User Password:
Repeat User Password:
将admin角色添加到cinder用户:
$ openstack role add --project service --user cinder admin
创建cinderv2和cinderv3服务实体:
$ openstack service create --name cinderv2 \
  --description "OpenStack Block Storage" volumev2
$ openstack service create --name cinderv3 \
  --description "OpenStack Block Storage" volumev3
注意:块存储服务需要两个服务实体。
创建块存储服务API端点:
$ openstack endpoint create --region RegionOne \
  volumev2 public http://controller:8776/v2/%\(project_id\)s
$ openstack endpoint create --region RegionOne \
  volumev2 internal http://controller:8776/v2/%\(project_id\)s
$ openstack endpoint create --region RegionOne \
  volumev2 admin http://controller:8776/v2/%\(project_id\)s
  
$ openstack endpoint create --region RegionOne \
  volumev3 public http://controller:8776/v3/%\(project_id\)s
$ openstack endpoint create --region RegionOne \
  volumev3 internal http://controller:8776/v3/%\(project_id\)s
$ openstack endpoint create --region RegionOne \
  volumev3 admin http://controller:8776/v3/%\(project_id\)s
注意:块存储服务需要每个服务实体的端点。
1.1.1.1.2.2. 安装和配置组件
安装软件包:
# yum install openstack-cinder
编辑/etc/cinder/cinder.conf文件并完成以下操作:
在该[database]部分中,配置数据库访问:
[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
替换CINDER_DBPASS为块存储数据库选择的密码。
在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:
[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller
替换RABBIT_PASS为您为该openstack帐户选择的密码 RabbitMQ。
在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:
[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS
替换CINDER_PASS为cinder身份服务中为用户选择的密码。
注意:注释或删除该[keystone_authtoken]部分中的任何其他选项 。
在该[DEFAULT]部分中,配置该my_ip选项以使用控制器节点的管理接口IP地址:
[DEFAULT]
# ...
my_ip = 10.0.0.11
在该[oslo_concurrency]部分中,配置锁定路径:
[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp
填充Block Storage数据库:
# su -s /bin/sh -c "cinder-manage db sync" cinder
1.1.1.1.2.3. 配置计算以使用块存储
编辑/etc/nova/nova.conf文件并添加以下内容:
[cinder]
os_region_name = RegionOne
1.1.1.1.2.4. 完成安装
重新启动Compute API服务:
# systemctl restart openstack-nova-api.service
启动Block Storage服务并将其配置为在系统启动时启动:
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407119-1-1.html 上篇帖子: Openstack 安装部署指南翻译系列 之 Horizon服务安装(Dashboad) 下篇帖子: Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Stora...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表