ceph集群出现了故障,如何确切知道影响到了哪些文件?

ceph向外提供文件系统,客户端mount到本地使用。如果集群健康状态不正常(比如某些对象丢失),此时如何知道哪些文件可用呢?显示全部

ceph向外提供文件系统,客户端mount到本地使用。如果集群健康状态不正常(比如某些对象丢失),此时如何知道哪些文件可用呢?

收起
参与4

返回Garyy的回答

GaryyGaryy系统工程师某保险

ceph同时提供对象存储、块存储、文件存储三种接口,但本质上其实是对象存储,也就是说一个rbd image实际上包含了多个对象(默认情况下是image_size/4M)。此处以块存储(RBD)为例进行演示,因为三种接口最终存储文件的操作单元都是对象,所以其他接口的方法类似:
前提:在bloc接口下有一个池:pool1,创建另一个volume(rbd image):vol1。
因为这个vol1里其实包含了很多object,我们首先要查找object的位置:
1.查找volume(rbd image)的指纹信息
[root@controller-1 ~]#rbd info pool1/vol1
2.根据指纹找到这个volume的object
rados -p pool1 ls|grep bd85d5ffe883b
3.再根据object查找具体的存储位置
[root@controller-1 ~]# ceph osd map pool1 rbd_data.bd85d5ffe883b.00000000000004a7
进入到如下目录/Ceph/Data/Osd/osd-scsi-35000cca25e48d2e0/current,即可找到最终的存放文件夹5.1f_head

保险 · 2019-11-25
浏览2344

回答者

Garyy
Garyy0410
系统工程师某保险
擅长领域: 云计算存储容器

Garyy 最近回答过的问题

回答状态

  • 发布时间:2019-11-25
  • 关注会员:2 人
  • 回答浏览:2344
  • X社区推广