添加新 SSD(LUKS+LVM)后启动缓慢

添加新 SSD(LUKS+LVM)后启动缓慢

总结:在当前的 Ubuntu 安装中添加新的 SSD 后,启动时间从 8 秒增加到 70 秒。


你好,

我的系统在双启动设置中运行 Windows 10 和 Ubuntu 20.04。当我安装这两个系统时,每个操作系统都有一个自己的 SSD,我还在 LVM 层中的 LUKS 容器内安装了 Ubuntu。输出lsblk如下所示:

NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    1 931,5G  0 disk  
├─sda1                  8:1    1     1G  0 part  /boot
└─sda2                  8:2    1 930,5G  0 part  
  └─sda2_crypt        253:0    0 930,5G  0 crypt 
    ├─ubuntu--vg-swap 253:1    0    40G  0 lvm   [SWAP]
    ├─ubuntu--vg-root 253:2    0    40G  0 lvm   /
    └─ubuntu--vg-home 253:4    0 850,5G  0 lvm   /home

通过此设置,输入磁盘加密密钥和登录提示之间的启动时间约为 8 秒。

几天前,我向系统添加了另一个 SSD。我用与旧 SSD 相同的密码加密了新磁盘,然后将新 SSD 添加到旧 SSD 的卷组中,并将新空间添加到主 LV。现在的输出lsblk如下所示:

NAME                  MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                     8:0    1 931,5G  0 disk  
├─sda1                  8:1    1     1G  0 part  /boot
└─sda2                  8:2    1 930,5G  0 part  
  └─sda2_crypt        253:0    0 930,5G  0 crypt 
    ├─ubuntu--vg-swap 253:1    0    40G  0 lvm   [SWAP]
    ├─ubuntu--vg-root 253:2    0    40G  0 lvm   /
    └─ubuntu--vg-home 253:4    0   1,6T  0 lvm   /home
sdb                     8:16   1 931,5G  0 disk  
└─sdb1                  8:17   1 931,5G  0 part  
  └─sdb1_crypt        253:3    0 931,5G  0 crypt 
    └─ubuntu--vg-home 253:4    0   1,6T  0 lvm   /home

我还将新磁盘添加到 crypttab 文件中:

sda2_crypt UUID=4ee8650c-bb07-4223-aab4-9b6327b9c641 none luks,discard
sdb1_crypt UUID=9c7a67f9-32fb-432d-a21f-5b42553911fc none luks,discard

系统正在启动,但输入磁盘加密密钥和登录提示之间的启动时间已增加到约 70 秒。输入磁盘加密密钥后,会打印两条警告消息,并且系统会挂起约 60 秒:

WARNING: Couldn't find device with uuid T8h7bF-ZJGn-rHTL-o0A5-fKtU-b1E9-dqV2TB.
WARNING: VG ubuntu-vg is missing PV T8h7bF-ZJGn-rHTL-o0A5-fKtU-b1E9-dqV2TB (last written to /dev/mapper/sdb1_crypt).

提到的 UUID 引用新 SSD (sdb1_crypt) 上的 LVM 层。

我试图找出谁是导致启动时间变长的原因,但无济于事。我得出结论,GRUB 不应该是这里的问题,因为它能够启动内核并且不执行任何 LUKS/LVM 特定任务。Systemd 负责缓存加密密钥,但日志显示两个磁盘的解密时间仅相差 2 秒:

Jun 08 16:46:47 nyx lvm[1157]:   pvscan[1157] PV /dev/mapper/sda2_crypt online, VG ubuntu-vg incomplete (need 1).
...
Jun 08 16:46:49 nyx lvm[1538]:   pvscan[1538] PV /dev/mapper/sdb1_crypt online, VG ubuntu-vg is complete.

systemd-analyze表明大部分时间都被内核使用了:

Startup finished in 26.113s (firmware) + 3.895s (loader) + 1min 25.304s (kernel) + 7.837s (userspace) = 2min 3.150s 
graphical.target reached after 7.830s in userspace

我不知道内核在等什么,也不知道接下来该往哪个方向走。也许有谁对启动过程有更深的理解,可以给我指明正确的方向?

答案1

我想,经过几天的搜索,我在下面的链接中找到了这个问题的答案。

解决方案

我通过在 /etc/crypttab 中添加 initramfs 标志并使用 keyscript=decrypt_keyctl 而不是密钥文件来解决这个问题,以避免为第二个驱动器输入两次密码:

luksSSD UUID=[UUID1] 无
luks,initramfs,丢弃,keyscript=decrypt_keyctl luksHDD UUID=[UUID2]
无 luks,initramfs,keyscript=decrypt_keyctl

之后需要执行update-initramfs -c -k all,问题就解决了。

https://unix.stackexchange.com/questions/643344/linux-mint-20-with-luks-and-lvm-hangs-on-boot-after-upgrade

相关内容