Шпаргалка по ZFS

Работа с 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 или организации домашних каталогов пользователей), уточните нюансы, и я помогу с деталями.

О нас: kot@liapold.ru