ceph-rbd kvm 删除数据后集群空间不释放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ceph-rbd kvm 删除数据后集群空间不释放相关的知识,希望对你有一定的参考价值。

环境描述
ceph版本:luminous 12.2.5
OSD三节点,monitor三节点,同时运行在三台物理服务器;
KVM宿主机运行多台虚拟机,其中一台挂载ceph-rbd块存储;

KVM调用ceph-rbd
1.ceph集群创建存储池,创建映像;
2.ceph集群设定映像大小,属性;
3.ceph集群创建针对此存储池访问账户,指定权限;
4.KVM宿主机上创建虚拟机;
5.编辑虚拟机配置文件,添加网络硬盘块;
6.虚拟机重定义后启动,格式化硬盘块,挂载到系统本地;
参考网址:
http://docs.ceph.com/docs/master/rbd/libvirt/

故障问题
KVM虚拟机挂载硬盘后,读写删除数据正常,但是数据删除后,ceph集群空间未释放;

已知且验证可行的解决方法
1.ceph-rbd在客户端配置时候,mount命令添加参数(-o discard),可以从客户端和ceph集群删除同步;

  1. 在客户端执行fstrim -v mountpoint 命令,触发删除请求;
    参考网址:
    https://blog.csdn.net/wytdahu/ ... 88681

本人测试,jewel版本,以ceph-fs文件存储,rbd命令挂载的虚拟机,fstrim命令可用,mount 命令添加discard参数同样有效;

但是对于新版本luminous 12.2.5的ceph集群,KVM虚拟机,直接编辑配置文件,ceph-rbd 块存储,libvirt 内核挂载,此操作无效,
报错:
技术分享图片

############分割线############
另问题
1.后期虚拟机分配给用户后,管理员一般不会直在虚拟机上执行额外命令,所以 discard参数有一定局限性;
2.对于windows虚拟机以上操作并不适用;

针对ceph-rbd 客户端删除数据,ceph集群及时删除并释放存储空间问题;
是否有其他配置项目或者操作命令可以触发ceph集群释放存储池映像使用空间,后续继续探索!

以上是关于ceph-rbd kvm 删除数据后集群空间不释放的主要内容,如果未能解决你的问题,请参考以下文章

mongodb 删除后为啥不释放空间

VMware虚拟机删除文件,空间不释放

文件删除了空间却不释放,为啥

linux删除文件 空间没有被释放

Linux删除文件之后磁盘空间没有被释放

文件删除后 磁盘空间的容量没有释放出来 怎么回事