Автомонтирование файловых систем с systemd
Комментарии (8)
19 июня 2017 в 22:38
+1↑
↓
Получается более гибкий (и наверно даже более понятный) вариант autofs.
Спасибо!19 июня 2017 в 23:11
0↑
↓
А «обычные» mount’ы свежие дистрибы уже используют по дефолту?19 июня 2017 в 23:14
0↑
↓
Через генератор из fstab’а — используют точно. Чтобы именно генерировали сами — не видел. Я пришел к тому, что часть разделов пишутся не в fstab, а в
/etc/systemd/system/*.mount
, чтобы не ломать систему по недоступности сети до СХД.19 июня 2017 в 23:17
0↑
↓
В Ubuntu оно не работало у меня некоторое время назад и исправлять никто не спешит: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1617512
19 июня 2017 в 23:31
0↑
↓
Вроде бы, нет. Есть генераторы (специальный фиче-хак для создания динамических юнитов, в частности, для парсинга fstab), но это всё костыли переходного периода.В принципе, за вычетом root’а, остальное можно смело писать. С root’ом всё чуть сложнее — и вопрос взаимодействия системы с содержимым в initrd надо внимательно смотреть, потому что можно случайно с кривым конфигом после мелкого изменения остаться.
19 июня 2017 в 23:12
0↑
↓
Даже просто mount-unit’ы уменьшают количество боли и печали. Например, при использовании разделов на iscsi, которые не нужны при загрузке, но нужны при работе. Если такой раздел прописан в fstab’е, а доступа к target’у нет, то большинство систем ведут себя крайне неприятно, от остановки загрузки (и не запущенного
sshd
) до ухода в emergency/single, что при работой с сервером по ssh крайне неприятно.19 июня 2017 в 23:24
0↑
↓
Просто меня systemd-шные mount-ы тоже боль причинили — внезапно взяли и отмонтировались:systemd[1]: Mounting /data/ssd…
systemd[1]: Mounted /data/ssd.
systemd[1]: Unmounting /data/ssd…
umount[3616]: umount: /data/ssd: not mounted
systemd[1]: data-ssd.mount mount process exited, code=exited status=32
systemd[1]: Unmounted /data/ssd.
systemd[1]: Unit data-ssd.mount entered failed state.19 июня 2017 в 23:32
0↑
↓
Ну, тут systemd ничем помочь не может — надо смотреть почему случилось. systemctl status, или даже dmesg. Возможно, ошибка на блочном уровне, может, даже дисконнект на уровне кабеля. Или баг где-то ниже по стеку в Линуксе.