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 знали, что устройство действительно запущено и меняет свой статус, но оно кажется тупиковым.

Многие из постов, которые я видел от разработчиков, также обескураживают, поскольку они не видят в этом проблемы.

Другие вопросы по тегам