[sisyphus] systemd и /usr на отдельном разделе

Aleksey Avdeev solo на solin.spb.ru
Сб Авг 17 18:17:20 MSK 2013


17.08.2013 14:57, Aleksey Avdeev пишет:
> 02.07.2013 18:01, Alexey Shabalin пишет:
>>
> ...
>> Вышел из отпуска. Проблему воспроизвел.
>> Дело в следующем.
>> initrd за собой удаляет базу udev, и никто её больше не наполняет заного.
>> попробуйте закоментировать "rm -rf $udev_db"
>> в /usr/share/make-initrd/data/lib/initrd/modules/090-stopudev и
>> перегенерить initrd - должно запуститься.
> 
>   Ok, проверю.
> 
>>
>> systemd-udev-trigger.service запускается с фильтром только на
>> добавляемые устройства (--action=add).
>> Поэтому в udev неполная информация об lvm-дисках, и смонтироваться
>> самостоятельно они не могут.

  Отладка показала (добавление --verbose к вызовам /sbin/udevadm в
/lib/systemd/system/systemd-udev-trigger.service), что --action=add
здесь не причём, т. к. обработка lvm томов выполняется
(/sys/devices/virtual/block/dm-1 это том /dev/vgntr/lvntrusr, и
содержащий /usr):

Aug 17 17:06:10 noterab.localdomain udevadm[1301]: /sys/devices/virtual/block/dm-0
Aug 17 17:06:10 noterab.localdomain udevadm[1301]: /sys/devices/virtual/block/dm-1
Aug 17 17:06:10 noterab.localdomain udevadm[1301]: /sys/devices/virtual/block/dm-2
Aug 17 17:06:10 noterab.localdomain udevadm[1301]: /sys/devices/virtual/block/dm-3

  А вот вызова /lib/systemd/system-generators/lvm2-activation-generator
при этом не происходит: Строки содержащие "LVM:" присутствую только
на этапе initrd (цитирую dmesg):

[    4.842407] systemd[1]: /usr appears to be on its own filesytem and is not already mounted. This is not a su
pported setup. Some things will probably break (sometimes even silently) in mysterious ways. Consult http://fre
edesktop.org/wiki/Software/systemd/separate-usr-is-broken for more information.
[    5.032270] LVM: Failed to initialize library context for activation generator.
^^^^^^^^^^^^^^^^^^^
[    5.032414] LVM: Activation generator successfully completed.
^^^^^^^^^^^^^^^^^^^
[    5.229648] systemd[1]: [/lib/systemd/system/systemd-journald.service:22] Failed to parse capability in bounding set, ignoring: CAP_SYSLOG
[    6.068593] systemd[1]: Starting Replay Read-Ahead Data...
...
[    9.873904] input: HID 0566:3002 as /devices/pci0000:00/0000:00:1d.0/usb3/3-2/3-2:1.1/input/input14
[    9.874155] hid-generic 0003:0566:3002.0006: input,hiddev0,hidraw2: USB HID v1.10 Device [HID 0566:3002] on usb-0000:00:1d.0-2/input1

  Здесь вывалился в консоль.

[  341.688587] EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: (null)
[  344.366448] EXT4-fs (dm-3): mounted filesystem with ordered data mode. Opts: (null)
[  347.501076] EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null)

  Ручное монтирование /usr, /var и /home. И старт продолжения загрузки
(systemctl default):

[  389.653887] vboxdrv: Found 2 processor cores.
...
[  417.164734] fuse init (API version 7.20)

  Конец dmesg.


>> Раньше я удалял --action=add из systemd-udev-trigger.service, но была бага
>> https://bugzilla.altlinux.org/show_bug.cgi?id=28468
>> и я вернул обратно.
>>
>> Надо что-то придумывать, как чинить:
>> - копировать базу udev из initrd в систему (legion@ против - обоснование
>> что в initrd и в системе udev может быть сильно разных версий, или
>> реализовывать обновление initrd при обновлении udev)
>> - удалить --action=add из systemd-udev-trigger.service (тогда надо
>> как-то чинить #28468)
>> - нарисовать еще один сервис, запускающийся перед
>> systemd-udev-trigger.service без --action=add

  Эти 2 пункта (про --action=add) работать скорее всего не будут
(см. выше).

>> - ну и совсем кардинально :) - засунуть systemd в initrd(всякие
>> *.service для этого уже есть в апстриме, возможно еще что-то
>> понадобиться - можно посмотреть в dracut), копировать базу udev в
>> систему, обновлять initrd при обновлении systemd.

  Может стоит задать вызов lvm2-activation-generator`а в требования
каких либо service, выполняемых после systemd-udev-trigger.service?

> 
>   Что-то делать надо: Сейчас столкнулся с процессом установки свежих
> Debian`а, Fedora и CentOS. Во всех трёх -- установка на LVM штатная
> операция с нормальной последующей загрузкой. Причём как минимум у Debian
> /usr по умолчанию отдельно (как в Fedora и CentOS посмотрю в понедельник).

-- 

С уважением. Алексей.


----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 901 байтов
Описание: OpenPGP digital signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20130817/a74eda92/attachment-0001.bin>


Подробная информация о списке рассылки Sisyphus