我正在尝试使用librbd和Python连接到我的Ceph集群。如果我在Ceph文档中尝试this示例,则会收到错误消息“连接到群集时出错:错误代码95”。请参阅下面的代码示例。
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import rados
>>> cluster = rados.Rados(conffile='/etc/ceph/ceph.conf')
>>> cluster.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "rados.pyx", line 785, in rados.Rados.connect (/build/ceph-10.2.6/src/build/rados.c:10073)
rados.Error: error connecting to the cluster: error code 95
Ceph集群正常运行(HEALTH_OK)。这个错误代码意味着什么,我该怎么做才能解决它?
答案 0 :(得分:1)
好的,我找到了解决方案。问题是ceph.client.admin.keyring
中的ceph客户端密钥/etc/ceph/
只能由sudo用户读取。根据您的具体情况,您可以:
更新文件权限
以sudo
或将当前用户添加到sudoers
我通过更新文件权限解决了这个问题。这允许客户机节点上的所有用户运行ceph命令:
$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring