MacOS 类似于 Linux 上的惰性配置文件系统

MacOS 类似于 Linux 上的惰性配置文件系统

我一直在评估如何为系统、媒体和其他数据对硬盘进行分区时遇到问题。尽管您可以使用 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使其大小与池相同甚至更大。

当涉及到空间耗尽时,精简配置会出现一些问题,您需要确保使用的空间不超过实际可用空间,因为文件系统不知道池中的空间已被使用(在块层)。

有关精简配置的更多信息:

相关内容