如何添加新的物理卷来扩展现有 LUKS 加密的 lvm(卷组)并保持加密?

如何添加新的物理卷来扩展现有 LUKS 加密的 lvm(卷组)并保持加密?

我想用新的物理卷扩展我的 LUKS 加密的 lvm(卷组)。

在我之前的问题中有人告诉我 - 就我的实际设置而言 - 我需要在将新物理卷添加到现有卷组之前对其进行加密。

我想知道必须遵循哪些步骤才能成功将该物理卷添加到我现有的卷组中。

我的实际堆叠如下所示:

nvme0n1p8 -> luks -> physical volume -> volume group -> lv

lsblk
NAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
├─nvme0n1p8             259:8    0  86,5G  0 part
│ └─nvme0n1p8_crypt     253:0    0  86,5G  0 crypt
│   ├─lvm--crypt-wurzel 253:1    0  30,7G  0 lvm   /
│   ├─lvm--crypt-home   253:2    0    80G  0 lvm   /home

我的 crypttab 文件如下所示:

cat /etc/crypttab
nvme0n1p8_crypt UUID=1697ec4a-b30b-4642-b4f3-6ba94afc40ec none luks,discard

现在我想向该卷组添加一个新的物理卷。

  1. 如何将新的物理卷添加到该卷组而不丢失加密?
  2. 我可能需要对哪个配置文件进行哪些修改?

答案1

您需要在新的物理设备上设置加密:

sudo cryptsetup luksFormat /dev/newdevice

newdevice酌情更换)。

然后打开它:

sudo cryptsetup luksOpen /dev/newdevice newdevice_crypt

您需要添加一个匹配行,/etc/crypttab以便在启动时打开它,并使用适合您的发行版的命令更新您的 initramfs (例如 sudo update-initramfs -c -k allDebian 衍生品)。

获得后newdevice_crypt,您可以在其上创建物理卷:

sudo pvcreate /dev/newdevice_crypt

或者

sudo pvcreate /dev/mapper/newdevice_crypt

并将其添加到您的卷组中:

sudo vgextend lvm /dev/mapper/newdevice_crypt

(替换lvm为卷组的名称)。

您可以共享多个加密设备的密码;看使用单个密码在启动时解锁多个加密磁盘

答案2

根据 Stephen Kitt 的回答,这里是我需要运行的命令的完整列表(使用“lsblk”、“vgdisplay”和“lvdisplay”检查 Logival 卷、卷组和磁盘的名称,然后相应地替换名称):

sudo cryptsetup luksFormat /dev/nvme0n1
sudo cryptsetup luksOpen /dev/nvme0n1 nvme0n1_crypt
sudo pvcreate /dev/mapper/nvme0n1_crypt
sudo vgextend ubuntu-vg /dev/mapper/nvme0n1_crypt
sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
sudo resize2fs /dev/mapper/ubuntu--vg-root

此时编辑 /etc/crypttab 并添加新磁盘(请参阅 使用单个密码在启动时解锁多个加密磁盘对多个磁盘使用相同的密钥) fstab 中的 UUID 是“disks”实用程序中显示的“LUKS”卷的 UUID。然后:

sudo apt install keyutils
sudo update-initramfs -c -k all 

相关内容