安装配置存储节点
在所有存储(x86-compute和arm-compute)节点执行以下操作。块存储可以采用lvm本地卷或者Ceph远端存储,存储节点可以选择其中一种方式配置。
安装和配置LVM本地卷(Option1)
在所有存储节点(x86-compute和arm-compute)执行以下操作。
- 安装LVM包。
1
yum -y install lvm2 device-mapper-persistent-data
一些发行版默认包含LVM,不需要安装。
- 启动LVM元数据服务并将其配置为在系统引导时启动。
1 2
systemctl enable lvm2-lvmetad.service systemctl start lvm2-lvmetad.service
- 创建LVM物理卷“/dev/sdb”。
1
pvcreate /dev/sdb
- 创建LVM卷组“cinder-volumes”。
此处应该选择一个未被操作系统使用的磁盘分区或磁盘,以避免数据丢失。
1
vgcreate cinder-volumes /dev/sdb
- 修改配置文件“/etc/lvm/lvm.conf”。
- 打开文件。
1
vi /etc/lvm/lvm.conf
- 按“i”进入编辑模式,在devices部分中,添加一个接受“/dev/sdb”设备的过滤器并拒绝所有其他设备。
1 2
devices { filter = [ "a/sda/", "a/sdb/", "r/.*/"]
filter过滤器阵列中的每个项目开头为“a”或者“r”,用于接受或用于拒绝某个设备,如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的系统盘设备添加到过滤器。同样,如果计算节点在操作系统磁盘上使用LVM,也需要修改这些节点上“/etc/lvm/lvm.conf”文件中的过滤器以包括操作系统磁盘。例如,如果“/dev/sda”设备包含操作系统,则需要将“sda”添加到过滤器。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 安装软件包。
1
yum -y install openstack-cinder targetcli python-keystone
- 修改配置文件“/etc/cinder/cinder.conf”。
- 打开文件。
1
vi /etc/cinder/cinder.conf
- 按“i”进入编辑模式,并完成以下操作:
- 配置数据库访问。
1 2
[database] connection = mysql+pymysql://cinder:PASSWORD@controller/cinder
将PASSWORD替换为创建Cinder数据库中cinder用户的密码。
- 指定使用RabbitMQ作为消息队列的连接信息。
1 2
[DEFAULT] transport_url = rabbit://openstack:PASSWORD@controller
将PASSWORD替换为安装RabbitMQ中OpenStack用户的密码。
- 配置身份服务访问。
1 2 3 4 5 6 7 8 9 10 11 12
[DEFAULT] auth_strategy = keystone [keystone_authtoken] www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = cinder password = PASSWORD
将PASSWORD修改为创建Cinder数据库cinder用户密码。
- 配置my_ip为存储节点上管理网络接口的IP地址。
1 2
[DEFAULT] my_ip = 192.168.100.121
- 配置存储节点cinder存储可用AZ域。
1 2 3
[DEFAULT] storage_availability_zone = <存储可用AZ域名称> default_availability_zone = <存储可用AZ域名称>
- storage_availability_zone和default_availability_zone为“存储可用AZ域名称”。
- “存储可用AZ域名称”为存储节点所在的可用域名称,例如,所有x86存储节点(x86-compute)名称为“az-x86”,所有arm存储节点(arm-compute)名称为“az-arm”。
- 在本[lvm]节中,使用LVM驱动程序,cinder-volumes卷组,iSCSI协议和相应的iSCSI服务配置LVM后端。
1 2 3 4 5
[lvm] volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver volume_group = cinder-volumes target_protocol = iscsi target_helper = lioadm
如果该[lvm]部分不存在,请先进行创建。
- 启用LVM后端。
1 2
[DEFAULT] enabled_backends = lvm
- 配置Image服务API的位置。
1 2
[DEFAULT] glance_api_servers = http://controller:9292
- 配置锁定路径。
1 2
[oslo_concurrency] lock_path = /var/lib/cinder/tmp
- 配置数据库访问。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。
配置Ceph远端存储卷(Option2)
- 安装软件包。
1
yum -y install openstack-cinder targetcli python-keystone
- 编辑配置文件“/etc/cinder/cinder.conf”。
- 打开文件。
1
vi /etc/cinder/cinder.conf
- 按“i”进入编辑模式,完成以下配置:
- 配置数据库访问。
1 2
[database] connection = mysql+pymysql://cinder:PASSWORD@controller/cinder
将PASSWORD修改为创建Cinder数据库中cinder用户的密码。
- 指定使用RabbitMQ作为消息队列的连接信息。
1 2
[DEFAULT] transport_url = rabbit://openstack:PASSWORD@controller
将PASSWORD修改为安装RabbitMQ中OpenStack用户的密码。
- 配置身份服务访问。
1 2 3 4 5 6 7 8 9 10 11 12
[DEFAULT] auth_strategy = keystone [keystone_authtoken] www_authenticate_uri = http://controller:5000 auth_url = http://controller:5000 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = cinder password = PASSWORD
将PASSWORD修改为创建Cinder数据库cinder用户密码。
- 配置my_ip为存储节点上管理网络接口的IP地址。
1 2
[DEFAULT] my_ip = 192.168.100.121
- 配置存储节点cinder存储可用AZ域。
1 2 3
[DEFAULT] storage_availability_zone = <存储可用AZ域名称> default_availability_zone = <存储可用AZ域名称>
- storage_availability_zone和default_availability_zone为 “存储可用AZ域名称”。
- “存储可用AZ域名称”为存储节点所在的可用域名称,例如,所有x86存储节点(x86-compute)名称为“az-x86”,所有arm存储节点(arm-compute)名称为“az-arm”。
- 在本[ceph]节中,配置对接Ceph的StoragePool和所在的AZ域名称。
1 2 3 4 5 6 7 8 9 10 11 12 13
[ceph] volume_driver = cinder.volume.drivers.rbd.RBDDriver volume_backend_name = ceph rbd_pool = <StoragePool名称> rbd_ceph_conf = /etc/ceph/ceph.conf rbd_flatten_volume_from_snapshot = false rbd_max_clone_depth = 5 rbd_store_chunk_size = 4 rados_connect_timeout = -1 glance_api_version = 2 rbd_user = cinder rbd_secret_uuid = <UUID> storage_availability_zone=存储可用AZ域名称
如果该[ceph]部分不存在,请先进行创建。
此处UUID的值为5生成的UUID,本示例中的UUID为:b3d5fee6-839c-482e-b244-668bad7128a9;
<StoragePool名称>为配置Ceph环境章节创建的存储池,x86存储(x86-compute)节点使用x86存储池,本示例中为“volumes-x86”,arm存储(arm-compute)节点使用arm存储池,本示例中为“volumes-arm”。
“存储可用AZ域名称”为存储节点所在的可用AZ域名称,本示例中所有x86存储节点(x86-compute)名称为“az-x86”,所有arm存储节点(arm-compute)名称为“az-arm”。
- 启用Ceph后端。
1 2
[DEFAULT] enabled_backends = ceph
- 配置Image服务API的位置。
1 2
[DEFAULT] glance_api_servers = http://controller:9292
- 配置锁定路径。
1 2
[oslo_concurrency] lock_path = /var/lib/cinder/tmp
- 配置数据库访问。
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开文件。