Назад | Перейти на главную страницу

zfs - два пула с вложенными точками монтирования и конфликтующим порядком монтирования

У меня проблема с автоматическим монтированием отдельных пулов, у которых есть вложенные точки монтирования. Я использую ZfsOnLinux 0.6.2.

В настоящее время ситуация такова:

zpool1      ---> /var
zpool1/log  ---> /var/log
zpool1/mail ---> /var/mail

Теперь мне нужно добавить отдельный zpool для db. Чтобы сохранить целостность иерархии каталогов, я подумал об этом:

zpool2      ---> /var/db

Теперь проблема в том, что когда zpool2 монтируется первым, zpool1 не может монтироваться (это логично).

Есть ли способ принудительно установить порядок монтирования пулов, чтобы разрешить монтирование zpool2 внутри zpool1, помимо использования устаревшей опции монтирования? Что-то вроде зависимости от zpools? Или мне следует избегать таких вложенных монтировок любой ценой?

Вместо монтажа zpool2 так как /var/db, смонтируйте его как /zpool2 или /db или все, что имеет для вас смысл.

Тогда сделай /var/db символическая ссылка на /db.

Вы можете установить свойства точки монтирования файловой системы на legacy и использовать /etc/fstab чтобы определить их.

Таким образом, вы сможете определить порядок, в котором они будут установлены.

Изменить: я только что заметил, что вы уже рассматривали устаревший подход. Хотя, возможно, это единственный.

В пределах одного пула состав путей монтирования определяет порядок монтирования. В одном пуле Zfs сортирует монтируемые файловые системы по путям их соответствующих точек монтирования, что гарантирует правильный порядок монтирования.

Когда задействовано 2 или более пулов, нет аналогичной возможности для автоматического наложения порядка монтирования между пулами.

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

Если у пула2 есть файловая система, настроенная для монтирования на точку монтирования, которая становится доступной путем монтирования файловой системы в пуле1, администратор должен убедиться, что пул1 действительно смонтирован первым. Например: это должно быть написано по сценарию. Так что ответ - «не ждите, что это разрешится само собой».

Возможно, использование Root на ZFS может помочь.

Я использую ZFS на FreeBSD с двумя пулами и вложенными точками монтирования. Первый пул (ssd) - это пул, в котором расположена корневая файловая система, как и большинство других файловых систем. Второй пул (hdd) используется для файловых систем с большими данными, установленными в определенные места.

Я считаю, что из-за корневой файловой системы все файловые системы из пула ssd монтируются первыми, а файловые системы из пула hdd монтируются вторыми.

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