Openstack平台Cinder后端存储对接Ceph
一、前情提要
!!!具体环境已经在上一篇的Glance中写入,这篇文章是接着来的,如有哪里环境不清楚,请观看前置两篇。(Ceph集群搭建和Glance后端存储)
二、配置Cinder后端存储
创建存储池和用户认证
# storage1节点
cd /root/ceph-cluster
ceph osd pool create volumes 32
ceph auth get-or-create client.cinder mon 'allow r' osd 'allow rwx pool=volumes,allow rwx pool=images,allow rwx pool=vms' -o ceph.client.cinder.keyring
发送认证文件
# storage1节点
scp ceph.client.cinder.keyring 172.129.22.100:/etc/ceph # controller节点
scp ceph.client.cinder.keyring 172.129.22.200:/etc/ceph # compute节点
# 发送key文件(认证加密文件)
ceph auth get-key client.cinder >> client.cinder.key
scp client.cinder.key 172.129.22.100:/etc/ceph
scp client.cinder.key 172.129.22.200:/etc/ceph
更改文件属主
# controller节点
cd /etc/ceph
chown cinder:cinder ceph.client.cinder.keyring
ssh compute
chown cinder:cinder /etc/ceph/ceph.client.cinder.keyring
创建UUID
# compute节点
cd /etc/ceph
uuidgen # 生成一个全局唯一标识符(UUID)
# 复制uuid
# 编写密钥文件
cat >> secret.xml <<EOF
<secret ephemeral='no' private='no'>
<uuid>你的uuid</uuid>
<usage type='ceph'>
<name>client.cinder secret</name>
</usage>
</secret>
EOF
# 定义密钥文件
virsh secret-define --file secret.xml
# 生成一个保密字符串文件
virsh secret-set-value --secret 你的uuid --base64 $(cat client.cinder.key)
# 查看密钥文件
# virsh secret-list
配置Glance文件
# compute节点
vi /etc/cinder/cinder.conf
# 这里在下主要写几个关键配置点
enabled_backends = ceph # 设置后端存储为ceph
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes # 设置存储池
rbd_ceph_conf = /etc/ceph/ceph.conf # 设置ceph.conf的路径
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rbd_user = cinder # 设置用户认证身份
rbd_secret_uuid = 你的uuid
:wq
systemctl restart openstack-cinder-volume # 重启服务
测试验证
# controller节点
source /etc/keystone/admin-openrc.sh
cinder create --name centos-test 5 # 创建一个卷名字为centos-test,大小为5G
# storage1节点
rbd ls volumes # 通过rbd命令直接查看存储池是否有一个卷的id与创建卷id相同
总结
在下原本想将Nova和Cinder写一起的,但悟性有限,请各位见谅,之后会补上Nova的后端存储对接Ceph!!!