systemd в LXC без конца пытается размонтировать pam_mount home
Я использую следующее $HOME/.pam_mount.conf.xml
смонтировать контейнерную файловую систему LXC при входе через SSH:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
See pam_mount.conf(5) for a description.
-->
<pam_mount>
<!-- debug should come before everything else,
since this file is still processed in a single pass
from top-to-bottom -->
<debug enable="0" />
<!-- Volume definitions -->
<volume
user="user" path="/dev/sda2" mountpoint="/var/lib/lxc/container"
fstype="crypt" options="exec,fsck" />
<volume
user="user" mountpoint="/home/user.orig"
path="/home/user" options="nosuid,nodev,bind" />
<volume
user="user" mountpoint="~"
path="/var/lib/lxc/container/rootfs/home/user"
options="nosuid,nodev,bind" />
<!-- pam_mount parameters: General tunables -->
</pam_mount>
Затем я запускаю контейнер LXC после входа в систему. Поскольку обновление до Ubuntu Vivid, контейнер /var/log/syslog
залито со следующей последовательностью журнала:
Jun 1 21:09:43 container systemd[1]: Unit home-user.mount is bound to inactive unit dev-mapper-_dev_sda2.device. Stopping, too.
Jun 1 21:09:43 container systemd[1]: Unmounting /home/user...
Jun 1 21:09:44 container umount[5799]: umount: /home/user: target is busy
Jun 1 21:09:44 container umount[5799]: (In some cases useful info about processes that
Jun 1 21:09:44 container umount[5799]: use the device is found by lsof(8) or fuser(1).)
Jun 1 21:09:44 container systemd[1]: home-user.mount mount process exited, code=exited status=32
Jun 1 21:09:44 container systemd[1]: Failed unmounting /home/user.
Как я могу решить это? Можно ли как-то сказать systemd контейнера не управлять этим монтированием?
1 ответ
Это известная проблема с systemd. Если устройство вызывается в initramfs, тогда оно получает SYSTEMD_STATUS=0 и всегда рассматривается как неактивное устройство. У меня та же проблема с пользовательским initramfs, который не имеет встроенного systemd. Я пытался найти какой-то способ онлайн, чтобы udev и systemd знали, что устройство действительно запущено и меняет свой статус, но оно кажется тупиковым.
Многие из постов, которые я видел от разработчиков, также обескураживают, поскольку они не видят в этом проблемы.