Я использую сервер Ubuntu 16.04 LTS на виртуальной машине с одним незашифрованным жестким диском для /
и дополнительный зашифрованный LUKS для некоторых произвольных данных. Зашифрованный диск открывается и монтируется с паролем вручную в оболочке после правильной загрузки системы и входа в систему. Это работает, как ожидалось.
Проблема в том, что systemd пытается что-то сделать с этим зашифрованным диском уже во время загрузки, терпит неудачу, запускает таймауты и после этого перемещается вперед, что требует более минуты времени загрузки.
В предыдущих версиях Ubuntu он автоматически запрашивал ключ для разблокировки диска, но это уже не работало должным образом для UB 14.04 и не работает сейчас. systemd не печатает текст, в котором я должен ввести пароль, нет подсказки или чего-либо еще. Он просто распознает ошибки в том, что хочет сделать, и через некоторое время продолжает работу.
Я не понимаю, в чем на самом деле проблема и почему systemd вообще хочет что-то делать, даже если он не запрашивает пароль или что-то подобное. Было бы здорово, если бы кто-нибудь мог направить меня в правильном направлении: либо как заставить systemd правильно запрашивать пароль, либо заставить его вообще не делать то, что он делает с моим устройством. Не уверен, что предпочитаю сейчас. ;-)
Ошибка systemd выводит:
May 1 01:28:23 example.org systemd[1]: dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device: Job dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device/start timed out.
May 1 01:28:23 example.org systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device.
May 1 01:28:23 example.org systemd[1]: Dependency failed for Cryptography Setup for mnt_luks_crypt.
May 1 01:28:23 example.org systemd[1]: Dependency failed for dev-mapper-mnt_luks_crypt.device.
May 1 01:28:23 example.org systemd[1]: dev-mapper-mnt_luks_crypt.device: Job dev-mapper-mnt_luks_crypt.device/start failed with result 'dependency'.
May 1 01:28:23 example.org systemd[1]: systemd-cryptsetup@mnt_luks_crypt.service: Job systemd-cryptsetup@mnt_luks_crypt.service/start failed with result 'dependency'.
May 1 01:28:23 example.org systemd[1]: dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device: Job dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device/start failed with result 'timeout'.
Это что-то говорит о неудачных зависимостях, но я нигде не вижу, что это такое. Конечно, я не настраивал сам systemd для работы с этим устройством. Единственное, что я сделал, это добавил запись в /etc/fstab
вроде следующего:
/dev/mapper/mnt_luks_crypt /mnt/luks ext4 errors=remount-ro,noauto 0 2
Я знаю, что systemd их обрабатывает, но из того, что я прочитал в документы это должно чтить noauto
также. Так что-то не так с моими вариантами?
Еще не пробовал, но думаю, что могу обойти долгое время ожидания, используя следующие два варианта:
x-systemd.device-timeout=
x-systemd.mount-timeout=
Или есть способ отключить automount
для этой строки в целом? x-systemd.automount
кажется только флагом, ничего относительно false
.
Спасибо!
Теперь я уверен, что noauto
в /etc/fstab
не был должным образом / полностью соблюден, потому что он не был указан для /etc/crypttab
также:
https://www.freedesktop.org/software/systemd/man/crypttab.html#noauto
После добавления его туда же ошибка немного изменилась:
Aug 22 22:27:07 example.org systemd[1]: dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device: Job dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device/start timed out.
Aug 22 22:27:07 example.org systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device.
Aug 22 22:27:07 example.org systemd[1]: Dependency failed for Cryptography Setup for mnt_luks_crypt.
Aug 22 22:27:07 example.org systemd[1]: systemd-cryptsetup@mnt_luks_crypt.service: Job systemd-cryptsetup@mnt_luks_crypt.service/start failed with result 'dependency'.
Aug 22 22:27:07 example.org systemd[1]: dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device: Job dev-disk-by\x2duuid-7d39d2ed\x2df91f\x2d456e\x2daa31\x2d851cfe48de1b.device/start failed with result 'timeout'.
Строки, содержащие dev-mapper-mnt_luks_crypt.device
ушли сейчас. Но что-то все еще происходит и происходит сбой, которого я не понимаю, и systemd не хватает подробностей для регистрации.
Для меня это была ошибочная строка в fstab
. Неправильная строка была совершенно не связана с crypttab или зашифрованным томом, что еще больше сбивало с толку.
Попробуйте отменить все, что вы изменили, или закомментировать любую добавленную строку. Затем перезагрузитесь и вернитесь к редактированию fstab; перемонтируйте вручную, чтобы убедиться, что с вашими изменениями все в порядке.