Как я могу изменить точку монтирования ZFS с легаси на управление ZFS?

Вопрос или проблема

В данный момент я использую ZFS на ArchLinux. У меня есть два набора данных, которые я изначально настроил с устаревшими точками монтирования:

# zfs get mountpoint tank/data/home
NAME            PROPERTY    VALUE       SOURCE
tank/data/home  mountpoint  legacy      local
# zfs get mountpoint tank/data/home/kevdog
NAME                   PROPERTY    VALUE       SOURCE
tank/data/home/kevdog  mountpoint  legacy      local

У меня есть соответствующие записи в /etc/fstab для этих точек монтирования

Я хотел бы изменить эти монтирования так, чтобы ими управлял zfs, а не mount

Я вошел в систему под root, а затем выполнил следующее:

umount /home/kevdog
umount /home
zfs set mountpoint=/home tank/data/home
zfs set mountpoint=/home/kevdog tank/data/home/kevdog

Я закомментировал соответствующие записи fstab для этих монтирований

После этого я перезагрузил систему, однако столкнулся с проблемой: набор данных tank/data/home/kevdog был смонтирован в /home/kevdog, однако директория была совершенно пустой. После отмены того, что я только что описал (установка legacy для управления этими наборами данных), директория /home/kevdog больше не была пустой.

Просто любопытно узнать, почему процесс не сработал. Должен ли я был снова экспортировать/импортировать пул, чтобы это сработало? Не забыл ли я сделать что-то еще?

(…) однако директория была совершенно пустой.

На этом этапе вам нужно проверить, был ли набор данных смонтирован. Предупредила ли система вас о непустой точке монтирования?

Должен ли я был снова экспортировать/импортировать пул, чтобы это сработало?

Вероятно, ваше описание выглядит для меня неясным.


Вот как я переношу устаревшие точки монтирования на ZFS, даже / и /boot:

  1. загрузитесь на другой диск/систему, поддерживающую ZFS
  2. экспортируйте legacy пул
  3. импортируйте его снова без монтирования
  4. установите точки монтирования, начиная с родительских точек монтирования
  5. удалите записи fstab
  6. экспортируйте пул
  7. перезагрузите

Смотрите мои личные заметки, связанные с установкой Proxmox по этому поводу.

Ответ или решение

Смена точки монтирования в ZFS с "наследственного" (legacy) на управление ZFS может показаться простой задачей, но важно учитывать все детали этого процесса. Вот детальное описание шагов, необходимых для успешной реализации этой задачи на ArchLinux, а также разбор возможных проблем и ошибок.

Понимание задачи

У вас есть два набора данных, настроенные с "наследственными" точками монтирования, что требует использования /etc/fstab для управления их монтированием. Для более эффективного управления вы решили переключиться на управление ZFS, что позволяет улучшить интеграцию и функциональность.

Шаги для изменения точки монтирования

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

  2. Выполните отключение:
    Выполните команды для размонтирования файловых систем:

    umount /home/kevdog
    umount /home
  3. Установите новые точки монтирования:
    Теперь измените свойства ZFS, чтобы необходимо было назначить точки монтирования:

    zfs set mountpoint=/home tank/data/home
    zfs set mountpoint=/home/kevdog tank/data/home/kevdog
  4. Закомментируйте соответствующие записи в fstab:
    Это предотвратит попытки системы монтировать эти точки из fstab, что может привести к конфликтам. Внесите изменения в /etc/fstab, добавив # перед соответствующими строками.

  5. Перезагрузка системы:
    При перезагрузке ZFS должен заново обрабатывать все точки монтирования. Однако, результаты могут отличаться.

Потенциальные проблемы

Если после перезагрузки вы обнаружили, что директории пустые, то это может указывать на несколько причин:

  • Неправильное монтирование: Убедитесь, что ZFS действительно выполнил монтирование. Используйте команду zfs list -o name,mountpoint,mounted для проверки состояния монтирования.
  • Конфликтующие записи в fstab: Убедитесь, что все соответствующие записи в fstab закомментированы. Если система пытается смонтировать точки из fstab, это может вызвать проблемы.
  • Необходимость в экспорте/импорте пула: Иногда требуется экспортировать и затем импортировать пул без автоматического монтирования, чтобы избежать проблем с точками монтирования:
    zpool export <pool_name>
    zpool import -N <pool_name>

    После этого вы можете повторить шаг с изменением точек монтирования.

Итог

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

Если у вас возникают дополнительные вопросы, не стесняйтесь обращаться к сообществу ZFS или искать профессиональную помощь. Надеюсь, что ваш опыт работы с ZFS станет более продуктивным после внесенных изменений.

Оцените материал
Добавить комментарий

Капча загружается...