TrueNAS Linux: Установка, настройка ZFS и управление хранилищем | AdminWiki

TrueNAS Linux: Полное руководство по установке и настройке для DevOps

31 января 2026 8 мин. чтения #devops #linux #nas #truenas #zfs #резервное копирование #хранение данных

Представь, что тебе нужно развернуть надежное, отказоустойчивое хранилище для проектов, виртуальных машин или резервных копий. Ты слышал про ZFS и его волшебные свойства — снапшоты, дедупликация, самовосстановление. Но настройка ZFS вручную — это долго и сложно. Вот здесь на сцену выходит TrueNAS Linux — специализированная операционная система, которая превращает любой сервер в профессиональную систему хранения данных с удобным веб-интерфейсом. Давай разберем, как с ней работать.

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

TrueNAS Linux (ранее известный как TrueNAS CORE) — это свободная операционная система на базе FreeBSD, оптимизированная для работы с ZFS. Однако существует и TrueNAS SCALE — версия на базе Linux (Debian), которая добавляет поддержку контейнеризации через Docker/Kubernetes. В этом руководстве мы сосредоточимся на основах, общих для обеих платформ, но с уклоном в сторону Linux-экосистемы.

Ключевая идея: TrueNAS абстрагирует сложность ZFS и сетевых протоколов, предоставляя единую панель управления для создания пулов дисков, шаринга данных (SMB, NFS, iSCSI), настройки репликации и мониторинга.

Основные возможности TrueNAS

  • Управление ZFS: Создание пулов (vdevs), RAID-Z, снапшоты, клонирование, дедупликация, компрессия.
  • Сетевые сервисы: SMB/CIFS (для Windows), NFS (для Linux), AFP, iSCSI (для виртуальных машин).
  • Репликация и резервное копирование: Периодические снапшоты, репликация на другой TrueNAS или облако (S3, SFTP).
  • Мониторинг и оповещения: Графики использования дисков, SMART-тесты, email/telegram уведомления.
  • Виртуализация и контейнеры (SCALE): Запуск Docker-контейнеров и виртуальных машин через встроенный KVM.

Подготовка к установке TrueNAS

Для тестового стенда подойдет даже старый ПК с 8+ ГБ ОЗУ и двумя-тремя дисками (SSD/HDD). Для продакшена — серверное железо с ECC памятью. Важно: TrueNAS устанавливается на отдельный накопитель (USB-флешка, SSD), который не будет частью пула данных.

Внимание! Не используй для установки тот же диск, который планируешь добавить в пул данных. Системный диск будет отформатирован.

Шаг 1: Загрузка образа и создание установочного носителя

Скачай последний стабильный образ TrueNAS SCALE (Linux-based) с официального сайта. Запиши его на USB-флешку с помощью dd или BalenaEtcher.

bash
# Пример записи образа на флешку /dev/sdb (ПРОВЕРЬ ДИСК!)
dd if=truenas-scale.iso of=/dev/sdb bs=1M status=progress

Пошаговая установка TrueNAS Linux

Шаг 2: Загрузка и установка

  1. Загрузись с созданной флешки.
  2. В меню выбери Install/Upgrade.
  3. Выбери диск для установки системы (например, небольшой SSD 120 ГБ).
  4. Задай пароль для root (он понадобится для веб-интерфейса и SSH).
  5. Настрой сетевой интерфейс (лучше статический IP). Запомни этот IP.
  6. Дождись завершения установки, извлеки флешку и перезагрузись.

Шаг 3: Первый вход и базовая настройка

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

bash
# Если забыл IP, можно подключиться по консоли или найти через сканирование сети
ssh root@truenas.local  # или по IP
# Либо посмотреть в консоли сервера: ifconfig | grep inet

Войди в веб-интерфейс (логин: root, пароль: тот, что задал при установке). Первым делом:

  • Обнови систему через System → Update.
  • Настрой NTP (System → NTP Servers).
  • Проверь состояние дисков в Storage → Disks.

Создание пула ZFS и настройка хранилища

Вот самая важная часть. Представь, что у тебя есть 4 диска по 4 ТБ. Давай создадим пул с RAID-Z1 (аналог RAID5), который переживет выход одного диска из строя.

Шаг 4: Создание пула (Pool)

  1. Перейди в Storage → Pools, нажми AddCreate new pool.
  2. Присвой имя, например tank.
  3. Перетащи диски в секцию Data VDevs. Выбери тип RAID-Z1.
  4. Настрой дополнительные опции (рекомендуется):
    • Compression: lz4 (быстро, хорошая степень сжатия)
    • Enable atime: off (уменьшает нагрузку)
    • ZFS Deduplication: off (включай только если уверен — требует много RAM)
  5. Нажми Create. Пул будет инициализирован.
Совет от ментора: Для лучшей производительности создай отдельный VDev из SSD для кэша (L2ARC) и логов (ZIL/SLOG), если у тебя много операций записи.

Шаг 5: Создание набора данных (Dataset)

