我对 lvm 很陌生,同时了解了 Mac OS 容器磁盘的工作原理。
我对 Mac OS 容器磁盘语义非常满意 - 我不必考虑要分配多少空间。我只需创建我想要的任何卷,如果我将文件添加到特定卷,空间就会神奇地分配。
我假设 lvm 会是一样的,但是在创建一个vg1
填满磁盘 100% 的卷组并创建一个/dev/vg1/photos
允许使用 100% 卷组的逻辑卷之后,我无法创建第二个磁盘/dev/vg1/videos
,同样有可能将整个物理卷用于其自己的内容(如果我没有在逻辑卷中放置任何东西/dev/vg1/photos
)。
sudo vgcreate vg1 /dev/sdf1
sudo lvcreate -n photos -l 2.73T vg1
sudo lvcreate -l 100%FREE -n photos vg1
mkdir /mnt/photos
sudo mkfs.ext4 /dev/vg1/photos
sudo mount /dev/vg1/photos /mnt/photos
## Error - no unused space in volume group vg1
sudo lvcreate -l 100%FREE -n videos vg1
我说 lvm 的语义在这方面与 Mac OS 卷不同,对吗?在 LVM 中,如果没有明确的独占预分配,两个逻辑卷就无法自动从同一卷组获取空间?
答案1
ZFS 与 Mac OS CoreStorage 卷更接近
OP中所示的存储空间自动池化可以这样实现:
sudo apt install -y zfsutils-linux
sudo zpool create new-pool /dev/sdl11
sudo zpool status
sudo zfs create -o mountpoint=/mnt/audio new-pool/audio
sudo zfs create -o mountpoint=/mnt/books new-pool/books
# zfs mount new-pool/books
zfs list -o name,mountpoint
df
轻量级文件系统创建
在 ZFS 中,存储池内的文件系统操作比传统文件系统内的卷操作更容易;创建或扩展 ZFS 文件系统所需的时间和精力更接近于创建新目录,而不是其他系统中的卷操作。
https://en.wikipedia.org/wiki/ZFS#Lightweight_filesystem_creation
相关阅读
答案2
我想我的理解将会不断发展,但目前我所看到的是:
- Mac OS 使用 LVM 所调用的薄卷和自动扩展(https://www.thegeekdiary.com/how-to-enable-thin-lvm-automatic-extension/)
厚卷始终是完全配置的,这意味着在创建卷时分配所有容量。薄卷始终是精简配置的,这意味着在将数据写入卷时分配容量。
与维基百科所说的相反(https://en.wikipedia.org/wiki/Core_Storage#Notes- 我认为这已经过时了)。
术语
苹果系统 | Linux LVM |
---|---|
物理磁盘 | 物理体积 |
容器 | 卷组 |
体积 | 逻辑卷 |
虽然在 Mac OS 11 中我认为列表中的“容器”已被“卷组”取代Disk Utillity.app
。