我想用新的物理卷扩展我的 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
您需要在新的物理设备上设置加密:
sudo cryptsetup luksFormat /dev/newdevice
(newdevice
酌情更换)。
然后打开它:
sudo cryptsetup luksOpen /dev/newdevice newdevice_crypt
您需要添加一个匹配行,/etc/crypttab
以便在启动时打开它,并使用适合您的发行版的命令更新您的 initramfs (例如 sudo update-initramfs -c -k all
Debian 衍生品)。
获得后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