TrueNAS.com: Установка, настройка, ZFS, SMB, NFS | Гайд 2024 | AdminWiki

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

26 января 2026 8 мин. чтения #devops #nas #nfs #replication #samba #storage #truenas #zfs

Если ты ищешь надежное, enterprise-уровневое решение для хранения данных с открытым исходным кодом, то TrueNAS.com — это твой выбор. Это не просто "сетевая папка", а полноценная операционная система на базе FreeBSD (TrueNAS CORE) или Debian Linux (TrueNAS SCALE), заточенная под работу с файловыми системами ZFS. Давай разберем, как с нуля развернуть и настроить свой NAS, используя подход Senior DevOps инженера.

Что такое TrueNAS и зачем он нужен?

Представь, что тебе нужно централизованное хранилище для дома или офиса, которое должно быть:

  • Надежным: Защита от битых секторов (самолечение ZFS), контрольные суммы данных.
  • Масштабируемым: Легко добавить диски в пул или заменить на более емкие.
  • Быстрым: Кэширование в оперативной памяти (ARC, L2ARC) и на SSD (SLOG).
  • Универсальным: Поддержка протоколов SMB (Windows), NFS (Linux), iSCSI (виртуализация), AFP (Mac).
  • С репликацией: Снимки (snapshots) и их отправка на другой сервер для бэкапа.

Именно это предлагает TrueNAS.com. Скачать дистрибутив можно прямо с официального сайта.

Важно: TrueNAS CORE (FreeBSD) — классика, стабильность и проверенные драйверы. TrueNAS SCALE (Linux) — это KVM, Docker и Kubernetes "из коробки". Для начала рекомендую CORE.

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

Для установки тебе понадобится флешка (от 8 ГБ) и целевой сервер/ПК с минимум 8 ГБ ОЗУ (лучше 16+). ZFS любит память.

1.1 Скачивание образа с TrueNAS.com

Иди на страницу загрузки TrueNAS.com, выбери CORE или SCALE и скачай файл .iso.

1.2 Запись образа на USB-накопитель

Используй утилиту Rufus (Windows) или dd (Linux/Mac). Вот команда для Linux:

bash
# ЗАМЕНИ /dev/sdX на свою флешку! Эта команда ее полностью сотрет.
sudo dd if=./TrueNAS-CORE-13.0-U5.1.iso of=/dev/sdX bs=1M status=progress
sudo sync
Опасно: Убедись, что указываешь правильное устройство (/dev/sdX). Неправильный выбор уничтожит данные на другом диске.

1.3 Установка на сервер

Загрузись с флешки, выбери Install/Upgrade. Ключевые моменты установки:

  • Выбери диск для установки ОС (например, маленький SSD на 120 ГБ). Система будет жить здесь.
  • Не используй для ОС диски, которые планируешь добавить в пул данных!
  • Задай пароль для root. Запомни его — он понадобится для входа в веб-интерфейс.
  • Настрой статический IP или DHCP (статический IP предпочтительнее для сервера).

После перезагрузки система покажет IP-адрес. Открой его в браузере.

Шаг 2: Базовая настройка через веб-интерфейс

Войди под root и заданным паролем. Первым делом — настрой сеть.

2.1 Настройка сетевых интерфейсов

Иди в Network → Interfaces. Для лучшей производительности и отказоустойчивости настрой LACP (Link Aggregation), если у тебя два порта и управляемый коммутатор.

config
# Пример конфига LACP через CLI (можно сделать и в GUI)
ifconfig lagg0 create
ifconfig lagg0 up laggproto lacp laggport igb0 laggport igb1
ifconfig lagg0 inet 192.168.1.10 netmask 255.255.255.0

2.2 Создание пула хранения (ZFS Pool)

Это сердце системы. Иди в Storage → Pools → ADD.

  • RaidZ1 (аналог RAID5): 1 диск на отказ. Минимум 3 диска. Хорош для медиа-хранилища.
  • RaidZ2 (аналог RAID6): 2 диска на отказ. Минимум 4 диска. Для критичных данных.
  • Mirror (аналог RAID1): Высокая производительность, но малая эффективная емкость. Минимум 2 диска.
  • Stripe: Без избыточности. Не используй для важных данных.

Выбери диски (VDEVs) и тип RAID. Назови пул, например, tank.

Совет DevOps: Для homelab можно начать с RaidZ1 из 4 дисков. Это баланс между надежностью, емкостью и стоимостью. Всегда имей запасной диск (hot spare) на полке.

Шаг 3: Создание и настройка общих ресурсов (Shares)

3.1 Создание набора данных (Dataset)

Перед созданием шары создай Dataset — это как раздел внутри пула. У него можно задать квоты, тип сжатия (lz4 — обязательно включи!) и политики снапшотов.

Storage → Pools. Нажми три точки у пула → Add Dataset.

  • Имя: media, backup, home.
  • Compression: lz4 (экономит место почти без нагрузки на CPU).
  • Share Type: SMB для Windows, NFS для Linux.

