我一直在评估如何为系统、媒体和其他数据对硬盘进行分区时遇到问题。尽管您可以使用 LVM 更轻松地调整分区大小,但它仍然会消耗时间并强制执行特定的工作流程。我想知道如何在 Linux 上实现像 Mac 上那样的设置:
df -lh
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk1s6 932Gi 10Gi 288Gi 4% 488235 9767489925 0% /
/dev/disk1s1 932Gi 615Gi 288Gi 69% 2330515 9765647645 0% /System/Volumes/Data
/dev/disk1s5 932Gi 5.0Gi 288Gi 2% 5 9767978155 0% /private/var/vm
/dev/disk1s2 932Gi 12Gi 288Gi 5% 222816 9767755344 0% /Volumes/Macintosh HD - Data
因此,如您所见,所有分区共享整个磁盘的大小。用ext4+lvm2可以实现吗?我知道 lvm2 有一些与此相关的设置,您可以设置tune2fs -m
保留块百分比,但我不确定如何设置。我可以以此作为保障,在磁盘快满时优先考虑根分区吗?
答案1
您有两个选择:
Btrfs
评论中已经提到,btrfs 使用子卷共享 btrfs 文件系统上的空间。 Fedora 33 的默认安装现在默认使用 btrfs:
Filesystem Size Used Avail Use% Mounted on
...
/dev/vda2 19G 6.4G 13G 34% /
/dev/vda2 19G 6.4G 13G 34% /home
因此,您有一个分区(在具有单个磁盘的系统上,btrfs 还支持多磁盘卷),其中有两个共享分区空间的子卷home
(安装在/home
)和root
(安装在)。/
有关 btrfs 的更多信息:
LVM 精简配置
不是直接在卷组中创建逻辑卷,而是创建特殊的精简池卷并从中分配精简卷。这些可以创建得更小并且会自动增长,或者您可以创建一个“过度配置”的精简池(=精简lvs的大小大于池)并分配两者/
并/home
使其大小与池相同甚至更大。
当涉及到空间耗尽时,精简配置会出现一些问题,您需要确保使用的空间不超过实际可用空间,因为文件系统不知道池中的空间已被使用(在块层)。
有关精简配置的更多信息: