TrueNAS SCALE — свободный дистрибутив для сетевого хранилища, построенный на Debian и ZFS. С версии 25.04 проект называется TrueNAS Community Edition, но прежнее имя по-прежнему узнаваемо. Дома он закрывает несколько задач: общий каталог, бэкап ноутбуков, медиатека и площадка для контейнеров. Ниже — путь от выбора железа до обслуживания пула.
Железо: где экономить нельзя
Основа стабильности — контроллер и диски. SATA-порты материнской платы подходят для четырёх-шести дисков, дальше нужен HBA на чипах LSI в режиме IT: аппаратный RAID скрывает от ZFS отдельные накопители и мешает восстановлению. Диски с черепичной записью (SMR) в RAIDZ лучше не ставить: при перестройке массива они проседают до единиц мегабайт в секунду.
ECC-память желательна, но не обязательна. Практический минимум — 8 ГБ, с приложениями — 16 ГБ и больше: ARC забирает свободную память под кэш. Система ставится на отдельный SSD или зеркало из двух SSD.
Установка и базовая настройка
Образ записывается на флешку, установщик просит выбрать загрузочный диск и задать пароль администратора. После первой загрузки система доступна по адресу из консоли. Сразу назначьте статический IP и включите синхронизацию времени: без NTP плохо работают журналы и сертификаты.
Веб-интерфейс слушает порт 80 с редиректом на 443. Самоподписанный сертификат браузер пометит как недоверенный — для домашней сети это нормально, но наружу интерфейс не открывайте. Проверить состояние системы из консоли под root можно так:
midclt call system.info | jq '{version, hostname, uptime}'
zpool import
ip -br addr show
timedatectl status
Пул, датасеты и компрессия
Пул создаётся в разделе Storage. Для четырёх дисков разумны два зеркала вместо RAIDZ1: перестройка быстрее, риск ниже. RAIDZ2 оправдан на шести и более дисках, когда важнее ёмкость.
Внутри пула заведите датасеты под разные данные: документы, медиа, виртуальные машины, бэкапы. Датасет — единица управления квотами, снапшотами и правами. Для медиа выставьте recordsize=1M, для баз данных и образов ВМ — 16K, компрессию zstd можно включить почти везде, она экономит место и обычно не бьёт по процессору.
zfs create -o quota=2T tank/media
zfs create -o recordsize=16K tank/vms
zfs set compression=zstd tank
zfs list -o name,used,avail,refer,quota,compression
zfs get recordsize,compression tank/media
Квота защищает пул от случайного заполнения: когда медиатека упрётся в лимит, ZFS вернёт ошибку записи, а не выест место у бэкапов. Не ставьте квоту на весь пул — оставьте запас под снапшоты, которые тоже занимают место. Держите не меньше 20% свободного места: при заполнении пула ZFS записывает данные медленнее, поэтому следите за объёмом заранее.
SMB и NFS: доступ с клиентов
SMB используют Windows, macOS и телевизоры, NFS — Linux-серверы и гипервизоры. Включите сервис, создайте пользователя и группу, назначьте ACL: владельцу — полный доступ, группе — чтение и запись, остальным — ничего.
Гостевая запись без пароля опасна: любой в сети сможет удалить файлы. Анонимное чтение, если нужно, ограничьте отдельным датасетом. Проверка с клиента:
smbclient -L //192.168.1.10 -U dima
smbclient //192.168.1.10/media -U dima -c 'ls'
showmount -e 192.168.1.10
sudo mount -t nfs 192.168.1.10:/mnt/tank/media /mnt/media
Для NFS пропишите подсеть клиентов, иначе экспорт откроется всем. NFSv4.2 даёт блокировки и ACL, NFSv3 иногда быстрее на старом железе.
Снапшоты по расписанию
Снапшот в ZFS — мгновенный снимок состояния, который не копирует данные. Расписание настраивается в Tasks → Periodic Snapshot Tasks: например, каждый час с хранением 24 копий, ежедневно — 14, еженедельно — 8. Снапшоты не заменяют бэкап: при потере пула исчезнут вместе с ним.
Перед обновлением приложения удобно сделать ручной снимок с понятным именем. Откат есть в интерфейсе, но полезно уметь и в консоли:
zfs snapshot tank/media@before-cleanup-2026-11-05
zfs list -t snapshot -o name,used,creation -s creation | tail -20
zfs rollback tank/media@before-cleanup-2026-11-05
zfs destroy tank/media@old-snapshot
Помните: rollback удаляет снапшоты новее выбранного. Перед откатом смонтируйте снимок в отдельный каталог и скопируйте файлы вручную.
Репликация на второй сервер
Репликация переносит снапшоты на резервный NAS. В TrueNAS задача создаётся в Data Protection → Replication Tasks, требует SSH-ключ и настроенного получателя. Инкрементальный поток передаёт только блоки, изменившиеся с прошлого снимка, поэтому ежедневная копия терабайта занимает минуты.
Для ручной проверки канала нужны настроенные SSH-ключи и родительский датасет на приёмнике.
zfs send -i tank/media@2026-11-01 tank/media@2026-11-05 | ssh backup zfs recv backup/media
zfs list -t snapshot -r backup/media | tail
ssh backup zpool status -x
После первой полной копии проверьте, что на приёмнике появились снапшоты и данные читаются. Репликация без проверки восстановления — это надежда, а не резервная копия.
Обслуживание: scrub, SMART и питание
ZFS проверяет контрольные суммы при чтении, но раз в месяц нужен scrub — полное чтение пула. На больших дисках он идёт часами, поэтому запускайте его ночью. SMART-тесты настройте отдельно: короткий ежедневно, длинный раз в неделю.
zpool scrub tank
zpool status -v
smartctl -a /dev/sda
smartctl -t long /dev/sda
zpool events -v | tail -50
Настройте уведомления на почту или в Telegram через встроенные алерты. Отдельно проверьте ИБП: при пропадании питания сервер должен корректно завершить работу. NUT настраивается в Services → UPS и требует USB-кабеля от источника.
Приложения и виртуальные машины
Начиная с версии 24.10 приложения в TrueNAS SCALE работают на Docker, а виртуальные машины — на Incus. Для дома хватает Jellyfin, Immich, Syncthing и Portainer. Следите за памятью: каждый контейнер с базой данных отнимает её у ARC.
Каталоги приложений держите на отдельном датасете, чтобы снапшоты не захватывали гигабайты временных файлов.
Чек-лист первого месяца
- Пул собран на дисках без SMR, HBA работает в режиме IT.
- Настроены статический IP, NTP и уведомления на внешний адрес.
- Датасеты разделены по данным, квоты не дают пулу заполниться.
- Расписание снапшотов и репликация проверены восстановлением файлов.
- Scrub и SMART-тесты стоят в календаре, ИБП подключён.
- Пароль администратора сложный, SSH-доступ ограничен ключами.
- Копия конфигурации и список дисков сохранены вне сервера.
Итог
TrueNAS SCALE даёт домашнему серверу предсказуемость: ZFS следит за целостностью, снапшоты спасают от ошибок, репликация — от отказа железа. Главные ошибки новичка — аппаратный RAID, диски SMR и отсутствие проверки бэкапа. Если железо подобрано правильно, а расписания настроены, хранилище годами работает без вмешательства, и вы вспоминаете о нём только при обновлении.