Здравствуйте!
Исходная проблема заключается в по-прежнему не решенном баге в арче FS#41833 - [lvm2] lvmetad in initrd hangs, blocking further lvm calls (грубо говоря, иногда LVM «виснет» при загрузке и смонтировать разделы не удаётся).
У меня в LVM сидит файлопомойка, что не критично для загрузки системы, однако если в fstab есть то, что невозможно смонтировать, система встаёт раком. Тогда я решил сделать монтирование опциональным через старый добрый rc.local:
$ cat /etc/systemd/system/multi-user.target.wants/rc-local.service
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
#Type=oneshot
ExecStart=/etc/rc.local start
TimeoutSec=0
#StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
$ cat /etc/rc.local
mount /dev/mapper/vgstorage-lvolstorage /home/eugene/.storage/ &> /tmp/rc.local.log &
Теперь иногда (редко, но всё же), ~/.storage после загрузки оказывается несмонтированным, в файле /tmp/rc.local.log висит:
mount: special device /dev/mapper/vgstorage-lvolstorage does not exist
Но по факту, после загрузки системы /dev/mapper/vgstorage-lvolstorage есть. То есть, во время загрузки скрипт vgstorage-lvolstorage не видит, но после загрузки он уже есть и монтируется вручную успешно.
Получается, в сервис-файле rc.local ошибка и он стартует не последним?
P.S. Есть ещё обходной вариант перейти на automount для этой директории, но интересно мнение общества.