Ceph分布式存储之查找对象

对象存储(而非块存储):

要把对象存入ceph集群,客户端必须做到:

1、指定对象名
2、指定存储池

Ceph客户端检出最新集群运行图,客户端用CRUSH算法动态地计算出如何把对象映射到归置组、然后计算如何把归置组分配到OSD。要定位对象,只需要对象名和存储池名字即可。例如:

ceph osd map {poolname} {object-name}

练习:定位某个对象
1、先创建一个对象,有rados put 命令加上对象名、一个有数据的测试文件路径、并制定存储池。

echo  {Test-data} > testfile.txt
rados put {object-name} {file-path}  --pool=data
rados put test-object-1  testfile.txt  --pool=data

确认Ceph存储集群存储了此对象:

rados -p data ls
root@u18:~# rados lspools
data
metadata
rbd
kvm
libvirt-pool
template
root@u18:~# echo "Hello World" > testfile.txt
root@u18:~# rados put test-object-1  testfile.txt --pool=data
root@u18:~# rados -p data ls
test-object-1
root@u18:~#

2、定位对象:

ceph  osd  map  {pool-name}  {object-name}
ceph  osd  map  data   test-object-1

Ceph应该输入对象位置,例如:

root@u18:~# ceph osd map data test-object-1
osdmap e862 pool 'data' (0) object 'test-object-1' -> pg 0.74dc35e2 (0.22) -> up ([1,0], p1) acting ([1,0], p1)
root@u18:~# 

rados rm可删除此测试对象,例如:

rados  rm  test-object-1   --pool=data
root@u163:/var/www# rados -p rbd listwatchers myimage.rbd
root@u163:/var/www# rbd info  myimage
rbd image 'myimage':
    size 2000 MB in 500 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.5e948.238e1f29
    format: 1

查看前缀对应的pg:

root@u163:/var/www# ceph osd map rbd rb.0.5e948.238e1f29
osdmap e303 pool ‘rbd’ (2) object ‘rb.0.5e948.238e1f29’ -> pg 2.e65f431a (2.1a) -> up ([1,0], p1) acting ([1,0], p1)

Linux C/C+ +开发(后端/音视频/游戏/嵌入式/高性能网络/存储/基础架构/安全)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值