Вопрос или проблема
Я использую полное шифрование диска с использованием LVM. Он выглядит так в lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465,8G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 500M 0 part /boot
└─sda3 8:3 0 465,1G 0 part
└─luks-3f530000-b2c3-4ba3-9e85-1a96494cc25d 253:0 0 465,1G 0 crypt
├─fedora_martin--friese-root 253:1 0 50G 0 lvm /
├─fedora_martin--friese-swap 253:2 0 7,8G 0 lvm [SWAP]
└─fedora_martin--friese-home 253:3 0 407,3G 0 lvm /home
Такую же настройку я использовал с Ubuntu в нескольких версиях, не относящихся к LTE. При первой установке всё работало нормально как на Ubuntu (скажем, 14.10), так и сейчас на Fedora 22. Когда я обновил Ubuntu, у меня иногда возникали проблемы (скажем, около 15.04). На Fedora 22 не было проблем до обновления до Fedora 23. Теперь у меня ошибки A stop job is running
.
Всего несколько ошибок, которые циклически повторяются (исключая то, что время увеличивается):
- (1 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / 1 мин 30 с)
- (2 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / 1 мин 30 с)
- (3 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / 1 мин 30 с)
- (4 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / 1 мин 30 с)
- (5 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / 1 мин 30 с)
- Их больше. Я не успел сделать фото всех из них. Но по схеме предполагаю, что номера 6 и 7 такие же.
- (8 из 8) Задача остановки выполняется для LVM PV NVB… на /dev/dm-0 (20 с / без ограничения)
Последняя ошибка не имеет временного ограничения, что интересно. После истечения времени она выводит еще несколько сообщений и оставляет меня с следующим:
http://chaos.stw-bonn.de/users/mu/uploads/2015-11-27/LVM-Fehler-7.jpg
Из последней строки видно, что он не может должным образом размонтировать и luksClose
зашифрованные тома.
Моя настройка – это просто Awesome WM (и так же было на Fedora 22). Обычно я выхожу из Awesome WM, а затем нажимаю кнопку выключения в SDDM, дисплейном менеджере. Таким образом, мне не нужно вводить systemctl poweroff
, и я надеюсь, что все мои пользовательские программы закрыты до начала завершения работы.
Что я могу сделать, чтобы найти причину, блокирующую корректное завершение работы LVM крипто-устройств?
Обновление 2016-01-05
Я загрузил лог с закрытия системы. В конечном итоге говорится, что устройство не удалось закрыть, так как оно было занято, но я не вижу, почему оно было занято. В чем причина этого?
Похоже, это связано с https://bugzilla.redhat.com/show_bug.cgi?id=1299178. Если я правильно прочитал, это связано с тем, что настройка LVM поверх зашифрованного устройства не очень хорошо поддерживается systemd!? Это меня удивляет, потому что, похоже, это очевидная настройка. Зашифруйте большой раздел, затем разделите его на столько логических разделов, сколько нужно, проще, чем наоборот…
Ответ или решение
Судя по вашему описанию, проблема с "A stop job is running for LVM" при завершении работы системы на Fedora 23 может быть связана с тем, что система не может корректно закрыть зашифрованный том LVM. Это часто возникает, когда активные процессы или монтированные файловые системы препятствуют завершению работы.
Вот несколько шагов, которые могут помочь диагностировать и решить проблему:
-
Проверка активных процессов:
- Перед завершением работы попробуйте воспользоваться командой
lsof
иfuser
, чтобы определить, какие процессы могут использовать тома LVM. Выполните в терминале:lsof | grep /dev/mapper
- Это даст вам список процессов, которые могут блокировать закрытие томов. Закройте их перед завершением работы системы.
- Перед завершением работы попробуйте воспользоваться командой
-
Проверка журналов системы:
- Проанализируйте журналы системы на наличие ошибок, связанных с LVM или шифрованием. Используйте команду:
journalctl -b -1
- Это покажет журналы разового входа перед последней перезагрузкой. Обратите внимание на сообщения об ошибках, которые могут указать на причины проблемы.
- Проанализируйте журналы системы на наличие ошибок, связанных с LVM или шифрованием. Используйте команду:
-
Конфигурация systemd:
- Убедитесь, что у вас есть правильные параметры в конфигурации systemd для управления жизненным циклом LVM. Проверьте, есть ли скучные зависимости или некорректные таймауты. Попробуйте увеличить таймаут (например, до 90 секунд):
[Unit] Description=something using LVM TimeoutStopSec=90s
- Убедитесь, что у вас есть правильные параметры в конфигурации systemd для управления жизненным циклом LVM. Проверьте, есть ли скучные зависимости или некорректные таймауты. Попробуйте увеличить таймаут (например, до 90 секунд):
-
Настройка LVM:
- Убедитесь, что ваша файловая система правильно настроена и нет ошибок на томах. Используйте команду
fsck
, чтобы проверить целостность файловых систем на LVM:fsck /dev/mapper/fedora_martin--friese-root fsck /dev/mapper/fedora_martin--friese-home
- Убедитесь, что ваша файловая система правильно настроена и нет ошибок на томах. Используйте команду
-
Обновление ПО:
- Убедитесь, что у вас установлены последние обновления Fedora. Некоторые проблемы могут быть устранены с помощью обновлений, которые исправляют известные ошибки в управлении LVM и шифрованием.
-
Изменения в конфигурации:
- Если вы используете специфические конфигурации для управления LVM, рассмотрите возможность возвращения к стандартным настройкам или настройки их таким образом, чтобы обеспечить совместимость с systemd.
Если вышеуказанные шаги не решают вашу проблему, возможно, стоит рассмотреть возможность использования альтернативного метода шифрования или структуры виртуальных машин, так как это может изменить способ обработки LVM systemd. В качестве дополнительного шага, поддержка сообщества или отправка отчета об ошибках может также помочь выявить и устранить эту проблему.