python通过librados库通过底层的rados操作ceph的对象存储和块存储

使用python语言调用原生接口(调用librados库来操作rados)
也就是下图中几种方式中的一种,就是图中的红色部分:

首先来说明一下:这个就相当于在客户端上操作ceph集群的底层对象存储rados,我的代码是在mon节点上执行的,也就是暂时把mon当作客户端来使用。
当然我们也可以另外使用一台主机来作为客户端,这个客户端只要能够连通ceph集群就可以,比如我也可以使用另外一台centos7的主机,只需要 yum -y install ceph即可,然后在/etc/ceph/文件夹下把mon节点/etc/ceph/下的ceph.conf文件和ceph.client.admin.keyring文件复制过去即可完成ceph客户端的配置。

下面是简单python代码示例:

#!/usr/bin/python
#encoding=utf-8
import rados, sys

cluster = rados.Rados(conffile='/etc/ceph/ceph.conf')
#用当前的这个ceph的配置文件去创建一个rados,这里主要是解析ceph.conf中的   集群配置参数。然后将这些参数的值保存在rados中。
cluster.connect()
#这里将会创建一个radosclient的结构,这里会把这个结构主要包含了几个功能模块:    消息管理模块Messager,数据处理模块Objector,finisher线程模块。

print "\n\nI/O Context and Object Operations"

print "================================="

print "\nCreating a context for the 'data' pool"

if not cluster.pool_exists('data'):

        raise RuntimeError('No data pool exists')

ioctx = cluster.open_ioctx('data')
#为一个名字叫做data的存储池创建一个ioctx ,ioctx中会指明radosclient与Objector    模块,同时也会记录data的信息,包括pool的参数等。


<
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值