在我之前的问题中,我被告知 - 关于我的实际设置 - 我需要在将新物理卷添加到我现有的卷组之前对其进行加密。
我想知道我必须遵守哪些步骤才能将该物理卷成功添加到我现有的卷组中。
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
Run Code Online (Sandbox Code Playgroud)
我的 crypttab 文件如下所示:
cat /etc/crypttab
nvme0n1p8_crypt UUID=1697ec4a-b30b-4642-b4f3-6ba94afc40ec none luks,discard
Run Code Online (Sandbox Code Playgroud)
现在我想向该卷组添加一个新的物理卷。
您需要在新的物理设备上设置加密:
sudo cryptsetup luksFormat /dev/newdevice
Run Code Online (Sandbox Code Playgroud)
(newdevice
酌情更换)。
然后打开它:
sudo cryptsetup luksOpen /dev/newdevice newdevice_crypt
Run Code Online (Sandbox Code Playgroud)
您需要添加一个匹配的行,/etc/crypttab
以便在启动时打开它。
拥有后newdevice_crypt
,您可以在其上创建一个物理卷:
sudo pvcreate /dev/newdevice_crypt
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的卷组。
您可以共享多个加密设备的密码;请参阅使用单个密码在启动时解锁多个加密磁盘。
根据 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
Run Code Online (Sandbox Code Playgroud)
此时,编辑 /etc/crypttab 并添加新磁盘(请参阅 使用单个密码在启动时解锁多个加密磁盘,以便对多个磁盘使用相同的密钥) fstab 中的 UUID 是“LUKS”卷的 UUID,如图所示“磁盘”实用程序。然后:
sudo apt install keyutils
sudo update-initramfs -c -k all
Run Code Online (Sandbox Code Playgroud)