Что монтирует мой systemd autoount?

Я настроил автомонтирование systemd для sshfs в /etc/fstab примерно следующим образом:

me@server:  /mount/point  fuse.sshfs  noauto,_netdev,x-systemd.automount,x-systemd.idle-timeout=900,default_permissions,allow_other,uid=josh,gid=josh,transform_symlinks  0  0

Это прекрасно работает, за исключением того, что иногда я замечаю, что он смонтирован, хотя недавно я к нему не обращался. Глядя в journalctl, очевидно, есть процесс, называемый pool это заставляет systemd монтировать его так часто:

$ journalctl -u mount-point.automount -n10
Mar 04 22:17:39 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 11546 (pool)
Mar 04 22:53:03 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 27856 (pool)
Mar 05 00:31:36 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 9083 (pool)
Mar 05 01:44:21 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 32232 (pool)
Mar 05 17:32:31 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 10771 (pool)
Mar 05 17:59:01 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 18662 (pool)
Mar 05 20:05:10 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 3259 (pool)
Mar 05 20:36:21 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 16858 (pool)
Mar 05 22:29:33 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 20812 (pool)
Mar 05 23:39:16 hostname systemd[1]: mount-point.automount: Got automount request for /mount/point, triggered by 15976 (pool)

Я искал двоичные файлы под названием pool в моей системе, но я не могу найти ни одного, и, кажется, нет никакого процесса, называемого pool работает в данный момент. Я бы предпочел не тусоваться и смотреть журнал, пока что-то не появится, чтобы попытаться выяснить, что это такое, хотя, думаю, я сделаю это, если придется.

Что заставляет systemd монтировать мой автомонтирование?

0 ответов

Я предполагаю, что ваш автомонтаж находится под /media.

У меня была та же проблема, очень недолговечные процессы запускали мой автоматический монтирование каждые несколько минут. Получение любой информации о них было чрезвычайно сложной задачей.

Для протокола, что я сделал:

  • Сначала запустите оболочку с stdbuf -i0 -oL -eL bash
    (Это запускает оболочку с буферизацией каналов, настроенную для немедленной отправки каждой строки, а не по умолчанию, которая буферизует кучу вывода перед фактической отправкой чего-либо.)
  • В этой оболочке запустите эту ужасную командную строку, которую я действительно должен был отформатировать в правильный сценарий в файле.sh, но не сделал: \
journalctl --unit UNITNAME.automount -f | grep -oP '(?<=^|[^0-9])[0-9]{4,}(?=[^0-9]|$)' | while read pid; do if [ -e /proc/"$pid"/status ] ; then if [ -e proc-capture/"$pid" ] ; then echo "Already captured PID $pid. Ignoring"; else echo "Capturing $pid."; mkdir proc-capture/"$pid"; cp /proc/"$pid"/status proc-capture/"$pid"; fi; else echo "No current status for PID $pid. Skipping"; fi; done

(При необходимости измените имена модулей и выходной каталог, если хотите.)

  • Подождите.

Примечание: для этого вам может потребоваться root. Я всегда добавляю в группу свою учетную запись обычного пользователяadm, который дает доступ для чтения к материалам системного журнала, включая journalctl (в Debian, но я думаю, что то же самое и в Ubuntu), поэтому мне не нужно было sudo или что-то еще, чтобы скрипт работал.

Затем, когда процесс опроса запускается и делает свое дело, сценарий копирует его /proc/<PID>/status в proc-capture/<PID>/(в вашем текущем рабочем каталоге) сразу, до того, как процесс завершится и этот файл состояния перестанет существовать. Этот файл сообщит вам PPID, то есть PID родительского элемента PID, о котором идет речь. В моем случае родителем был systemd, который делал все закулисное волшебство, связанное с автоматическим подключением USB-накопителей под/mediaмомент, когда они подключены и тому подобное. Можно настроить эту подсистему так, чтобы она игнорировала указанные каталоги в/media, но в моем случае просто перемещаю автомонтаж из /media к /mnt решила проблему, поэтому я не стал копать глубже.

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