From: Alexey Shabalin <a.shabalin@gmail.com>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] systemd & проблемы с mount блокируют загрузку
Date: Wed, 6 Aug 2014 20:47:21 +0400
Message-ID: <CAEdvWkT9Gmw8BCS0RiNkJT3_3qPGTLovHuARpiY+5mTnb2ywWA@mail.gmail.com> (raw)
In-Reply-To: <20140805191634.GA22105@mw.mithraen.ru>
5 августа 2014 г., 23:16 пользователь Денис Смирнов
<mithraen@freesource.info> написал:
> У нас сейчас с 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" не будет
> останавливать загрузку.
>
Я уже высказывал своё мнение раньше по поводу невозможности
смонтировать раздел (кстати навряд ли это вызывает "массовое неприятие
systemd у пользователей").
Если у меня, по каким-либо причинам, не смонтируется /var/backup, и я
об этом не узнаю сразу, то это будет означать что все бэкапы улетят в
другой раздел, и сколько времени будет работать сервер до окончания
свободного места на /var спрогнозировать невозможно. Еще большей
проблемой будет смержить эти бэкапы в место, специально
предназначенное для этого.
Для меня лучше, что бы при загрузке сообщили о не возможности что-то
смонтировать, и сразу починить это, чем в непредсказуемом будущем
получить неработающую систему.
--
Alexey Shabalin
next prev parent reply other threads:[~2014-08-06 16:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 19:16 Денис Смирнов
2014-08-06 16:47 ` Alexey Shabalin [this message]
2014-08-06 21:46 ` Денис Смирнов
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAEdvWkT9Gmw8BCS0RiNkJT3_3qPGTLovHuARpiY+5mTnb2ywWA@mail.gmail.com \
--to=a.shabalin@gmail.com \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git