systemd: разблокировать LUKS зашифрованный рейд mdadm при загрузке
Я настроил RAID, используя это руководство: https://wiki.debian.org/SoftwareRAID при минимальной установке Stretch. После этого я cryptsetup luksFormat
"изд /dev/md0
(без использования LVM).
Проблема в том, что зашифрованный раздел не разблокируется автоматически.
мой /etc/crypttab
выглядит так:
sda2_crypt UUID=ROOTUUID /dev/disk/by-label/USBLABEL:/root.key luks,keyscript=/lib/cryptsetup/scripts/passdev
raid UUID=RAIDUUID /dev/disk/by-label/USBLABEL:/raid.key luks,keyscript=/lib/cryptsetup/scripts/passdev
Это загрузит ключ с USB-накопителя во время загрузки и разблокирует раздел LUKS. Это прекрасно работает для sda2_crypt
(rootfs), но не для рейда.
Я предполагаю, что mdadm не загружен на этом этапе и, следовательно, устройство RAID не существует. Когда машина загружается cryptdisks_start raid
работает просто отлично. Я думаю, что соответствующая часть журналов такова:
/var/log/syslog:Aug 22 15:09:54 nas systemd[1]: Dependency failed for Cryptography Setup for raid.
/var/log/syslog:Aug 22 15:09:54 nas systemd[1]: Dependency failed for dev-mapper-raid.device.
/var/log/syslog:Aug 22 15:09:54 nas systemd[1]: dev-mapper-raid.device: Job dev-mapper-raid.device/start failed with result 'dependency'.
/var/log/syslog:Aug 22 15:09:54 nas systemd[1]: systemd-cryptsetup@raid.service: Job systemd-cryptsetup@raid.service/start failed with result 'dependency'.
/var/log/syslog:Aug 22 15:13:31 nas systemd[1]: Dependency failed for Cryptography Setup for raid.
/var/log/syslog:Aug 22 15:13:31 nas systemd[1]: systemd-cryptsetup@raid.service: Job systemd-cryptsetup@raid.service/start failed with result 'dependency'.
Я пытался заставить cryptsetup.target
ждать systemd-cryptsetup@raid.service
но это не сработало.
Это мой первый раз с systemd, и я мог бы действительно помочь:) Спасибо!
1 ответ
У меня была очень похожая проблема в Arch Linux, и я решил ее, добавив
mdadm_udev
перед
encrypt
а также
filesystems
вход в
mkinitcpio.conf