zfs legacy монтируется на Ubuntu 18.04 - PullRequest
0 голосов
/ 30 апреля 2020

Я использую zfs в общей системе c Ubuntu 18.04. Все отлично работает при создании и монтировании файловых систем с использованием обычных точек монтирования.

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

Если Я установил свое прежнее монтирование как noauto, а затем вручную монтировал после запуска, все работает нормально.

Но когда я удаляю noauto, я не могу автоматически смонтировать при загрузке. Очевидно, в чем проблема - во время запуска попытка монтировать диск происходит до загрузки модулей ZFS:

$ systemctl status home-vagrant.mount
● home-vagrant.mount - /home/vagrant
   Loaded: loaded (/etc/fstab; generated)
   Active: failed (Result: exit-code) since Thu 2020-04-30 11:41:07 PDT; 24s ago
    Where: /home/vagrant
     What: vagrant
     Docs: man:fstab(5)
           man:systemd-fstab-generator(8)
  Process: 464 ExecMount=/bin/mount vagrant /home/vagrant -t zfs (code=exited, status=2)

Apr 30 11:41:07 ubuntu mount[464]: The ZFS modules are not loaded.
Apr 30 11:41:07 ubuntu mount[464]: Try running '/sbin/modprobe zfs' as root to load them.
Apr 30 11:41:07 ubuntu systemd[1]: home-vagrant.mount: Mount process exited, code=exited status=2
Apr 30 11:41:07 ubuntu systemd[1]: home-vagrant.mount: Failed with result 'exit-code'.
Apr 30 11:41:07 ubuntu systemd[1]: Failed to mount /home/vagrant.

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

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

То, что мало информации распространяется вокруг, кажется, в основном связано с использованием zsh для файловой системы root, а во многих случаях это намного сложнее.

Часть Случай использования может прояснить, почему я хочу устаревшие монтирования - у меня есть монтируемые связки, которые монтируются в файловой системе ZFS. Поэтому обходной путь - использовать ссылки вместо монтирования - и если я не смогу решить эту проблему, то именно это я и сделаю.

Но, похоже, это должно быть выполнимо!

1 Ответ

0 голосов
/ 30 апреля 2020

Один из возможных способов - загрузить модули ядра zfs в ваш initrd. Я не уверен насчет Ubuntu, но в CentOS / Fedora вы можете добавить скрипт в / etc / sysconfig / modules, который выполняет действительно на ранней стадии, как только монтируется rootfs. Вы можете посмотреть, есть ли аналог в Ubuntu.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...