Openstack对接ceph存储

ぃ、小莉子 提交于 2019-11-30 02:46:48

在工作上的一些笔记,备注一下:


前期工作:
已经部署openstack 集群, 当时操作版本icehouse版本
已经部署ceph的集群, 当时操作的版本ceph-0.94.10,其它版本也可以

 

从ceph集群其中和个节点获取相关配置文件,
openstack的存储服务操作ceph时需要用到:
ceph.client.admin.keyring
ceph.conf

 

对集群进行互信操作

 

在openstack各个节点安装ceph相关的依赖包:
yum -y install ceph

 

将刚才获取到的两个配置文件
ceph.client.admin.keyring
ceph.conf
分配传到各个节点的/etc/ceph目录

创建openstack会用到的存储池, 'volumes', 'images', 'vms'
(只需在其中一台节点执行以下命令即可)
ceph osd pool create images 1024
ceph osd pool create vms 1024
ceph osd pool create volumes 1024

 

设置ceph客户端认证,在其中一个openstack节点执行以下命令:
ceph auth get-or-create client.cinder mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=vms, allow rwx pool=images'
ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'
 

在glance服务节点,执行以下操作:
ceph auth get-or-create client.glance
将输出结果存入/etc/ceph/ceph.client.glance.keyring
在cinder服务节点,执行以下操作:
ceph auth get-or-create client.cinder
将输出结果存入/etc/ceph/ceph.client.cinder.keyring

uuidgen
生成uuid
或者获取ceph集群的uuid

 

在所有节点执行以下操作:
cat > secret.xml <<EOF
<secret ephemeral='no' private='no'>
<uuid>281134a0-0c76-47ba-9166-b0f0b73ea493</uuid>
 <usage type='ceph'>
    <name>client.cinder secret</name>
  </usage>
</secret>
EOF
ceph auth get-or-create client.cinder     #此命令输出的结果会在virsh 设置时用到--base64参数里

virsh secret-define --file secret.xml
virsh secret-set-value --secret 281134a0-0c76-47ba-9166-b0f0b73ea493 --base64 AQD0notZXjToMhAAlBARtxvamLcgtqEssAD6Ow==

 

在glance服务节点设置api配置:
openstack-config --set /etc/glance/glance-api.conf DEFAULT default_store rbd
openstack-config --set /etc/glance/glance-api.conf DEFAULT rbd_store_user glance
openstack-config --set /etc/glance/glance-api.conf DEFAULT rbd_store_pool images.....

 

在cinder服务节点设置配置:
openstack-config --set /etc/cinder/cinder.conf DEFAULT volume_driver cinder.volume.drivers.rbd.RBDDriver
openstack-config --set /etc/cinder/cinder.conf DEFAULT rbd_pool volumes
openstack-config --set /etc/cinder/cinder.conf DEFAULT rbd_ceph_conf /etc/ceph/ceph.conf.....

 

在nova服务节点设置配置:
openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_images_type rbd
openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_images_rbd_pool vms
openstack-config --set /etc/nova/nova.conf DEFAULT libvirt_images_rbd_ceph_conf /etc/ceph/ceph.conf
openstack-config --set /etc/nova/nova.conf DEFAULT rbd_user cinder.......

 

重启openstack服务
至少对接完成
验证是否对接成功
ceph osd lspools  可查看已经创建的池
0 rbd,1 volumes,2 images,3 vms,4 backups

在openstack创建一个云硬盘
rbd ls volumes    可查看已经创建的结果
volume-15d2ce4d-50b7-4b47-ac73-ec0543637f87

或者上传一个镜像
rbd ls images    
ac5c334f-fbc2-4c56-bf48-47912693b692

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!