Как смонтировать zfs-fuse на более раннем этапе загрузки, чтобы можно было выполнить rsyslog в Ubuntu 12.04?

Как смонтировать zfs-fuse на более раннем этапе загрузки, чтобы можно было выполнить rsyslog в Ubuntu 12.04?

Я пытаюсь использовать zfs-fuse в качестве драйвера файловой системы для раздела чтения/записи, который включает системное ведение журнала в дистрибутиве Ubuntu 12.04. Я успешно перенаправил туда rsyslog, изменив соответствующие файлы конфигурации. Однако при загрузке rsyslog запускается задолго до монтирования диска zfs-fuse, поэтому он просто благополучно создает каталог и начинает вести журнал в корневом разделе, а когда zfs-fuse пытается смонтировать диск позже в последовательности загрузки, на смонтированном диске /, где работает ОС, уже есть файлы, и поэтому zfs-fuse не может смонтировать диск там. До того, как я изменил файлы конфигурации rsyslog для ведения журнала в другом месте, zfs-fuse автоматически монтировал диск без проблем.

Итак, мой вопрос таков:

Как мне переместить монтирование zfs-fuse дисков на более раннее место в последовательности загрузки, чем появляется rsyslog? Я хочу, чтобы rsyslog содержал всю загрузочную информацию, поэтому я не могу просто переместить rsyslog на место после zfs-fuse, мне придется переместить zfs-fuse на более раннее время. Я могу придумать множество способов взломать это, но мне нужно элегантное решение, если оно существует. Я потратил достаточно времени на поиски в Google по этому вопросу и не могу найти никого, кто решил эту проблему и опубликовал решение.

Спасибо за любую помощь, которую вы можете мне оказать.

решение1

Ну вот, прошло 7,5 месяцев, и я наконец-то нашел простой способ сделать это, поэтому решил написать ответ.

Rsyslog настроен на 12.04 как задача upstart.

zfs-fuse настраивается при установке с помощью apt-get install таким образом, чтобы поддерживать команду service zfs-fuse start.

Используя эти два факта, я сделал следующее:

  • Добавлена ​​строка «service zfs-fuse start» непосредственно после строки pre-start script в /etc/init/rsyslog.conf
  • Выполнил команду sudo initctl reload-configuration

Теперь, прежде чем rsyslog сможет запуститься, я принудительно запускаю службу zfs-fuse, которая в свою очередь монтирует диски zfs. Теперь я могу быть уверен, что, за исключением сбоя монтирования zfs-fuse, когда rsyslog запустится, диск zfs-fuse будет смонтирован и готов к записи, что позволит мне вести там журнал с самого начала процесса загрузки.

Связанный контент