当购买液滴时 ,DigitalOcean会调用他们的云虚拟机,它们总是configuration一个大的ext4分区。
我有一个需要LVM分区的应用程序,所以我需要一个创造性的方式来缩小根分区,例如25%,剩下的用于LVM。 我可以做一个新的实例,在那里我可以重新启动所有我想要的。
出于性能的原因,我真的想避免一个循环设备,在ext4的顶部文件中创build一个LVM分区。
题
有人能想出一个创造性的方式来缩小ext4文件系统,在哪里重启很好?
特别是对于数字海洋,您可以将液滴引导至救援图像。
对于从外部内核引导的较早发行版,您可以select自己将其启动到一个急救映像。
对于从墨滴内的内核启动的较新发行版,您可以提交支持故障单以将应急映像装载为ISO。 完成操作后,请更新支持服务单以删除救援图像,然后重新启动。
看看这个答案和各种search,但简短的答案是你所说的是不可能在一个活的文件系统上,除非你可以卸载你想调整的分区。 由于在这种情况下,重新启动救援图像可能不是最好的select。
如果重新启动到救援图像不是一个选项,但重新启动到一个新的图像是,你有一个很好的备份你想要的图像可能会有一个新颖的解决scheme。 似乎可以使用Clonezilla克隆到较小的分区选项,将现有系统克隆到占用较less空间的新实例。 这当然假设有足够的可用空间来将ext4文件系统缩小到较小的分区,但是您可能不会问这个问题是否没有足够的可用空间来缩小分区。
您可以缩小联机根分区,而无需重新启动: 请参阅此答案 。 这个答案写得很好,易于理解。 所以这可以适用于任何types的专用或VPS解决scheme。
TLDR; 这个解决scheme意味着pivot_root到tmpfs所以你可以安全地卸载你的根分区,并摆弄它。 一旦完成,你将pivot_root回到你的新的根分区。
这允许在根文件系统上进行几乎任何操作(移动它,更改文件系统,更改它的物理设备…)。
在这个过程中不需要重新启动 ,这可以绕过无法收缩挂载ext4分区的限制。
我个人使用过这个,在debian系统上也能很好地工作,很less修正。 我很惊讶,不会看到这个深入的解决scheme更多的链接到stackexchange网站中处理相同问题的许多问题。