我们在 CentOS 7.9 下使用 Cloudmin 来管理使用 LVM 的 Xen 虚拟机。每周备份一次(通过 Cloudmin 的内置备份系统,我认为它只是使用 dd)。上周我注意到一件事:在一个系统上,我删除了 150GB 的数据,但备份仍然有 300GB,好像我没有删除任何东西一样。谁经历过这种情况?
答案1
不幸的是,带有文件系统的块设备往往不会变小。未链接的文件将数据留在空闲块中,即使经过压缩,这些数据仍会占用整个磁盘映像中的空间。
尝试修剪块设备上的可用空间。 fstrim -va
一次,并注意挂载的卷是否修剪或失败。如果成功,请启用每周左右的后台作业,就像fstrim.timer
systemd Linux 上可能存在的那样。
或者,从备份中恢复是仅复制已使用空间的机会。希望留下未使用的块,因为容易压缩零。由于您拥有的是另一个块设备,请查看文件系统感知工具,例如xfs_copy
或者e2image -rap
不复制空块。创建新磁盘(从零开始),关闭系统,然后从备份中恢复。额外奖励,可能计入业务连续性计划中偶尔进行的备份恢复测试。
或者,当占用空间的文件仍然存在时,可以运行各种“安全移除”实用程序,先将其清零,然后将其取消链接。只需将其清零,因为多次在 SSD 上写入数据不利于其磨损。GNU coreutils 可以执行清零和取消链接: shred -v -n 0 --zero --remove=unlink --
尽管为了节省区区 150 GB 空间,所有这些工作都相当繁重。您用于备份的保护存储应该有主磁盘大小的几倍,以便保留所需的备份。安全的做法是让备份大小约为 300 GB。