Dataset — это аналог раздела внутри пула. Создадим отдельный dataset для бэкапов и для медиа.

config
# Пример структуры datasets, которую ты создашь через GUI:
tank
├── backups    # тип: Filesystem, компрессия: lz4
├── media      # тип: Filesystem, компрессия: lz4
└── vm-disks   # тип: ZVOL, для iSCSI

В интерфейсе: выбери пул → Add Dataset. Для бэкапов установи Compression=lz4, Share Type=SMB (если будешь использовать с Windows).

Настройка сетевого доступа (SMB/NFS)

Шаг 6: Настройка SMB-шары (для Windows/Linux/macOS)

  1. Перейди в Sharing → Windows Shares (SMB).
  2. Нажми Add, выбери dataset backups.
  3. Настрой права:
    • Path: /mnt/tank/backups
    • Purpose: No presets (или Multi-user time machine)
    • Enable ACL: Да
  4. Включи службу SMB в Services → SMB.

Шаг 7: Настройка NFS-шары (для Linux-серверов)

config
# Пример экспорта NFS, который можно настроить в TrueNAS:
# В интерфейсе: Sharing → Unix Shares (NFS) → Add
# Path: /mnt/tank/media
# Network: 192.168.1.0/24
# Privileges: Read/Write

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

bash
# На клиентской машине
sudo mount -t nfs 192.168.1.100:/mnt/tank/media /mnt/media
# Для автопримонтирования добавь в /etc/fstab:
192.168.1.100:/mnt/tank/media  /mnt/media  nfs  defaults  0  0

Автоматизация: снапшоты и репликация

Сила ZFS — в моментальных снапшотах. Настроим периодические снапшоты и их отправку на другой сервер.

Шаг 8: Периодические снапшоты (Periodic Snapshot Tasks)

  • Перейди в Data Protection → Periodic Snapshot Tasks.
  • Добавь задачу для dataset tank/backups.
  • Настрой расписание: например, каждый день в 2:00, хранить 7 дней.
  • Снапшоты занимают минимум места (только изменения).

Шаг 9: Репликация на другой TrueNAS (или удаленный сервер)

config
# Пример задачи репликации через интерфейс:
# Data Protection → Replication Tasks → Add
# Source: tank/backups
# Destination: ssh://user@backup-server/mnt/backup-pool
# Schedule: Daily at 3:00
# Компрессия и инкрементная отправка включены по умолчанию.

Мониторинг и обслуживание

TrueNAS умеет следить за здоровьем системы. Настроим SMART-тесты и оповещения.

Шаг 10: Настройка SMART-тестов и оповещений

  1. SMART-тесты: Storage → Disks → выбери диск → SMART TestsAdd. Настрой короткий тест раз в день и длинный раз в неделю.
  2. Оповещения: System → Alert Settings. Добавь email (или Telegram через webhook).
  3. Графики: Reporting показывает нагрузку на диски, сеть, память.

Сравнение TrueNAS CORE (FreeBSD) и TrueNAS SCALE (Linux)

Критерий TrueNAS CORE TrueNAS SCALE
Базовая ОС FreeBSD Linux (Debian)
Контейнеры Jails (FreeBSD) Docker + Kubernetes
Виртуализация Bhyve KVM
Масштабирование Вертикальное Горизонтальное (кластеры)
Для кого Традиционные NAS DevOps, гибридные среды

Частые вопросы (FAQ) по TrueNAS Linux

Можно ли обновить аппаратуру без потери данных?

Да, ZFS позволяет заменять диски на более крупные по одному (после замены каждого запусти zpool online -e poolname disk). Когда все диски заменены, пул автоматически расширится.

Как мигрировать данные со старого NAS на TrueNAS?

Используй репликацию ZFS (если исходный сервер на ZFS) или rsync через SSH. Для больших объемов подключи диски временно к TrueNAS и импортируй данные.

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

Да, для тестирования. Но для продакшена передавай диски напрямую через PCIe Passthrough (VT-d/AMD-Vi), иначе потеряешь производительность и некоторые функции SMART.

Как настроить резервное копирование на облако (S3)?

Используй задачу Cloud Sync в разделе Data Protection. Поддерживаются Backblaze B2, AWS S3, Google Cloud, SFTP и другие.

Финальный совет: TrueNAS — это мощный инструмент, который избавляет от рутины управления ZFS. Начни с тестового стенда, поэкспериментируй со снапшотами и репликацией, а затем развертывай в продакшене. Не забывай про правило 3-2-1 для бэкапов: три копии данных, на двух разных носителях, одна из которых в другом месте.

Теперь у тебя есть пошаговый план развертывания собственного надежного хранилища на базе TrueNAS Linux. Это основа, на которую ты можешь добавлять сервисы в виде контейнеров (в SCALE), настраивать iSCSI для виртуальных машин или организовать георепликацию между офисами. Экспериментируй, делай снапшоты перед крупными изменениями — и твои данные будут в безопасности.

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