ceph的验证机制是cephx,每个用户操作ceph时均需要一个表达身份的Keyring文件。当我们在ceph-deploy 节点上操作ceph命令时,系统隐含的认为我们是管理员,意即在/etc/ceph/目录下有一个 ceph.client.admin.keyring ,对于其他用户来说,若需要通过cephx验证,必须为每个用户创建不同的代表身份的keyring文件,此文件不仅说明了用户名,还标记了用户所具备的权限。
我们在 ceph-deploy 节点上操作,如果 ceph-deploy 节点没有/etc/ceph 的话,我们就安装下 ceph 的软件
# ceph-deploy install ceph-deploy
# cp /root/ceph-deploy/ceph.bootstrap-* ceph.client.admin.keyring /etc/ceph/
这样就可以使用 ceph 的命令了
增加一个名为 cinder 的用户
# ceph auth get-or-create client.cinder mon 'allow r' osd 'allow rw pool=cinder' -o client.cinder.keyring
查看各个创建的用户
# ceph auth list
client.cinder
key: AQBXgDFXGBCmKBAAKCwTzabqG64KQ9mC89o32g==
caps: [mon] allow r
caps: [osd] allow rw pool=cinder
若要以某个用户身份进行操作时,需要将该用户的keyring 文件放到操作主机的/etc/ceph/目录下
例如,我们在另一台linux主机中也安装相应的 ceph 软件,将 client.cinder.keyring 文件复制到/etc/ceph/ ,/etc/hosts和ceph.conf也要和 ceph-deploy 节点一致
此时可以以cinder的身份查看 cinder 存储池的内容
# rbd --id cinder --keyring /etc/ceph/client.cinder.keyring -p cinder list
如果我们不希望这么复杂的指定 client.cinder.keyring 文件,那么我们可以在客户端本机的 ceph.conf 中添加
[client.cinder]
keyring = /etc/ceph/client.cinder.keyring
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论