ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Alexey Shabalin <a.shabalin@gmail.com>
To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org>
Subject: Re: [sisyphus] СУПЕРБАГ ?:: LVM + systemd-230-alt1 ; ещё и slapd не стартует
Date: Thu, 7 Jul 2016 15:19:38 +0300
Message-ID: <CAEdvWkQcBL0pqNLW_B2=43hMWT5L1EpX3vJfimFhpAkpVjdWFw@mail.gmail.com> (raw)
In-Reply-To: <7080599.ZzfDSllV8m@gleb.lls.net.iao.ru>

23 июня 2016 г., 8:50 пользователь Gleb Kulikov <glebus@asd.iao.ru> написал:
> Коллеги, добрый день
>
> Вот даже и не знаю, заводить баг, или это я один такой везучий?
>
> После обновления на systemd-230-alt1 и 4.4.13-std-def-alt1, система напрочь
> потеряла способность подключать при загрузке разделы LVM.

> где
> /usr, /var, /var/log, /mnt/CONTAINERS и т.п. --- разделы LVM поверх md0:
> Загрузиться система не может.
> После логина рутом в режиме обслуживания и выдачи руками команды
> vgchange -a y
> тома нормально активируются,
> после exit --- возобновляется нормальный процесс загрузки и система входит в
> графику без каких-либо замечаний.

Попытаюсь рассказать, что произошло. Забегая вперед, скажу что это
были проблемы апстрима lvm2 и сборки (т.е. мои).

1) под systemd на раннем этапе загрузки запускаются генераторы из
/lib/systemd/system-generators, для lvm - lvm2-activation-generator.
Раньше в этом генераторе был такой код:
if (!(lvm = lvm_init(NULL))) {
т.е. по сути lvm инициировался из этого генератора. Это маскировало
все последующие проблемы.
Теперь этот код убрали, и генератор занимается только тем, чем должен
- генерацией unit-файлов.

2) генератор создаёт unit-файлы только в случае use_lvmetad = 0, иначе
просто завершает работу. (раньше он успевал еще инициировать lvm, но
как я описал в п.1, теперь он этого не делает)
У нас по-умолчанию use_lvmetad = 1, т.е. должен запуститься сервис lvmetad.

3) в нашем rpm определены _runtimedir как %{_var}/run, соответственно
в lvm2-lvmetad.socket попало значение
ListenStream=/var/run/lvmetad.socket
Дальше получился замкнутый круг - для инициализации lvm нужен lvmetad,
для старта lvmetad нужен сокет в /var/run/,  а /var находится на lvm,
который еще не инициирован. systemd построил зависимости, и понял что
сам не может решить эту проблему.
Кстати, если выставить use_lvmetad = 0, то должно было бы заработать.

В принципе, основное решение, это определение в спеке lvm2
%define _runtimedir /run
%define _lockdir /run/lock
Теперь lvmetad ничего не мешает запуститься и все работает как ожидается.

Выводов можно придумать множество. Один из - скорейшее мигрирование
/var/run -> /run

-- 
Alexey Shabalin

      parent reply	other threads:[~2016-07-07 12:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-23  5:50 Gleb Kulikov
2016-06-24  9:50 ` [sisyphus] " Anton V. Boyarshinov
2016-06-24 11:21     ` Anton V. Boyarshinov
2016-06-24 10:49   ` [sisyphus] СУПЕРБАГ ?:: LVM + systemd-230-alt1 ; " Michael Shigorin
2016-06-30  4:47   ` В.А. Илларионов
2016-07-07 12:19 ` Alexey Shabalin [this message]

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='CAEdvWkQcBL0pqNLW_B2=43hMWT5L1EpX3vJfimFhpAkpVjdWFw@mail.gmail.com' \
    --to=a.shabalin@gmail.com \
    --cc=shaba@altlinux.ru \
    --cc=sisyphus@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 Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git