RADOS块设备中的Ceph- list对象



我的问题很简单:是否有可能列出块设备中的文件?

例如,如果创建一个新池:

ceph osd pool create myPool

在这个池中我添加了一个RADOS块设备:

rbd create myBLock -p myPool——size 1024

在ceph-client上:

sudo rbd map myBlock -p myPool

sudo mkfs。ext4 -m0/dev/rbd/rbd/myblock

sudo mkdir/mnt/ceph-block-device

sudo mount/dev/rbd/rbd/myblock/mnt/ceph-block-device

cd/mnt/ceph-block-device

我把一些文件放到块中

触摸myfile.txt

触摸hello.txt

我如何在osd/mon节点上看到这些文件以及它们存储在哪里?我知道:

ceph osd map -p myPool object1工作完美,但是我怎么能看到池内的完整列表myPool?

问候,

Ghislain

简短的回答:你不能

长话短说:没有"文件"的概念。在RADOS块设备。它被称为"块装置"。原因是——它只保存了一堆连续的数据块。这些块内部的内容与块设备无关。这是你的文件系统驱动程序的工作,将这些数据块表示为一个"文件系统"。你可以浏览一下。在您的情况下"mkfs。ext4 -m0/dev/rbd/rbd/myBlock"在RBD上创建ext4文件系统。只有当你这样做时"mount/dev/rbd/rbd/myblock/mnt/ceph-block-device";指示系统将RBD视为文件系统。去掉它,你的文件系统就仅仅是一个包含字节的块序列了。

它类似于在普通硬盘驱动器上拥有文件系统。找一个新的硬盘,创建一个分区,把文件系统格式化为ext4,写一些文件,把硬盘放到不支持ext4的系统上,然后问自己:"我怎样才能看到这些文件,它们存储在哪里?"答案就是上面的简短回答:"你不能"

相关内容

  • 没有找到相关文章

最新更新