3.2 Настройка SMB (Samba) шары

Иди в Sharing → Windows Shares (SMB) → ADD.

  • Укажи путь: /mnt/tank/media
  • Настрой права (ACL): Это важно! Включи "Use ACL".

После создания зайди в Edit ACL и настрой права как на Linux:

config
# Идеальные права для домашней папки
Владелец: user1 (чтение/запись/исполнение)
Группа: users (чтение/исполнение)
Другие: нет прав

# ACL для SMB наследуются и работают корректно.

3.3 Настройка NFS шары

Sharing → Unix Shares (NFS) → ADD.

config
# Пример записи в /etc/exports (настраивается в GUI)
/mnt/tank/backup -alldirs -maproot=root -network 192.168.1.0/24
# Разрешаем доступ всей подсети 192.168.1.*

На клиенте Linux смонтируй так:

bash
sudo mount -t nfs 192.168.1.10:/mnt/tank/backup /mnt/nas_backup

Шаг 4: Продвинутые настройки и мониторинг

4.1 Настройка периодических снапшотов (Snapshots)

Снапшоты ZFS — это моментальные снимки состояния данных. Они занимают мало места (только изменения) и спасают от случайного удаления или ransomware.

Storage → Periodic Snapshot Tasks → ADD.

  • Dataset: tank/media
  • Schedule: Каждый день в 2:00 ночи.
  • Lifetime: Хранить 2 недели, 12 месячных снапшотов.

4.2 Репликация на другой TrueNAS (Remote Backup)

Мощнейшая фича. Ты можешь отправлять снапшоты по SSH на другой сервер, хоть в облако.

Tasks → Replication Tasks → ADD.

  1. Настрой SSH-ключи между серверами (Source -> Destination).
  2. Выбери локальный dataset и удаленный хост.
  3. Запускай репликацию по расписанию (например, раз в день).
bash
# Пример команды, которую генерирует GUI (zfs send/receive)
zfs send -R tank/media@auto-20231201_0200 | \
  ssh user@backup-nas "zfs receive -F tank/backup/media"

4.3 Мониторинг через CLI и настройка оповещений

Зайди в Shell (кнопка в веб-интерфейсе) и проверь здоровье пула:

bash
# Статус пула
zpool status tank

# Проверка на ошибки (scrub). Запускай раз в месяц.
zpool scrub tank

# Просмотр использования
zpool list
zfs list -t snapshot # Все снапшоты

Настрой оповещения по email в System → Alert Services → ADD. Укажи SMTP своего почтового ящика. TrueNAS будет присылать письма при ошибках диска, заполнении пула или сбое репликации.

Сравнение TrueNAS CORE и SCALE

Критерий TrueNAS CORE TrueNAS SCALE
Основа FreeBSD Debian Linux
Гипервизор Bhyve (базовый) KVM (полноценный)
Контейнеры Jails (FreeBSD) Docker + Kubernetes
Драйверы железа Стабильнее, особенно для HBA-контроллеров Шире, но могут быть "сырые"
Кому подходит Чистое хранилище, максимальная стабильность Хостинг VM/контейнеров, homelab "все в одном"

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

Можно ли обновить CORE до SCALE?

Да, есть миграционный путь, но это не простое обновление. Это переустановка с экспортом/импортом конфигурации и данных. Перед этим сделай полный бэкап конфига (System → General → Save Config) и убедись в совместимости оборудования с Linux.

Почему ZFS ест много оперативной памяти?

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

Как добавить диски в существующий пул?

Есть два способа: 1) Расширить существующий VDEV — нельзя, архитектурное ограничение ZFS. 2) Добавить новый VDEV в пул — можно, но данные распределятся по всем VDEV (как RAID 0 поверх RAID групп). Добавляй VDEV того же типа и размера, чтобы не было дисбаланса.

TrueNAS можно запустить в виртуальной машине?

Да, для тестирования — легко. Для продакшена с реальными данными — не рекомендуется, если ты не можешь гарантировать прямой доступ (PCIe Passthrough) контроллера дисков (HBA) к виртуальной машине. Без этого теряется надежность ZFS.

Заключение от DevOps Ментора

TrueNAS.com предоставляет, возможно, лучшее бесплатное решение для построения отказоустойчивого хранилища. Ключевые моменты для успеха:

  • Используй аппаратное RAID-контроллеры в режиме HBA (IT Mode) или встроенные порты SATA.
  • Включи сжатие lz4 на всех datasets — это бесплатная экономия места.
  • Настрой автоматические снапшоты и репликацию на второй аппарат. Один NAS — это не бэкап.
  • Мониторь SMART-атрибуты дисков и ставь оповещения.

Начни с простой конфигурации, пойми принципы ZFS, а затем масштабируйся. Удачи в построении твоего надежного хранилища!

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