如何使用librbd(Python)连接到Ceph集群

2024-06-10 21:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用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集群正常运行(运行状况良好)。这个错误代码是什么意思?我能做些什么来解决它?在


Tags: inbuild示例connect错误line集群error
1条回答
网友
1楼 · 发布于 2024-06-10 21:24:48

好吧,我找到了解决办法。问题是/etc/ceph/中的ceph客户机密钥ceph.client.admin.keyring只能由sudo用户读取。根据您的情况,您可以:

  • 更新文件权限

  • 以sudo的形式运行流程

  • 或将当前用户添加到sudoers中

我通过更新文件权限来解决这个问题。这允许客户端节点上的所有用户运行ceph命令:

$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring

相关问题 更多 >