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

Другие вопросы по тегам