TrueNAS RAID: Настройка ZFS пулов, RAID 10, Z1, Z2, Z3 | Гайд 2024 | AdminWiki

TrueNAS RAID: Полное руководство по настройке ZFS пулов, включая RAID 10

17 января 2026 8 мин. чтения #nas #raid #truenas #truenas raid 10 #zfs #сервер #хранение данных

Представь, что ты собрал свой сервер хранения данных на базе TrueNAS. Диски подключены, система установлена, но впереди самый важный выбор — как организовать эти диски в надёжный и производительный массив? Давай разберём, как работает RAID в экосистеме TrueNAS, почему это не совсем классический RAID, и как правильно настроить пул под твои задачи, будь то домашняя медиатека или корпоративный бэкап-сервер.

Что такое RAID в TrueNAS? Отличия от классического подхода

В TrueNAS (ранее FreeNAS) используется не традиционный аппаратный или софтовый RAID, а файловая система ZFS со своими механизмами объединения дисков — RAIDZ (аналог RAID 5/6) и зеркалирование (аналог RAID 1/10). Ключевое преимущество — интеграция на уровне файловой системы: контрольные суммы данных, самовосстановление (scrub) и мгновенные снапшоты.

Важно: В TrueNAS ты работаешь не с RAID-контроллером, а с ZFS Storage Pools (ZPOOL). Диски должны быть переданы системе в «сыром» виде (JBOD или IT Mode контроллер).

Выбор уровня RAID: Сравнение RAIDZ1, Z2, Z3 и зеркал

Перед созданием пула нужно определиться с компромиссом между объёмом, производительностью и отказоустойчивостью. Давай сравним основные варианты.

Тип (ZFS) Аналог RAID Минимум дисков Отказоустойчивость Эффективный объём Использование
Stripe RAID 0 1 Нет 100% Не рекомендуется
Mirror RAID 1 2 До N-1 50% Высокая скорость, малые пулы
RAIDZ1 RAID 5 3 1 диск (N-1)/N Баланс объёма/надёжности
RAIDZ2 RAID 6 4 2 диска (N-2)/N Рекомендуется для средних/больших пулов
RAIDZ3 5 3 диска (N-3)/N Максимальная надёжность для критичных данных

Создание и настройка TrueNAS RAID 10 (Striped Mirrors)

TrueNAS RAID 10 — это комбинация зеркал (RAID 1), объединённых в страйп (RAID 0). Это даёт максимальную производительность как на чтение, так и на запись, и высокую отказоустойчивость (каждое зерко может потерять по диску). Давай создадим такой пул через веб-интерфейс и посмотрим на эквивалентные команды.

Шаг 1: Подготовка дисков

Убедись, что у тебя чётное количество дисков (4, 6, 8...). В интерфейсе перейди в Storage → Disks. Диски должны быть видны и не иметь разделов. Идеально использовать диски одного размера и модели.

Опасно: Все данные на выбранных дисках будут безвозвратно удалены при создании пула! Дважды проверь выборку.

Шаг 2: Создание пула через Web UI

  1. Перейди в Storage → Pools и нажми "ADD".
  2. В поле "Name" укажи название пула (например, tank).
  3. В разделе "Data VDevs" нажми "ADD VDEV" и выбери тип Mirror.
  4. Перетащи в эту VDev два диска. Это создаст первое зеркало (например, da0 и da1).
  5. Снова нажми "ADD VDEV", выбери Mirror и перетащи следующую пару дисков (da2 и da3).
  6. Повторяй, пока не добавятся все диски. Для TrueNAS RAID 10 из 4 дисков у тебя будет 2 VDev типа Mirror.
  7. Оставь остальные настройки по умолчанию и нажми "CREATE POOL".

Шаг 3: Эквивалентная команда в shell (zpool create)

То, что ты сделал в интерфейсе, можно выполнить одной командой. Подключись к TrueNAS по SSH.

bash
# Создание пула 'tank' в конфигурации RAID 10 из 4 дисков (2 зеркала)
zpool create tank \
    mirror /dev/da0 /dev/da1 \
    mirror /dev/da2 /dev/da3

# Проверка статуса пула
zpool status tank

Вывод команды zpool status покажет структуру VDevs:

