Сборка и настройка массива хранения TrueNAS: от выбора контроллера до конфигурации ZFS-пула | AdminWiki

Сборка и настройка массива хранения TrueNAS: от выбора контроллера до конфигурации ZFS-пула

23 июля 2026 14 мин. чтения

Проектирование хранилища на TrueNAS начинается не с выбора дисков, а с подбора HBA-контроллера в IT-режиме. Это фундаментальное требование ZFS: файловая система должна получить прямой доступ к каждому диску, без прослоек аппаратного RAID. Ошибка на этом этапе приводит к скрытой деградации данных, невозможности восстановления пула и ложному чувству надёжности. Второй критический этап - конфигурация vdev. Вы выбираете не просто уровень RAID-Z, а стратегию расширения на годы вперёд, потому что добавить диск в существующий vdev невозможно. Третий этап - осмысленное добавление кэша L2ARC и SLOG, которое без анализа нагрузки часто ухудшает производительность вместо ожидаемого ускорения.

Этот материал - пошаговое руководство по сборке массива хранения TrueNAS с нуля. Вы получите проверенные критерии выбора HBA-контроллера, инструкцию по перепрошивке в IT-режим, методику подбора дисков под конкретные сценарии, правила проектирования ZFS-пула с учётом будущего масштабирования и настройку кэширования на основе объективных метрик. Все рекомендации основаны на практическом опыте и актуальны для TrueNAS CORE и SCALE по состоянию на июль 2026 года.

Планирование хранилища: с чего начать

Сборка хранилища TrueNAS - это последовательность жёстко связанных решений. Порядок действий выглядит так: выбор HBA-контроллера с поддержкой IT-режима, подбор дисков под задачу, проектирование структуры vdev, создание пула, настройка кэширования. Каждый шаг влияет на последующий. Нельзя сначала купить диски, а потом выяснить, что контроллер не умеет отдавать их напрямую ZFS. Нельзя создать пул на трёх дисках, а через месяц попытаться добавить четвёртый в тот же vdev - ZFS этого не позволит.

Главный принцип: TrueNAS требует прямого доступа к дискам. Аппаратный RAID-контроллер скрывает от операционной системы реальную геометрию накопителей, кэширует запись в собственной энергозависимой памяти и подменяет SMART-атрибуты. ZFS при этом теряет возможность обнаруживать битовые ошибки и вовремя перестраивать данные на резервные блоки. Результат - молчаливое повреждение файлов, которое становится заметным только при попытке чтения. HBA-контроллер в IT-режиме работает как прозрачный мост: каждый подключённый диск виден в системе со своим серийным номером и полным набором SMART-параметров.

Перед закупкой оборудования определите три параметра: полезную ёмкость хранилища через год эксплуатации, допустимое время простоя при отказе диска и пиковую нагрузку в IOPS. Эти цифры определят количество дисков, уровень RAID-Z и необходимость кэширующих устройств. Дальнейшие разделы раскрывают каждый этап с конкретными цифрами и командами.

Выбор HBA-контроллера: почему IT-режим критичен

HBA (Host Bus Adapter) передаёт диски операционной системе без какой-либо обработки. RAID-контроллер, напротив, агрегирует диски в логические тома и презентует системе готовый виртуальный диск. ZFS спроектирована как программный RAID и менеджер томов одновременно - она должна управлять избыточностью, контрольными суммами и распределением данных по физическим носителям самостоятельно. Когда между ZFS и диском стоит аппаратный RAID-контроллер, файловая система работает с фиктивной геометрией, не может инициировать перестроение отказавшего накопителя и не получает честных уведомлений о сбоях.

Практический пример: диск в аппаратном RAID-массиве начинает выдавать ошибки чтения. Контроллер скрывает этот факт, пытаясь восстановить данные внутренними средствами. ZFS не видит проблему и не перестраивает данные на исправные блоки. Когда контроллер исчерпывает возможности коррекции, пул деградирует мгновенно и без предупреждения. На HBA в IT-режиме ZFS зафиксирует первую же ошибку контрольной суммы, пометит блок как повреждённый и восстановит его из зеркала или чётности в соседнем vdev.

