TrueNAS ZFS: Настройка, пулы, RAID-Z, снимки | Руководство 2024 | AdminWiki

TrueNAS ZFS: Полное руководство по настройке и управлению файловой системой

15 января 2026 8 мин. чтения #devops #nas #raid-z #truenas #zfs #снимки #файловая система #хранение данных

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

Что такое TrueNAS и ZFS?

TrueNAS — это операционная система на базе FreeBSD (или Linux в случае TrueNAS SCALE), созданная специально для работы в качестве сетевого хранилища (NAS). Её «сердцем» является ZFS (Zettabyte File System) — современная файловая система с колоссальным набором функций:

  • Копирование при записи (Copy-on-Write) — гарантирует целостность данных.
  • Снимки (Snapshots) и Клонирование (Cloning) — моментальные бэкапы и тестовые среды.
  • Самовосстановление (Self-healing) — обнаружение и исправление тихих повреждений данных.
  • Динамическое striping — данные распределяются по всем дискам в пуле.
  • Встроенное сжатие и дедупликация (опционально).
Важно: ZFS — это не просто файловая система, а целый менеджер томов. Она управляет дисками, объединяя их в пулы (zpools), которые затем делятся на наборы данных (datasets).

Создание пула ZFS в TrueNAS

Всё начинается с пула (pool). Это фундаментальный строительный блок. Давай создадим его через веб-интерфейс TrueNAS (обычно доступен по адресу http://truenas.local).

Шаг 1: Выбор дисков и типа RAID-Z

Перейди в Storage → Pools → ADD. Здесь тебе нужно выбрать диски и конфигурацию избыточности. ZFS предлагает несколько аналогов RAID:

Тип Минимум дисков Ёмкость для 4x4TB Отказоустойчивость Использование
Stripe 1 ~16 TB Нет (как RAID 0) Только для временных данных
Mirror 2 ~4 TB Высокая (как RAID 1) Важные данные, высокая скорость
RAID-Z1 3 ~12 TB 1 диск Баланс ёмкости и надёжности
RAID-Z2 4 ~8 TB 2 диска Критичные данные, большие массивы
Рекомендация: Для домашнего использования с дисками до 4TB можно использовать RAID-Z1. Для дисков от 8TB и для бизнес-данных всегда выбирай RAID-Z2 или даже RAID-Z3. Это защитит тебя во время длительной перестройки массива после сбоя одного диска.

Шаг 2: Настройка параметров пула

После выбора дисков и типа vdev (например, RAID-Z2), настрой основные параметры:

  • Имя пула: Например, tank или data_pool.
  • Шифрование (Encryption): Рекомендуется включить. Это не замедлит работу на современных CPU, но защитит данные при извлечении дисков.
  • Настройки при создании: Оставь по умолчанию или настрой позже.

Работа с наборами данных (Datasets) и снимками

Пул — это контейнер. Внутри него ты создаёшь наборы данных (datasets). Представь их как гибко настраиваемые «папки» с собственными параметрами: квотой, сжатием, правами.

Создание и настройка Dataset

В интерфейсе TrueNAS перейди в свой пул и нажми Add Dataset.

config
# Пример создания dataset через CLI (делается автоматически в UI)
# zfs create tank/media
# zfs set compression=lz4 tank/media  # Включаем сжатие
# zfs set quota=500G tank/media       # Устанавливаем квоту

Ключевые настройки dataset:

  • Compression: Выбери lz4. Это быстро и эффективно.
  • Share Type: SMB (для Windows), NFS (для Linux), или AFP (для Mac).
  • Quota: Ограничение размера для этого dataset.

Магия снимков (Snapshots) и репликации

Снимки — это «моментальные фотографии» состояния dataset в определённый момент. Они занимают минимум места (хранят только изменения) и создаются почти мгновенно.

bash
# Создание снимка вручную через Shell TrueNAS
zfs snapshot tank/media@$(date +%Y%m%d_%H%M)
# Результат: tank/media@20241115_1430

# Просмотр всех снимков
zfs list -t snapshot -r tank

# Восстановление dataset из снимка (ОСТОРОЖНО!)
zfs rollback tank/media@20241115_1430

# Клонирование снимка в новый dataset (идеально для тестирования)
zfs clone tank/media@20241115_1430 tank/test_media

В интерфейсе TrueNAS это делается в разделе Storage → Snapshots. Ты можешь настроить периодические задачи (Periodic Snapshot Tasks) для автоматического создания снимков по расписанию (например, каждый час, день, неделю).

Мониторинг, обслуживание и устранение неполадок

ZFS требует минимального обслуживания, но несколько вещей нужно проверять регулярно.

Проверка состояния пула

bash
# Основная команда для проверки здоровья
zpool status

# Детальная информация о пуле
zpool list -v

# Проверка на ошибки (scrub) - запускается автоматически по расписанию в TrueNAS
zpool scrub tank

# Просмотр статистики в реальном времени
zpool iostat -v 2
Scrub — это важно! Периодическая проверка целостности (scrub) должна выполняться раз в 1-2 недели. Она находит и исправляет тихие повреждения данных. В TrueNAS настрой её в Storage → Pools → Scrub Tasks.

Замена сбойного диска

Если zpool status показывает FAULTED или DEGRADED диск:

  1. Физически замени диск в сервере.
  2. В интерфейсе TrueNAS перейди в Storage → Pools.
  3. Найди свой пул, нажми три точки и выбери Status.
  4. Рядом с неисправным диском будет кнопка Replace. Укажи новый диск.
  5. ZFS автоматически начнёт перестроение (resilvering).
bash
# Альтернатива через командную строку
# 1. Пометить старый диск как вышедший из строя (если он ещё определяется)
zpool offline tank /dev/ada1p2
# 2. Заменить на новый диск
zpool replace tank /dev/ada1p2 /dev/ada2p2

Расширение пула ZFS

Есть два основных способа добавить место в TrueNAS:

  • Добавление новых VDEV в пул: Например, у тебя есть пул из одного RAID-Z2 vdev. Ты можешь добавить второй RAID-Z2 vdev из таких же дисков. Данные будут распределяться по всем vdev (как RAID 0 поверх RAID-Z2). ВНИМАНИЕ: Если любой vdev выйдет из строя полностью — погибнет весь пул.
  • Замена всех дисков на более ёмкие: По одному заменяешь диски в существующем vdev (после каждой замены запускается перестроение). После замены всех дисков место увеличится автоматически.
Опасно: Нельзя удалить vdev из пула или изменить тип RAID-Z (например, с RAID-Z1 на RAID-Z2) без полного пересоздания пула и восстановления данных из бэкапа. Продумывай архитектуру заранее!

Часто задаваемые вопросы (FAQ)

Можно ли использовать ZFS с дисками разного размера?

Да, но это неэффективно. ZFS в конфигурации RAID-Z будет считать размером каждого диска размер самого маленького диска в vdev. Оставшееся место на больших дисках будет потеряно.

Стоит ли включать дедупликацию (dedup) в TrueNAS?

В 99% случаев нет. Дедупликация требует огромного количества оперативной памяти (примерно 5 ГБ RAM на 1 ТБ данных) и сильно нагружает систему. Используй сжатие (lz4) — оно даёт хороший выигрыш почти бесплатно.

Какой объём оперативной памяти нужен для TrueNAS ZFS?

Минимум — 8 ГБ. Для комфортной работы с несколькими пулами, сжатием и кэшированием рекомендуется 16-32 ГБ. Память используется для ARC (кэш чтения) — чем больше, тем лучше производительность.

Как сделать бэкап данных с TrueNAS?

Используй встроенную функцию Replication Tasks. Она создаёт эффективные инкрементальные бэкапы на уровне снимков на другой пул TrueNAS, удалённый сервер или даже в облако (через S3-совместимое хранилище). Это надёжнее, чем просто копирование файлов.

Что делать, если я забыл пароль от зашифрованного пула?

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

Заключение

TrueNAS в связке с ZFS предоставляет enterprise-уровень надёжности и функциональности для хранения данных. Начни с простого пула на RAID-Z2, настрой периодические снимки и scrub. Освоив основы, ты сможешь использовать репликацию для бэкапов, iSCSI для виртуальных машин и даже кластеризацию в старших версиях. Главное — помни золотое правило: ZFS не заменяет бэкап. Регулярная репликация критичных данных на отдельный носитель или в облако — обязательна.

Теперь у тебя есть дорожная карта. Создай свой первый пул, поэкспериментируй со снимками и почувствуй мощь системы, которая сама заботится о целостности твоих данных.

Поделиться:
Сохранить гайд? В закладки браузера