50GB /dev/sdb 充满了超过 250GB 的文件?

50GB /dev/sdb 充满了超过 250GB 的文件?

我通过 NFS 将 vmware vcenter(26GB) 迁移到 /dev/sdb(50GB)。

[root@centos7~]# df  -hT /dev/sdb
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sdb       ext4   50G   26G   21G  56% /50GB

当我进入 /50GB 并运行时杜-h

[root@centos7 50GB]# du -h
26G     ./vapp
36K     ./.vSphere-HA/FDM-143873ec-3447-417e-abe8-81a9ca63e389-72-e47999a-192.168.0.150
40K     ./.vSphere-HA
16K     ./lost+found
26G    

。正如上面所说,/vapp 使用了 26 GB,但是当我进入并运行时杜-h

[root@centos7 vapp]# ls -lSh
total 26G
-rw-------. 1 root root 100G Jan  2 10:16 vapp_11-flat.vmdk
-rw-------. 1 root root  50G Jan  2 10:16 vapp_12-flat.vmdk
-rw-------. 1 root root  25G Jan  2 10:15 vapp_2-flat.vmdk
-rw-------. 1 root root  25G Jan  2 10:15 vapp_3-flat.vmdk
-rw-------. 1 root root  15G Jan  2 10:15 vapp_6-flat.vmdk
-rw-------. 1 root root  12G Jan  2 10:12 vapp-flat.vmdk
-rw-------. 1 root root  11G Jan  2 10:36 vapp-Snapshot1.vmsn
-rw-------. 1 root root  10G Jan  2 10:15 vapp_10-flat.vmdk
-rw-------. 1 root root  10G Jan  2 10:15 vapp_4-flat.vmdk
-rw-------. 1 root root  10G Jan  2 10:15 vapp_5-flat.vmdk
-rw-------. 1 root root  10G Jan  2 10:15 vapp_7-flat.vmdk
-rw-------. 1 root root  10G Jan  2 10:15 vapp_9-flat.vmdk
-rw-------. 1 root root 5.7G Jan  2 11:19 vapp-000001-delta.vmdk
-rw-------. 1 root root 4.6G Jan  2 11:19 vapp_2-000001-delta.vmdk
-rw-------. 1 root root 1.7G Jan  2 10:15 vapp_1-flat.vmdk
-rw-------. 1 root root 1.3G Jan  2 11:19 vapp_11-000001-delta.vmdk
-rw-------. 1 root root 1.0G Jan  2 10:15 vapp_8-flat.vmdk
-rw-------. 1 root root 385M Jan  2 11:19 vapp_4-000001-delta.vmdk
-rw-------. 1 root root 289M Jan  2 11:19 vapp_5-000001-delta.vmdk
-rw-------. 1 root root 209M Jan  2 11:19 vapp_7-000001-delta.vmdk
-rw-------. 1 root root 145M Jan  2 11:19 vapp_12-000001-delta.vmdk
-rw-------. 1 root root  81M Jan  2 11:19 vapp_6-000001-delta.vmdk
-rw-------. 1 root root  17M Jan  2 11:19 vapp_3-000001-delta.vmdk
-rw-------. 1 root root  17M Jan  2 11:19 vapp_10-000001-delta.vmdk
-rw-------. 1 root root  17M Jan  2 11:19 vapp_9-000001-delta.vmdk
-rw-------. 1 root root  17M Jan  2 11:19 vapp_8-000001-delta.vmdk
-r--------. 1 root root 6.4M Jan  2 11:22 vmx-zdump.000
-rw-------. 1 root root 2.3M Jan  2 11:22 vmmcores.gz
-rw-------. 1 root root 480K Jan  2 10:36 vmware-10.log
-rw-------. 1 root root 468K Jan  2 10:36 vmware-7.log
-rw-------. 1 root root 457K Jan  2 10:36 vmware-9.log
-rw-------. 1 root root 449K Jan  2 10:36 vmware-8.log
-rw-------. 1 root root 447K Jan  2 10:36 vmware-6.log
-rw-r--r--. 1 root root 241K Jan  2 11:19 vmware.log
-rw-r--r--. 1 root root 193K Jan  2 11:22 vmware-11.log
-rw-------. 1 root root 8.5K Jan  2 11:19 vapp.nvram
-rw-------. 1 root root 8.0K Jan  2 10:36 vapp_1-000001-delta.vmdk
-rwxr-xr-x. 1 root root 5.4K Jan  2 11:19 vapp.vmx
-rw-r--r--. 1 root root 2.4K Jan  2 11:03 vapp-0a960b98.hlog
-rw-------. 1 root root 1.3K Jan  2 10:16 vapp.vmsd
-rw-------. 1 root root  552 Jan  2 10:16 vapp_11.vmdk
-rw-------. 1 root root  551 Jan  2 10:16 vapp_12.vmdk
-rw-------. 1 root root  550 Jan  2 10:15 vapp_10.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_2.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_3.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_4.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_5.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_6.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_7.vmdk
-rw-------. 1 root root  549 Jan  2 10:15 vapp_9.vmdk
-rw-------. 1 root root  547 Jan  2 10:15 vapp_1.vmdk
-rw-------. 1 root root  547 Jan  2 10:15 vapp_8.vmdk
-rw-------. 1 root root  547 Jan  2 10:12 vapp.vmdk
-rw-------. 1 root root  296 Jan  2 11:15 vapp_11-000001.vmdk
-rw-------. 1 root root  296 Jan  2 11:15 vapp_12-000001.vmdk
-rw-------. 1 root root  295 Jan  2 11:15 vapp_10-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:03 vapp_2-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:15 vapp_3-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:15 vapp_4-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:15 vapp_5-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:15 vapp_6-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:16 vapp_7-000001.vmdk
-rw-------. 1 root root  293 Jan  2 11:15 vapp_9-000001.vmdk
-rw-------. 1 root root  292 Jan  2 10:36 vapp_1-000001.vmdk
-rw-------. 1 root root  292 Jan  2 11:15 vapp_8-000001.vmdk
-rw-------. 1 root root  289 Jan  2 11:14 vapp-000001.vmdk

我厌倦了对 /50GB/vapp 目录进行 tar gzip,但它仍然占用了大量空间。我很累scp -r vapp 192.168.0.140:/home,但仍然需要很多时间。

问题:

为什么 50GB /dev/sdb 可以存储超过 250GB 的空间?

我怎样才能摆脱这些假存储?

答案1

正如@Kusanalanda 所说,其中一些文件很稀疏。

此外,从单个 vmdk 部署的 vapp 实际上是到单个文件的硬链接,因此 -delta.vmdk 文件存在差异。

最好的策略通常是克隆虚拟机;至于备份文件,您可以使用排除列表(文件、目录),因为其中一些 vmdk 文件本质上是暂时的。例如,一旦 vapp 终止,它们就会被销毁。

另一种选择可能是使用了解 vmware 内部工作原理(如果有)的专用备份软件。

答案2

原因是vmware动态分配虚拟磁盘。该软件以特殊方式创建文件,因此它们使用较小的磁盘空间但ls显示较大的大小。

此时此刻你无法“纠正”这种差异。如果您希望将来避免这种情况,您可以创建固定大小的虚拟磁盘(但您将能够创建更少的虚拟磁盘)。您还可以检查哪些虚拟磁盘正在使用中,如果您知道不需要它们,则删除其余的虚拟磁盘。

相关内容