在 LUKS 上使用 LVM 时添加驱动器以扩展根文件系统

在 LUKS 上使用 LVM 时添加驱动器以扩展根文件系统

我有一个基于 18.04 ubuntu 的系统,在一个驱动器上的 LUKS 设置上使用它们的 LVM,并且我想添加一个额外的驱动器/dev/sdb来扩展根目录(即 /)。

VG 名称lubuntu-vg、LV 名称root、LV 路径/dev/lubuntu-vg/root

我可以按照下面详细说明的方式执行此操作,但是当我启动时,新加密的驱动器没有安装,并且出现以下错误:

Couldn't find device with uuid 88f32fa1-e533-4b7f-9a3b-f37275766f94.
(snip)
Refusing activation of partial LV lubuntu-vg/root (snip)
/dev/mapper/lubuntu--vg-root does not exist. Dropping to a shell!

上面的 UUID 适用于/dev/mapper/sdb1_crypt(不适用于/dev/sdb1)。我可以启动实时发行版并手动挂载内容,然后通过 cli 访问扩展 /lvm。

为了达到这一点,我做了以下事情:

# Create primary partition n, p, w
fdisk /dev/sdb

cryptsetup -y -v luksFormat /dev/sdb1
cryptsetup luksOpen /dev/sdb1 sdb1_crypt 
pvcreate /dev/mapper/sdb1_crypt
vgextend lubuntu-vg /dev/mapper/sdb1_crypt
lvextend -l +100%FREE /dev/lubuntu-vg/root
resize2fs /dev/lubuntu-vg/root 

到目前为止一切顺利,现在有一个大型加密/使用新驱动器,现在将其设置为使用密钥(我也尝试过不使用密钥同样的问题):

dd if=/dev/urandom of=/root/.keyfile bs=1024 count=4
chmod 0400 /root/.keyfile
cryptsetup luksAddKey /dev/sdb1 /root/.keyfile

获取 UUID 并添加条目到/etc/crypttab

blkid /dev/sdb1
sdb1_crypt UUID=106b6483-443e-44ec-b134-176db8da927f /root/.keyfile luks,discard

这是我不确定的地方,也许出错了?我没有添加任何内容,/etc/fstab因为我已经有了以下内容:

/dev/mapper/lubuntu--vg-root /               ext4    errors=remount-ro 0       1

然后重新启动后,结果就是开始时详述的问题。

提前感谢你的帮助。

相关内容