我使用 Arch Linux 内核4.18.12-arch1-1-ARCH
(2018 年 11 月)。
我使用 SATA 托盘(适用于 Thinkpad T400),其中装有旧笔记本电脑的硬盘驱动器。我想决定组合内容并扩展逻辑卷rootvol
和lvhome
/或保持当前设置(见下文)。我只使用ext4
文件系统,两个卷都包含数据。虽然这个问题似乎已经有了答案这里,我不知道如何防止数据丢失。
因此,目前我从 luks 加密的 SSD 启动,并且有一些符号链接指向$HOME
延迟安装的硬盘驱动器上的目录以扩展存储,这允许我$HOME
在硬盘驱动器上使用旧的。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT UUID
sda 8:0 0 223.6G 0 disk
└─sda1 8:1 0 223.6G 0 part 3d17c5b4-a603-4600-9f36-c598a7da783e
└─root 254:0 0 223.6G 0 crypt PRGLfW-Q18M-pPu8-nr6a-tloV-SS4W-kK1ROX
├─matrix-swapvol 254:1 0 2G 0 lvm [SWAP] 38e862ef-e919-4388-810f-63ce187b342c
└─matrix-rootvol 254:2 0 221.6G 0 lvm / c71a8292-c678-4a53-90da-3e4bf78cedbb
sdb 8:16 0 232.9G 0 disk
├─sdb1 8:17 0 512M 0 part 14c635fb-6ee7-45c0-aefd-d3d7440116c0
└─sdb2 8:18 0 232.4G 0 part c36535d9-4098-4939-9ebe-6a2be950f3ea
└─caddy 254:3 0 232.4G 0 crypt kTkSk4-oemR-1fJi-4brz-OXmW-DEZk-rqF2pN
├─vgarch-lvswap 254:4 0 4G 0 lvm a1932471-209e-4d47-85dc-c4ea1ce37de8
├─vgarch-lvroot 254:5 0 15G 0 lvm 67d37f85-c2c0-40e7-88e9-afd4a6c1c561
└─vgarch-lvhome 254:6 0 211.2G 0 lvm dd89d271-776a-426a-826d-9f4d7056fc6a
可以看出,无论出于什么原因,我决定在 luks 上使用 lvm 两次。请注意,SSD 没有/boot
分区:它是在 libreboot ROM 映像的帮助下解密的。在启动过程中,crypttab
for/dev/sdb2
的 UUID 中的条目使用/
.然后,我使用 systemd 的自动挂载服务在需要时挂载或卸载它:
# /etc/fstab
# /dev/mapper/vgarch-lvhome
UUID=dd89d271-776a-426a-826d-9f4d7056fc6a /mnt/caddy ext4 rw,noatime,data=ordered,noauto,nofail,x-systemd.automount,x-systemd.device-timeout=20,x-systemd.idle-timeout=2min 0 0
我递归地更改了lvhome
.因为我不需要,lvroot
所以lvswap
我将把它们与包含 /boot 的 /dev/sdb1 一起删除。
那么如何将这些结合起来呢?这样做可取吗? (因为SSD和HDD的用途不同)建议先将内容复制到另一个文件系统,但这是否违背了lvm的目的?我认为扩大或缩小文件系统会很容易,但我想我想象的是 zfs 世界的功能。
答案1
LVM 提供逻辑卷,即逻辑块设备,并且可以轻松地对这些块设备进行增长、收缩、重定位、快照等。然后,您可以以任何您喜欢的方式使用这些块设备...它可以是文件系统,也可以是其他东西,例如具有自己的分区表和所有内容的虚拟机的虚拟硬盘。
LVM 在文件系统级别不执行任何操作。因此,由文件系统来支持处理这些增长或缩小的块设备,或者由虚拟机来调整其分区表的大小。
大多数文件系统支持增长(但有时不在线,或者不超过一定限制),但其中一些不支持收缩。因此,尽管 LVM 毫不犹豫地缩小块设备,但您必须首先缩小文件系统,而对于某些文件系统,这是不可能的。
通常不支持合并两个单独文件系统的内容。
所以,是的,在某些情况下,您必须以老式方式复制文件。然后放弃/删除这些文件所在的 LV,并使用释放的空间来扩展 LV 并扩展您将文件复制到的文件系统。
那么如何将这些结合起来呢?这样做可取吗? (因为SSD和HDD的用途不同)
我不会创建一半由 SSD 一半由 HDD 支持的块设备。我喜欢把它们分开。
在其他一些情况下这可能是有意义的,例如,您可以执行 SSD-HDD-RAID1,其中 HDD 设置为以写入为主,这意味着所有读取通常都由 SSD 提供,因为它速度更快。然而,随着 SSD 价格的下降,这种设置不再常见,因为您可以只使用两个 SSD 来实现常规 RAID1。