bash
  pool: tank
 state: ONLINE
  scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            da0     ONLINE       0     0     0
            da1     ONLINE       0     0     0
          mirror-1  ONLINE       0     0     0
            da2     ONLINE       0     0     0
            da3     ONLINE       0     0     0

Расширение пула: Добавление VDev в существующий RAID

Одна из сильных сторон ZFS — возможность расширения пула добавлением новых VDevs. Например, у тебя есть пул из двух зеркал (4 диска), и ты хочешь добавить ещё два диска в виде третьего зеркала для увеличения ёмкости.

bash
# Добавляем новое зеркало (da4, da5) в существующий пул 'tank'
zpool add tank mirror /dev/da4 /dev/da5

# Проверяем обновлённую структуру
zpool status tank
Важно: Добавить диск к существующей VDev (например, превратить зеркало из 2 дисков в зеркало из 3) — можно. Но изменить тип VDev (например, преобразовать зеркало в RAIDZ2) — НЕЛЬЗЯ без пересоздания пула.

Критические задачи администрирования

Замена вышедшего из строя диска

Допустим, в нашем TrueNAS RAID 10 отказал диск /dev/da1. ZFS отметит зеркало как DEGRADED, но данные доступны. Физически замени диск в сервере, затем в веб-интерфейсе (Storage → Pools → три точки у пула → Status) нажми "Replace" у проблемного диска и выбери новый. Или через командную строку:

bash
# Помечаем диск как вышедший из строя (опционально)
zpool offline tank /dev/da1

# Заменяем диск da1 на новый da6
zpool replace tank /dev/da1 /dev/da6

# Мониторим процесс восстановления (resilvering)
zpool status -v tank

Плановое сканирование и проверка целостности (Scrub)

ZFS автоматически проверяет контрольные суммы и исправляет ошибки, используя избыточные данные. Запускай scrub раз в 1-2 недели.

bash
# Запуск scrub вручную для пула 'tank'
zpool scrub tank

# Проверка прогресса
zpool status tank

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

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

Да, но с важной оговоркой. В рамках одной VDev (например, одного зеркала или RAIDZ) ZFS будет использовать объём самого маленького диска. Для TrueNAS RAID 10 старайся, чтобы диски в каждом конкретном зеркале были одинакового размера.

Что лучше для производительности: RAIDZ2 или RAID 10 из зеркал?

RAID 10 (зеркала) обычно даёт лучшую производительность на случайных операциях чтения/записи (например, для виртуальных машин, баз данных). RAIDZ2 лучше подходит для последовательного доступа (потоковое видео, бэкапы) и обеспечивает лучшую утилизацию дискового пространства при сравнимой отказоустойчивости.

Как добавить кэширование (L2ARC) или лог (SLOG) к пулу?

Для этого используются специальные VDevs. L2ARC (кэш чтения) и SLOG (кэш записи ZIL) резко ускоряют работу. Добавляются они после создания основного пула через "ADD VDEV" в разделе соответствующих типов. Для SLOG обязательно используй устройство с защитой от потери питания (например, SSD с конденсаторами).

bash
# Добавление SLOG устройства (например, быстрый NVMe) к пулу
zpool add tank log /dev/nvd0

# Добавление L2ARC кэша
zpool add tank cache /dev/nvd1

Правда ли, что RAID — это не замена бэкапу?

Абсолютная правда. RAID (или ZFS pool) защищает от физического отказа оборудования. Он не защитит от случайного удаления файлов, программного сбоя, ransomware-атаки или ошибки в данных, которая уже записана. Правило 3-2-1 (три копии данных, на двух разных носителях, одна из которых вне площадки) — обязательно.

Заключение: Ключевые принципы

Настройка truenas raid — это фундамент твоей системы хранения. Запомни главное:

  • Выбирай уровень избыточности (RAIDZ2 или truenas raid 10) исходя из задач, а не только из экономии места.
  • Планируй дисковую архитектуру заранее — переделать тип VDev будет невозможно.
  • Регулярно выполняй scrub и мониторь состояние дисков через SMART-тесты.
  • Настрой автоматические уведомления (в System → Alert Services) о проблемах с пулом.
  • И помни: ZFS pool — это мощно, но бэкап — священен.

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

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