Выбор железа для TrueNAS — это не просто сборка ПК. Это создание фундамента для надёжной системы хранения данных. Давай разберем, какие минимальные требования действительно важны, а на чём можно сэкономить без потери стабильности.
TrueNAS: Два пути — Scale и Core
Прежде чем говорить о железе, определимся с дистрибутивом. У TrueNAS есть две основные ветки:
- TrueNAS CORE — наследник FreeNAS на базе FreeBSD. Проверенная временем, стабильная система, идеальная для классических задач NAS.
- TrueNAS SCALE — Linux-версия на базе Debian с поддержкой Docker и Kubernetes. Выбор для тех, кому нужны контейнеры, виртуализация и современный стек.
Аппаратные минимальные требования: Разбор по компонентам
Представь, что мы собираем систему с нуля. Вот на что нужно обратить внимание в первую очередь.
1. Процессор (CPU)
Официальный минимум — 64-битный 2-ядерный процессор. Но это лишь для запуска системы. Для ZFS и его проверок целостности данных (checksum) важен не столько минимум ядер, сколько поддержка инструкций AES-NI (для шифрования) и стабильность.
- Абсолютный минимум: Intel Celeron J series, AMD Athlon 3000G (2 ядра/4 потока).
- Рекомендуемый старт: Intel Core i3 / Pentium Gold G6400, AMD Ryzen 3 (4 ядра). Этого хватит для файлового сервера и пары легких служб.
- Для TrueNAS SCALE с контейнерами: От 4 физических ядер (например, Intel Core i5 8-го поколения или AMD Ryzen 5).
2. Оперативная память (RAM) — самый важный пункт
Память для ZFS — это кэш (ARC), место для метаданных и рабочих процессов. Недостаток RAM — главная причина низкой производительности.
| Сценарий использования | Минимальный RAM | Рекомендуемый RAM |
|---|---|---|
| Домашний файловый сервер (SMB/NFS) | 16 ГБ | 32 ГБ |
| Пул с шифрованием или дедупликацией | 32 ГБ | 64 ГБ+ |
| TrueNAS SCALE с приложениями (Docker) | 32 ГБ | 64 ГБ |
Правило для ZFS: Планируй 1-2 ГБ RAM на 1 ТБ дискового пространства для комфортной работы кэша. Используй ECC-память, если материнская плата и процессор поддерживают — это защитит от тихих ошибок.
3. Накопители и контроллеры
- Загрузочный накопитель: Минимум 16 ГБ (USB-флешка — плохая идея!). Используй SSD SATA или M.2 малого объёма (32-128 ГБ) или зеркальную пару для надёжности.
- Диски данных: Все диски в одном пуле должны быть одного размера и желательно одной модели. Минимум для создания пула — 1 диск, но это лишает тебя преимуществ ZFS. Стартуй с зеркала (2 диска) или RAIDZ1 (3+ диска).
- Контроллер (HBA): Критически важный элемент! Избегай RAID-контроллеров (Dell PERC, HP Smart Array). ZFS должен напрямую управлять дисками. Ищи контроллеры в режиме «IT Mode» или «HBA Mode» (например, LSI 9211-8i, его клоны или современные аналоги).
# Проверка, какие диски видит система (в TrueNAS Shell или через SSH)
# Это должны быть настоящие диски (/dev/da0, /dev/sda), а не виртуальные разделы от RAID
root@truenas[~]# geom disk list
4. Сетевая карта (NIC)
Встроенной гигабитной карты (1 GbE) достаточно для минимальных требований. Но если ты планируешь:
- Агрегацию каналов (Link Aggregation/LACP)
- Высокоскоростную передачу данных (10 GbE и выше)
- Изолированные сети для данных и управления
Понадобится дополнительная сетевуха. Выбирай проверенные чипы от Intel (I350, X550) или Mellanox. Избегай Realtek для серьёзных задач.
Пошаговая сборка системы под минимальные требования
Давай соберём пример конфигурации для домашнего использования (файлы, медиатека, бэкапы).
Шаг 1: Выбор платформы и установка
- Скачай образ TrueNAS SCALE или CORE с официального сайта.
- Запиши его на USB-флешку (только для установки!) с помощью BalenaEtcher или Rufus.
- Подключи загрузочный SSD (от 32 ГБ) и диски данных (минимум 2 для зеркала).
- Загрузись с установочной флешки и следуй инструкциям. Укажи загрузочный SSD в качестве целевого диска для системы.
# Пример конфигурации дисков в интерфейсе TrueNAS (псевдокод пути)
# Storage -> Disks -> все диски данных должны быть видны как отдельные устройства (ada1, ada2...)
# НЕ должно быть записей типа "HP LOGICAL VOLUME" или "Dell Virtual Disk"
Шаг 2: Создание пула (Pool) и настройка ZFS
В веб-интерфейсе (обычно http://IP_адрес_машины):
- Перейди в Storage -> Pools.
- Нажми "Add Pool".
- Выбери диски. Для минимальной отказоустойчивости выбери тип виртуализации (VDEV) Mirror и добавь в него 2 диска.
- Задай имя пула (например, "tank").
- Важно: Настройки (Settings) пула:
compression: lz4 (включено по умолчанию, не отключай!)atime: off (для повышения производительности)deduplication: off (требует огромного количества RAM!)
Шаг 3: Создание набора данных (Dataset) и общих ресурсов (Shares)
Пул создан. Теперь внутри него создай логические разделы — Dataset'ы.
# Пример создания dataset через CLI (можно сделать в GUI)
# Создаём dataset для медиафайлов с определёнными квотами и компрессией
zfs create tank/media
zfs set compression=lz4 tank/media
zfs set quota=2T tank/media # Ограничение в 2 ТБ
Затем в Sharing создай общий ресурс SMB (для Windows/macOS) или NFS (для Linux), указав путь к созданному dataset.
Частые ошибки и как их избежать
- Ошибка: Использование RAID-контроллера в режиме по умолчанию. Решение: Перепрошить в IT Mode или купить готовый HBA.
- Ошибка: 8 ГБ RAM на пул в 4x4TB. Система будет постоянно свопиться. Решение: Увеличить RAM минимум до 16 ГБ.
- Ошибка: Загрузка системы на USB-флешку. Флешка «умрёт» через несколько месяцев. Решение: Использовать SSD.
- Ошибка: Создание пула из одного диска без понимания рисков. Решение: Начинать хотя бы с зеркала (2 диска).
Оптимизация под низкопрофильные системы
Если ты жёстко ограничен бюджетом (старый ПК, мини-сервер):
- Отключи всё лишнее в BIOS/UEFI: Встроенное аудио, лишние порты SATA, если не используются.
- Настрой энергосбережение: В TrueNAS (System -> Advanced) можно настроить
Power Daemonи управление дисками (HDD spin down). - Управляй кэшем ARC: Если RAM меньше 16 ГБ, можно немного уменьшить максимальный размер ARC, чтобы системе хватило памяти для процессов.
bash
# В командной строке TrueNAS (временная настройка) sysctl vfs.zfs.arc_max=8589934592 # Ограничивает ARC до 8 ГБ # Для постоянного изменения добавь параметр в System -> Tunables