Вопрос или проблема
В данный момент я использую 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
:
- загрузитесь на другой диск/систему, поддерживающую ZFS
- экспортируйте legacy пул
- импортируйте его снова без монтирования
- установите точки монтирования, начиная с родительских точек монтирования
- удалите записи
fstab
- экспортируйте пул
- перезагрузите
Смотрите мои личные заметки, связанные с установкой Proxmox по этому поводу.
Ответ или решение
Смена точки монтирования в ZFS с "наследственного" (legacy) на управление ZFS может показаться простой задачей, но важно учитывать все детали этого процесса. Вот детальное описание шагов, необходимых для успешной реализации этой задачи на ArchLinux, а также разбор возможных проблем и ошибок.
Понимание задачи
У вас есть два набора данных, настроенные с "наследственными" точками монтирования, что требует использования /etc/fstab
для управления их монтированием. Для более эффективного управления вы решили переключиться на управление ZFS, что позволяет улучшить интеграцию и функциональность.
Шаги для изменения точки монтирования
-
Подготовка системы:
Прежде чем вносить изменения, убедитесь, что у вас есть резервные копии важных данных. Это поможет предотвратить потерю информации в случае неудачи. -
Выполните отключение:
Выполните команды для размонтирования файловых систем:umount /home/kevdog umount /home
-
Установите новые точки монтирования:
Теперь измените свойства ZFS, чтобы необходимо было назначить точки монтирования:zfs set mountpoint=/home tank/data/home zfs set mountpoint=/home/kevdog tank/data/home/kevdog
-
Закомментируйте соответствующие записи в fstab:
Это предотвратит попытки системы монтировать эти точки из fstab, что может привести к конфликтам. Внесите изменения в/etc/fstab
, добавив#
перед соответствующими строками. -
Перезагрузка системы:
При перезагрузке ZFS должен заново обрабатывать все точки монтирования. Однако, результаты могут отличаться.
Потенциальные проблемы
Если после перезагрузки вы обнаружили, что директории пустые, то это может указывать на несколько причин:
- Неправильное монтирование: Убедитесь, что ZFS действительно выполнил монтирование. Используйте команду
zfs list -o name,mountpoint,mounted
для проверки состояния монтирования. - Конфликтующие записи в fstab: Убедитесь, что все соответствующие записи в fstab закомментированы. Если система пытается смонтировать точки из fstab, это может вызвать проблемы.
- Необходимость в экспорте/импорте пула: Иногда требуется экспортировать и затем импортировать пул без автоматического монтирования, чтобы избежать проблем с точками монтирования:
zpool export <pool_name> zpool import -N <pool_name>
После этого вы можете повторить шаг с изменением точек монтирования.
Итог
Переход на управление точками монтирования через ZFS может значительно улучшить управление данными и их интеграцию с системой. Следуя приведенным шагам и учитывая описанные нюансы, вы сможете успешно изменить точки монтирования и избежать распространенных ошибок.
Если у вас возникают дополнительные вопросы, не стесняйтесь обращаться к сообществу ZFS или искать профессиональную помощь. Надеюсь, что ваш опыт работы с ZFS станет более продуктивным после внесенных изменений.