Критерии выбора HBA для TrueNAS:

  • Поддержка IT-режима на уровне прошивки - обязательное требование.
  • Чип LSI SAS2008, SAS2308 или SAS3008 - проверенные поколения с открытыми прошивками.
  • Количество портов: один SAS-порт обслуживает до четырёх SATA-дисков через breakout-кабель. Контроллер на 8 портов подключает до 32 дисков с экспандером.
  • Совместимость с TrueNAS: система на базе FreeBSD (CORE) требует драйвер mps для SAS2008/2308 и mpr для SAS3008. TrueNAS SCALE на Linux использует mpt3sas - оба варианта работают стабильно.

Популярные модели: IBM M1015 (SAS2008), Dell H200 (SAS2008), Dell H310 (SAS2008, требует перепрошивки), LSI 9207-8i (SAS2308), LSI 9300-8i (SAS3008). Карты на чипе SAS2008 поддерживают скорость 6 Гбит/с на порт - этого достаточно для HDD и большинства SATA SSD. Для NVMe-накопителей потребуется отдельный контроллер или прямое подключение к слотам материнской платы.

Как проверить и перепрошить контроллер в IT-режим

Перед покупкой контроллера запросите у продавца вывод команды sas2flash -list или sas3flash -list. В выводе ищите строку Firmware Product ID - она должна заканчиваться на IT (например, 20.00.07.00-IT). Если прошивка IR (Integrated RAID), контроллер потребуется перепрошить. Процесс обратим, но требует точного соблюдения инструкции.

Пошаговая перепрошивка LSI SAS2008 (карты IBM M1015, Dell H200):

  1. Загрузите компьютер с UEFI-флешки, на которую записан образ FreeDOS или EFI shell.
  2. Сохраните текущий SBR (Serial Boot ROM) утилитой sas2flash -o -f old_sbr.bin. Этот файл понадобится, если потребуется откат.
  3. Очистите текущую прошивку и BIOS командой sas2flash -o -e 6.
  4. Запишите IT-прошивку: sas2flash -o -f 2118it.bin -b mptsas2.rom. Файлы прошивок скачивайте с ресурсов сообщества TrueNAS или из репозиториев Broadcom.
  5. Перезагрузите систему и проверьте результат: sas2flash -list должен показать IT в идентификаторе прошивки.

Для карт на SAS2308 и SAS3008 процесс аналогичен, но используются утилиты sas3flash и соответствующие файлы прошивок. Риски: сбой питания во время прошивки превращает контроллер в неработоспособное устройство. Используйте источник бесперебойного питания и не перепрошивайте контроллер удалённо.

После установки HBA в TrueNAS проверьте, что все подключённые диски видны в разделе Storage -> Disks с корректными серийными номерами. Если диск отображается как блочное устройство с абстрактным идентификатором - контроллер работает не в IT-режиме или драйвер не загрузился.

Подбор дисков: HDD, SSD и NVMe для разных задач

Диски в TrueNAS делятся на три функциональные категории: диски данных, диски кэша чтения и устройства журнала синхронной записи. Каждая категория предъявляет свои требования к характеристикам накопителей. Смешивание ролей приводит к деградации производительности или преждевременному выходу устройств из строя.

Диски данных - это основа пула. Для большинства сценариев оптимальны HDD корпоративного или NAS-класса: WD Red Pro, Seagate IronWolf Pro, Toshiba N300. Ключевые характеристики: скорость вращения 7200 об/мин, поддержка CMR-записи (избегайте SMR-дисков - они дают неприемлемые задержки при перестроении vdev), наработка на отказ от 1 млн часов, виброзащита для массивов из восьми и более дисков. Для чисто SSD-пулов используйте накопители с ресурсом записи от 1 DWPD (Drive Writes Per Day): Intel S4510/S4610, Samsung PM893, Micron 5300 PRO.

Диски кэша чтения L2ARC - это SSD, которые хранят копии часто читаемых блоков. Требования: высокая скорость случайного чтения (от 500 МБ/с), достаточный ресурс записи (L2ARC активно перезаписывается), объём, соотнесённый с доступной оперативной памятью. Хороший выбор - Intel Optane (для горячих метаданных) или скоростные NVMe SSD типа Samsung PM9A3. Не используйте дешёвые потребительские SSD - они деградируют за несколько месяцев под нагрузкой L2ARC.

