问题描述
Cinder服务无法连接到CEPH,导致cinder_volume服务无法启动。
原因分析
Cinder用户对应的ceph用户没有连接volumes池的权限。
解决办法
部分pool对应的ceph用户对应关系如下
pool名称 | ceph用户 |
images | client.images |
ssd | cilent.ssds |
volumes | client.volumes |
backups | client.backups |
给volumes添加权限,登录到一个CEPH节点,切换到/etc/ceph路径下,使用以下命令进行添加,其中-o是导出文件。
ceph auth get-or-create client.volumes mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes' -o ceph.client.volumes.keyring |
如果是多控制节点,需要将对应的ceph.client.<service-name>.keyring复制到对应控制节点的/etc/ceph/路径下。可以用scp直接复制,或者登录到对应的控制节点,切换到/etc/ceph目录下,利用以下命令来导出keyring,如导出volumes的keyring,可用以下命令:
ceph auth get client.volumes –o ceph.client.volumes.keyring |