无法回收 vbox 磁盘空间

无法回收 vbox 磁盘空间

我正在使用 Ubuntu 21.04 中的虚拟盒来创建虚拟机并进行测试。我有一台虚拟机,它使用了大约 70 GB 的数据。这些数据来自额外的磁盘。如下所示:

puneet@puneet-PowerEdge-T30:/mnt/VMs/vms/mx19-102$ pwd
/mnt/VMs/vms/mx19-102
puneet@puneet-PowerEdge-T30:/mnt/VMs/vms/mx19-102$ du -sh *
772K    Logs
69G     mx19-102_1.vdi
8.0K    mx19-102.vbox
8.0K    mx19-102.vbox-prev
9.9G    mx19-102.vdi
808K    Snapshots
puneet@puneet-PowerEdge-T30:/mnt/VMs/vms/mx19-102$

主机系统中的最大空间被 mx19-102_1.vdi 占用,但实际上并未使用。

puneet@mx:~
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    30G  0 disk
├─sda1   8:1    0    28G  0 part /
└─sda2   8:2    0     2G  0 part [SWAP]
sdb      8:16   0 168.8G  0 disk
└─sdb1   8:17   0 168.8G  0 part /media/data
sr0     11:0    1  1024M  0 rom
puneet@mx:~
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            964M     0  964M   0% /dev
tmpfs           200M  2.3M  198M   2% /run
/dev/sda1        28G  7.7G   19G  30% /
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           809M   76K  809M   1% /dev/shm
/dev/sdb1       169G   17M  167G   1% /media/data
cgroup           12K     0   12K   0% /sys/fs/cgroup
tmpfs           200M  4.0K  200M   1% /run/user/118
tmpfs           200M     0  200M   0% /run/user/1000
puneet@mx:~
$

磁盘信息:

Parent UUID:    base
State:          locked read
Type:           normal (base)
Location:       /mnt/VMs/vms/mx19-102/mx19-102_1.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       172785 MBytes
Size on disk:   70236 MBytes

有什么方法可以回收主机系统中的空间?

答案1

缩小 a.vdi非常简单,但需要您有意“将设备填满容量”。基本过程如下:

  1. 卸载所有应用程序并删除不再需要的任何文件
  2. 在要缩小的存储设备上创建一个仅由零组成的巨型文件
  3. 让文件填满整个设备(这实际上不会消耗主机系统上的所有数据)
  4. 删除文件
  5. 关闭虚拟机
  6. 压缩.vdi文件

这听起来工作量很大,但是,经过一两次演练后,如果您愿意的话,您会发现有一种半简单的方法可以将其自动化为两个步骤。

那么让我们开始“长途跋涉”吧:

  1. 在虚拟机上,打开终端(或 SSH)
  2. 假设您已经删除了所有不需要的内容,请创建一个由零组成的大文件:
    sudo dd if=/dev/zero of=/bigzero bs=4096k
    
  3. 让机器耗尽该存储设备的空间,这将导致dd报告错误
  4. 删除文件
    sudo rm -f /bigzero
    
  5. 关闭虚拟机

现在,在主机上执行以下操作:

  1. 打开终端(如果尚未打开)
  2. 使用以下命令导航到目录.vdi
    cd /mnt/VMs/vms/mx19-102
    
    笔记:你不需要需要位于同一目录中,但它确实使得在即将进行的操作后验证缩小的文件大小变得更加容易。
  3. 缩小.vdi
    VBoxManage modifymedium disk mx19-102_1.vdi --compact 
    
    当该工具输出其完成状态时,您将看到进度,如下所示:
    0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
    
  4. 验证结果:
    du -sh *
    772K    Logs
    30G     mx19-102_1.vdi
    8.0K    mx19-102.vbox
    8.0K    mx19-102.vbox-prev
    9.9G    mx19-102.vdi
    808K    Snapshots
    

相当多有用的操作modifymedium如果您需要更改虚拟存储设备的属性,则可以启用此功能。

相关内容