如何在 LVM2 上用 LUKS 替换磁盘 - 无 raid,无 span

如何在 LVM2 上用 LUKS 替换磁盘 - 无 raid,无 span

我在 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?

问题

  1. 我需要重建 GRUB 吗?
  2. 我需要重新运行 initramfs 吗?
  3. 我还遗漏了什么吗?
  4. vgmove 之后的步骤的正确顺序是什么?

答案1

以下可能会有所帮助...即使分区大小保持不变,您可能仍需要“调整”加密卷的大小。

      cryptsetup --verbose resize cryptroot

这是基于:

http://www.ms.unimelb.edu.au/~trice/linux/tricks/luksresize/

尽管从我读过的内容来看,似乎大多数人建议使用 luks 在物理层面进行加密,然后在此基础上构建 vg 和 lv。

相关内容