Устройства SLOG (Separate ZFS Intent Log) принимают синхронные записи и подтверждают их немедленно, до сброса на основные диски. Критические требования: низкая задержка записи (менее 0.1 мс), защита от потери питания (PLP - Power Loss Protection), высокий ресурс перезаписи. Подходят Intel Optane 900P/905P, Samsung PM1725a, Memblaze PBlaze5. Объём SLOG редко превышает 16-32 ГБ - хранить на нём нужно только несколько секунд транзакций.

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

Расчёт ёмкости и производительности под нагрузку

Полезная ёмкость пула зависит от количества дисков в vdev и уровня RAID-Z. Формулы для vdev из N дисков одинакового размера D:

  • RAID-Z1 (один диск на чётность): полезная ёмкость = D × (N - 1).
  • RAID-Z2 (два диска на чётность): полезная ёмкость = D × (N - 2).
  • RAID-Z3 (три диска на чётность): полезная ёмкость = D × (N - 3).
  • Зеркало: полезная ёмкость = D (при двух дисках) или D × (N / 2) при нескольких зеркалах в пуле.

Пример: пул из шести дисков по 10 ТБ в RAID-Z2 даёт 40 ТБ полезной ёмкости. Два vdev по шесть дисков в RAID-Z2 дают 80 ТБ. Производительность пула масштабируется с количеством vdev: каждый vdev добавляет свою пропускную способность. Один vdev RAID-Z2 из шести HDD обеспечивает около 400-600 IOPS случайного чтения. Два таких vdev дают 800-1200 IOPS.

Для расчёта IOPS используйте формулу: суммарные IOPS = IOPS одного диска × количество дисков данных в vdev × количество vdev. Для HDD со скоростью 7200 об/мин IOPS случайного чтения составляет примерно 100-150. В vdev RAID-Z2 из шести дисков четыре диска хранят данные - это 400-600 IOPS. Для нагрузки виртуализации с требованием 2000 IOPS потребуется минимум четыре vdev RAID-Z2 по шесть дисков или переход на SSD-пул.

Проектирование ZFS-пула: vdev, RAID-Z и стратегия расширения

ZFS-пул состоит из одного или нескольких vdev - виртуальных устройств, каждое из которых является группой физических дисков с определённым уровнем избыточности. vdev - это атомарная единица пула: данные распределяются между всеми vdev пула, и потеря любого vdev уничтожает весь пул без возможности восстановления. Это ключевое правило ZFS, которое определяет все решения по конфигурации.

Типы vdev:

  • Stripe - одиночный диск без избыточности. Отказ диска уничтожает весь пул. Допустим только для временных данных или тестовых сред.
  • Mirror - два или более дисков с полной копией данных на каждом. Максимальная производительность чтения, быстрое перестроение при отказе. Полезная ёмкость равна ёмкости одного диска в зеркале.
  • RAID-Z1 - от трёх дисков, один диск на чётность. Выдерживает отказ одного диска. Перестроение создаёт высокую нагрузку на оставшиеся диски.
  • RAID-Z2 - от четырёх дисков, два диска на чётность. Выдерживает отказ двух дисков. Рекомендуемый минимум для продуктивных сред.
  • RAID-Z3 - от пяти дисков, три диска на чётность. Выдерживает отказ трёх дисков. Подходит для архивных пулов с низкой скоростью перестроения.

Выбор уровня RAID-Z зависит от размера дисков и допустимого окна уязвимости при перестроении. Для HDD объёмом 10 ТБ и более перестроение может занять сутки и дольше. В течение этого времени оставшиеся диски работают под максимальной нагрузкой, и вероятность второго отказа резко возрастает. Для дисков от 8 ТБ рекомендуется RAID-Z2 как минимальный уровень защиты. Для SSD перестроение происходит быстрее, но цена ошибки та же - потеря vdev означает потерю всего пула.

Стратегия расширения: ZFS не поддерживает добавление диска в существующий vdev. Единственный способ увеличить ёмкость пула - добавить новый vdev. Если пул состоит из одного vdev RAID-Z2 на шести дисках, для расширения потребуется добавить второй vdev RAID-Z2 на шести дисках. ZFS начнёт распределять новые записи между обоими vdev, но существующие данные останутся на старом vdev. Это приводит к неравномерной производительности, если vdev разного размера или типа. Правило: все vdev в пуле должны быть одинаковой конфигурации для равномерной нагрузки.

