您的位置:首页 > 运维架构

Openstack对接ceph存储

2017-08-10 00:00 387 查看
在工作上的一些笔记,备注一下:

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