VirtualBox 使用 LUKS 进行 root 和收缩

VirtualBox 使用 LUKS 进行 root 和收缩

因此我在 VirtualBox 中安装了 Ubuntu 16.04。使用安装程序,我加密了整个 / 分区。

该磁盘是动态的,最大可达 200GB。根据 ,我使用的不到 20GB df -h,我的 上有 180GB 可用/

过了一段时间,我想像往常一样缩小虚拟机。在恢复中启动,然后运行dd if=/dev/zero of=dump bs=100M; rm dump。因此,之后我的 .vdi 文件占用了驱动器上的 200GB。这是意料之外的,因为这个命令之前并没有真正使我的 .vdis 变大,但这一定是加密的结果。

因此,在关闭虚拟机并检查 / 上的可用空间后,我运行VBoxManage modifyhd --compact myvdi.vdi,它似乎运行良好,但不会缩小文件。

我的猜测是,我现在有加密的零文件,luks 不会因任何原因删除它。

那我该怎么办?

答案1

所以我无法手动缩小 lvm 容器。

但我可以将discard="true"选项添加到 .vbox 文件中,如下所示

<AttachedDevice nonrotational="true" discard="true" type="HardDisk" port="1" device="0">
    <Image uuid="{3836a042-a83e-4000-9a59-e95ad65162ce}"/>
</AttachedDevice>

现在再次启动后,我能够运行fstrim,并且.vdi 文件也缩小了。


事实上,我有一些问题之前使用过这个选项,所以我想手动完成这个。

我强烈建议您备份,因为我删除了 .vdi 文件,无法恢复。此外,我稍后再次禁用了该选项,并在删除备份之前检查了文件系统。


还有更多信息这里

相关内容