Пошаговое создание пула в интерфейсе TrueNAS

Перед созданием пула убедитесь, что все диски видны в Storage -> Disks и не имеют разделов. Если диски использовались ранее, очистите их через Storage -> Disks -> выберите диск -> Wipe. Операция необратима.

Порядок создания пула в TrueNAS SCALE (интерфейс CORE аналогичен):

  1. Перейдите в Storage -> Pools -> Add.
  2. Нажмите Create Pool.
  3. Введите имя пула. Используйте латиницу, цифры и дефисы. Имя пула нельзя изменить после создания.
  4. В блоке Data VDEV нажмите Add VDEV и выберите тип: Mirror, RAID-Z1, RAID-Z2 или RAID-Z3.
  5. Отметьте диски для этого vdev. Интерфейс покажет доступные диски с серийными номерами - сверьте их с физической маркировкой.
  6. При необходимости добавьте ещё vdev через повторное нажатие Add VDEV. Все vdev в пуле должны быть одного типа и размера.
  7. Нажмите Create. Система предупредит о необратимости операции - подтвердите действие.

После создания пула система автоматически смонтирует его в /mnt/имя_пула. Проверьте статус командой zpool status в Shell. Вывод должен показать все vdev со статусом ONLINE и нулевым счётчиком ошибок. На этом этапе пул готов к созданию датасетов и настройке шар.

Настройка кэширования: L2ARC и SLOG для ускорения работы

L2ARC - это кэш чтения второго уровня на SSD. Первый уровень - ARC в оперативной памяти. Когда ARC заполняется, наименее востребованные блоки вытесняются в L2ARC, а не удаляются. При последующем запросе эти блоки читаются с SSD, что быстрее обращения к HDD. Ключевое ограничение: для индексации L2ARC требуется оперативная память. Каждый блок в L2ARC потребляет примерно 70 байт в ARC для хранения указателя. При объёме L2ARC в 500 ГБ накладные расходы составят около 3.5 ГБ RAM. Если оперативной памяти недостаточно, L2ARC начнёт вытеснять из ARC полезные данные, снижая общую производительность.

Правило включения L2ARC: сначала максимизируйте ARC, добавив RAM. Для TrueNAS минимальный объём оперативной памяти - 8 ГБ, рекомендуемый для продуктивных сред - 16 ГБ и более. Если после этого hit ratio ARC (попадания в кэш) держится ниже 90%, добавление L2ARC может помочь. Если hit ratio выше 95%, L2ARC не даст заметного ускорения.

SLOG - это отдельное устройство для ZFS Intent Log. При синхронной записи (NFS, iSCSI с включённой синхронизацией) данные сначала попадают в ZIL, который по умолчанию размещается на основных дисках пула. SLOG выносит ZIL на быстрый NVMe-накопитель с защитой от потери питания. Запись подтверждается клиенту, как только данные оказываются на SLOG, без ожидания сброса на HDD. Это снижает задержку синхронной записи в десятки раз. При асинхронной записи (SMB по умолчанию) ZIL не используется - SLOG не даёт эффекта.

Добавление кэш-устройств в существующий пул через GUI:

  1. Storage -> Pools -> выберите пул -> шестерёнка -> Add Vdevs.
  2. Для L2ARC: выберите Cache VDEV, отметьте SSD-накопители.
  3. Для SLOG: выберите Log VDEV, отметьте NVMe-накопитель.
  4. Нажмите Add. Устройства подключаются на лету, без остановки пула.

Мониторинг эффективности кэша

Оценка работы ARC и L2ARC выполняется командой arc_summary. Ключевые метрики:

  • ARC Hit Ratio - процент запросов, обслуженных из оперативной памяти. Значение выше 90% показывает эффективный кэш.
  • L2ARC Hit Ratio - процент запросов, обслуженных из L2ARC. Значение ниже 10% при активном использовании пула сигнализирует о бесполезности L2ARC.
  • L2ARC Size - текущий размер кэша на SSD. Если он не растёт при активной работе, возможно, не хватает RAM для индексации.

