我遵循了文档here,并创建了基本的Ceph块设备
我还可以使用基本的C#文件操作读取/写入块设备。
但是,当我在Linux终端中使用rm
命令删除文件时,该文件已从已安装的设备中删除,但磁盘仍然被占用(至少这是仪表板插件中显示的内容)。
为什么有人知道原因?
答案 0 :(得分:2)
Ceph块存储(rbd)允许您在ceph之上创建完整的文件系统。但是,这些文件系统不知道它们位于ceph之上并且表现得像往常一样。删除对象时,文件系统将其标记为已删除,而没有实际释放空间给底层数据存储。
您可以通过在块设备上运行fstrim
命令来强制文件系统释放空间。
有关发生的情况的详细说明,请参见这篇文章:https://www.sebastien-han.fr/blog/2015/01/26/ceph-and-krbd-discard/