在所有存储(x86-compute和arm-compute)节点执行以下操作。块存储可以采用lvm本地卷或者Ceph远端存储,存储节点可以选择其中一种方式配置。
在所有存储节点(x86-compute和arm-compute)执行以下操作。
1 | yum -y install lvm2 device-mapper-persistent-data |
一些发行版默认包含LVM,不需要安装。
1 2 | systemctl enable lvm2-lvmetad.service systemctl start lvm2-lvmetad.service |
1 | pvcreate /dev/sdb
|
此处应该选择一个未被操作系统使用的磁盘分区或磁盘,以避免数据丢失。
1 | vgcreate cinder-volumes /dev/sdb |
1 | vi /etc/lvm/lvm.conf
|
1 2 | devices { filter = [ "a/sda/", "a/sdb/", "r/.*/"] |
filter过滤器阵列中的每个项目开头为“a”或者“r”,用于接受或用于拒绝某个设备,如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的系统盘设备添加到过滤器。同样,如果计算节点在操作系统磁盘上使用LVM,也需要修改这些节点上“/etc/lvm/lvm.conf”文件中的过滤器以包括操作系统磁盘。例如,如果“/dev/sda”设备包含操作系统,则需要将“sda”添加到过滤器。
1 | yum -y install openstack-cinder targetcli python-keystone |
1 | vi /etc/cinder/cinder.conf
|
1 2 | [database] connection = mysql+pymysql://cinder:PASSWORD@controller/cinder |
1 2 | [DEFAULT] transport_url = rabbit://openstack:PASSWORD@controller |
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 |
1 2 | [DEFAULT] my_ip = 192.168.100.121 |
1 2 3 | [DEFAULT] storage_availability_zone = <存储可用AZ域名称> default_availability_zone = <存储可用AZ域名称> |
1 2 3 4 5 | [lvm] volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver volume_group = cinder-volumes target_protocol = iscsi target_helper = lioadm |
如果该[lvm]部分不存在,请先进行创建。
1 2 | [DEFAULT] enabled_backends = lvm |
1 2 | [DEFAULT] glance_api_servers = http://controller:9292 |
1 2 | [oslo_concurrency] lock_path = /var/lib/cinder/tmp |
1 | yum -y install openstack-cinder targetcli python-keystone |
1 | vi /etc/cinder/cinder.conf
|
1 2 | [database] connection = mysql+pymysql://cinder:PASSWORD@controller/cinder |
1 2 | [DEFAULT] transport_url = rabbit://openstack:PASSWORD@controller |
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 |
1 2 | [DEFAULT] my_ip = 192.168.100.121 |
1 2 3 | [DEFAULT] storage_availability_zone = <存储可用AZ域名称> default_availability_zone = <存储可用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”。
1 2 | [DEFAULT] enabled_backends = ceph |
1 2 | [DEFAULT] glance_api_servers = http://controller:9292 |
1 2 | [oslo_concurrency] lock_path = /var/lib/cinder/tmp |