Работа с ZFS в FreeBSD построена вокруг двух основных команд: zpool для управления дисками и пулами хранения, и zfs для управления файловыми системами (наборами данных) внутри этих пулов. Ниже представлено практическое руководство по основным операциям.
📚 Управление пулами хранения (zpool)
Пул — это основа, состоящая из одного или нескольких дисков.
· Создание простого пула (без избыточности) :
# zpool create mypool /dev/da0
· Создание пула RAID-Z (от 3 дисков, аналог RAID-5) :
# zpool create storage raidz da0 da1 da2
· Просмотр статуса пулов и проверка ошибок :
# zpool status
# zpool status -x (показать только проблемные пулы)
· Уничтожение пула :
# zpool destroy mypool
📂 Управление наборами данных (zfs)
Внутри пула создаются наборы данных (файловые системы).
· Создание набора данных и включение сжатия :
# zfs create mypool/data
# zfs set compression=lz4 mypool/data
Рекомендуется использовать lz4 — он дает отличное сжатие при минимальных затратах ресурсов.
· Установка количества копий (защита от повреждения секторов) :
# zfs set copies=2 mypool/data
· Просмотр списка наборов данных и снэпшотов :
# zfs list
# zfs list -t snapshot (только снэпшоты)
· Уничтожение набора данных :
# zfs destroy mypool/data
📸 Снэпшоты и восстановление
Снэпшоты позволяют зафиксировать состояние файловой системы в момент времени.
· Создание снэпшота :
# zfs snapshot mypool/data@yesterday
· Откат к предыдущему снэпшоту :
# zfs rollback mypool/data@yesterday
🩺 Обслуживание и мониторинг
· Скруб (Scrub): Проверка целостности всех данных в пуле. Рекомендуется делать регулярно .
# zpool scrub storage
Проверить прогресс или дату последнего скруба можно командой zpool status storage.
· Автоматизация снэпшотов: Для регулярного создания снэпшотов и их ротации (удаления старых) используйте сторонние утилиты, например sanoid из портов . Это позволяет настроить политику хранения (например, 36 часовых снэпшотов и 14 дневных).
💡 Важные замечания
· Память: ZFS активно использует оперативную память для кэширования (ARC). Для комфортной работы, особенно на серверах, рекомендуется от 8 ГБ ОЗУ и выше .
· Два инструмента: Запомните разделение ответственности: zpool работает с дисками, zfs — с данными на этих дисках .
· Обновления: При обновлении версии FreeBSD может потребоваться обновление версии пула для получения новых возможностей, но делайте это осторожно, изучив вопрос совместимости .
Если вы планируете использовать ZFS для конкретной задачи (например, для виртуализации с bhyve или организации домашних каталогов пользователей), уточните нюансы, и я помогу с деталями.
