[devel] systemd & проблемы с mount блокируют загрузку
Денис Смирнов
mithraen на freesource.info
Вт Авг 5 23:16:34 MSK 2014
У нас сейчас с systemd есть проблема. Одна из тех, что вызывает массовое
неприятие systemd у пользователей.
Суть проблемы: при невозможности смонтировать любой из разделов
упомянутый в /etc/fstab система останавливает загрузку, и далее уже
требуются специальные знания для восстановления работоспособности системы.
Причем проблема одинаково воспроизводится при невозможности смонтировать,
к примеру /usr и какой-нибудь /home/user/films или /media/films.
Предлагаю следующее решение и прошу комментариев.
Зависимости на смонтированные FS
================================
Сейчас монтирование *всех* разделов упомянутых в /etc/fstab происходит до
собственно запуска большинства сервисов -- ибо они имеют зависимость на
basic.target, который зависит от local-fs.target, которая зависит от
монтирования всех разделов из /etc/fstab.
В systemd есть встроенный метод делать зависимости конкретных сервисов на
смонтированные FS: RequiresMountsFor.
Для сервисов, которые имеют эту директиву в unit-файле зависимость на
local-fs.target не требуется. Однако прописывать ее корректно всем
мантейнерам было, есть и будет лень и некогда.
Решения:
1. Нам никто не мешает сгенерировать её автоматически, еще на этапе сборки
rpm-пакета: мы можем автоматически добавить в нее все каталоги,
присутствующие в собираемом пакете.
Насколько я понял, для этого нужно просто создать соответствующий
/usr/lib/rpm/fixup-(something)?
2. Для SYSV скриптов предлагаю оставить то поведение, которое было раньше
(система ругается, но пытается загрузиться). Соответственно в генераторе
systemd сервисов для sysv-скриптов:
- зависимости с local-fs.target на соответствующие mounts вместо
'requires' делаем 'wants'.
- добавляем в After local-fs.target
После чего убираем local-fs.target из basic.target вообще.
Итог:
- для SYSV скриптов ничего не изменится по сравнению с "до systemd"
временем
- systemd сервисы будут запускаться только после монтирования необходимых
им для работы каталогов
Соответственно недоступность очередного "/media/films" не будет
останавливать загрузку.
--
С уважением, Денис
http://mithraen.ru/
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 181 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20140805/a8d0b244/attachment-0001.bin>
Подробная информация о списке рассылки Devel