Нагрузка на SLOG оценивается через zpool iostat -v имя_пула. Столбец write показывает объём данных, проходящих через SLOG. Если при синхронной нагрузке (NFS, iSCSI) запись на SLOG близка к нулю - проверьте настройки клиента: вероятно, используется асинхронный режим.

Признаки неэффективного кэша: L2ARC Hit Ratio стабильно ниже 5%, ARC Hit Ratio падает после добавления L2ARC, задержка синхронной записи не изменилась после подключения SLOG. В этих случаях удалите кэш-устройства из пула - операция безопасна и выполняется на лету через тот же интерфейс Add Vdevs -> Remove.

Типовые ошибки при сборке и настройке TrueNAS

Первая и самая разрушительная ошибка - использование RAID-контроллера вместо HBA в IT-режиме. Последствия: невозможность восстановления пула после отказа контроллера, скрытое повреждение данных, потеря всех дисков при переносе на другое оборудование. Решение: до установки TrueNAS убедитесь, что каждый диск виден с родным серийным номером в выводе camcontrol devlist (CORE) или lsblk (SCALE).

Вторая ошибка - смешивание дисков разных моделей в одном vdev. Диски различаются задержкой, скоростью вращения, алгоритмами кэширования. ZFS выравнивает операции по самому медленному диску. Последствия: падение производительности всего пула на 20-40%, непредсказуемое поведение при перестроении. Решение: закупайте диски одной партией, с запасом на замену.

Третья ошибка - создание пула без избыточности для важных данных. Stripe-пул на одном или нескольких дисках без чётности или зеркала разрушается при отказе любого диска. Решение: для данных, потеря которых стоит денег, используйте минимум RAID-Z2 или трёхстороннее зеркало.

Четвёртая ошибка - экономия на оперативной памяти. TrueNAS с ZFS требует минимум 8 ГБ для базовой работы. При использовании дедупликации требования возрастают до 5 ГБ RAM на 1 ТБ данных. Недостаток памяти приводит к падению hit ratio ARC и деградации производительности в 5-10 раз. Решение: закладывайте в бюджет сервера 16-64 ГБ ECC RAM в зависимости от объёма пула.

Пятая ошибка - игнорирование SMART-мониторинга. ZFS обнаруживает ошибки контрольных сумм, но не предсказывает механический износ диска. Настройте регулярные SMART-тесты (Storage -> Disks -> Edit -> S.M.A.R.T. Tests) и оповещения на критические атрибуты: Reallocated Sectors, Pending Sectors, UDMA CRC Errors.

Проверка совместимости оборудования и ресурсы

Перед покупкой комплектующих проверяйте совместимость по чипу, а не по бренду. Контроллеры Dell, IBM, Lenovo на чипах LSI аппаратно идентичны и отличаются только прошивкой. Ресурсы для проверки:

  • Официальный список совместимого оборудования TrueNAS на сайте iXsystems - ориентируйтесь на раздел для вашей версии (CORE или SCALE).
  • Форум сообщества TrueNAS - раздел Hardware содержит отзывы о конкретных комбинациях материнских плат, HBA и дисков.
  • Репозитории прошивок для LSI-контроллеров на ресурсах сообщества - проверяйте контрольные суммы файлов перед прошивкой.

Для углублённого изучения смежных тем рекомендуем материалы нашей базы знаний. Если вы определяетесь между готовым NAS и самостоятельной сборкой, изучите сравнение NAS, DAS и самосборных систем на TrueNAS. После создания пула потребуется настроить сетевой доступ - воспользуйтесь руководством по настройке SMB, NFS и FTP в TrueNAS. Для критичных данных реализуйте Air-Gap резервное копирование TrueNAS на внешние диски и ленточные накопители.

Если вы разворачиваете тестовую среду для проверки конфигураций перед продуктовым внедрением, облачная инфраструктура Timeweb Cloud предоставляет VDS и хранилища с гибким масштабированием ресурсов. Для автоматизации рутинных операций с TrueNAS через API можно использовать AiTunnel - агрегатор API для нейросетей, который упрощает генерацию скриптов и конфигураций.

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