Openstack如何对接ceph存储
更新:HHH   时间:2023-1-7


这篇文章主要介绍了Openstack如何对接ceph存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。


前期工作:
已经部署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

感谢你能够认真阅读完这篇文章,希望小编分享的“Openstack如何对接ceph存储”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!

返回云计算教程...