我在 LVM 上有 LUKS(首先创建 LVM 分区,然后分别加密每个分区,然后本指南在 Arch Wiki 上)。
我使用两个卷组,每个卷组都与一个驱动器隔离。这是因为我有一个 SSD 和一个盘片,我知道以后我会想要更换盘片。
我现在在路上,想更换盘子。
当前布局
以下是我所拥有的:
========================
/dev/sda - small SSD
------------------------
/dev/sda1 /boot unencrypted, GRUB
/dev/sda2 PV, vgssd
------------------------
houses:
LV VG Decrypted to => Mounted to
root vgssd /dev/mapper/vgssdd-root_crypt => /
swap vgssd swap
usrlocal vgssd /dev/mapper/vgssdd-usrlocal_crypt => /usr/local
========================
/dev/sdb - large platter HDD
------------------------
/dev/sdb1 PV, vghdd
------------------------
houses:
LV VG Decrypted to => Mounted to
home vghdd /dev/mapper/vghdd-home_crypt => /home
tmp vghdd /dev/mapper/vghdd-tmp_crypt => /tmp
varlog vghdd /dev/mapper/vghdd-varlog_crypt => /var/log
========================
我尝试过
鉴于墓穴设置在分区内部(并与之隔离),我认为我应该能够简单地做到这一点:
- 通过外部机箱添加新驱动器(列为 /dev/sdd)
将其标记为 LVM 的物理卷
pvcreate /dev/sdd
将其添加到 vghdd 卷组
vgextend vghdd /dev/sdd
将范围从旧驱动器移动到新驱动器
vgmove /dev/sdb1 /dev/sdd
从卷组中删除旧驱动器
vgreduce vghdd /dev/sdb1
一切进展顺利。然后我假设(可能错误地)不需要在 crypttab、GRUB 或 initramfs 中进行任何调整。
因此,我关机,换掉新旧驱动器,然后打开系统,发现一个漂亮的小白色光标在闪烁,而不是 GRUB。
恢复说明:然后我把旧驱动器放回去并能够启动,但原来的分区显然不在那里;我逆转了上述操作,将 PE 从新驱动器移动到旧驱动器,然后就能正常启动了。
Crypt 和 fstab 说明
无论如何,现在我只想知道我还需要做什么才能进行迁移。我找到了很多关于在 LVM 上使用 LUKS 跨磁盘的帮助,但这并不是我真正想要的。
- 我的 crypttab 有 UUID;我没有提前发现,但这不应该阻止 GRUB 加载,因为当 HDD 磁盘存在但为空时它可以加载并启动正常。
- 我的 fstab 指向 /var/mapper/blahs;这些不需要修改,除非我错过了什么。
- GRUB 和/或 initramfs 是否关心 PV GUID 或 LV guids?
问题
- 我需要重建 GRUB 吗?
- 我需要重新运行 initramfs 吗?
- 我还遗漏了什么吗?
- vgmove 之后的步骤的正确顺序是什么?
答案1
以下可能会有所帮助...即使分区大小保持不变,您可能仍需要“调整”加密卷的大小。
cryptsetup --verbose resize cryptroot
这是基于:
http://www.ms.unimelb.edu.au/~trice/linux/tricks/luksresize/
尽管从我读过的内容来看,似乎大多数人建议使用 luks 在物理层面进行加密,然后在此基础上构建 vg 和 lv。