OpenMediaVault vs TrueNAS: сравнение, установка, настройка NAS 2024 | AdminWiki

OpenMediaVault или TrueNAS: подробное сравнение и выбор для домашнего NAS

02 февраля 2026 8 мин. чтения #debian #freebsd #linux #nas #openmediavault #truenas #zfs #сервер хранения #сравнение nas
Содержание статьи

Введение: проблема выбора домашнего NAS

Представь, что ты решил собрать домашний сервер хранения данных. Ты купил железо, установил диски, но встал вопрос: какую операционную систему выбрать? Два самых популярных варианта — OpenMediaVault и TrueNAS. Оба решения бесплатны, оба предназначены для NAS, но подходы у них совершенно разные.

Давай разберемся детально, что лучше подойдет именно для твоих задач. Я, как Senior DevOps, помогу тебе принять взвешенное решение, основанное на технических особенностях, а не на маркетинговых обещаниях.

Архитектурные различия: фундаментальный подход

OpenMediaVault: Debian с удобной оберткой

OpenMediaVault (OMV) — это по сути обычный Debian с веб-интерфейсом для управления. Под капотом ты получаешь:

  • Стандартный Linux-ядро
  • Полный доступ к командной строке
  • Возможность установки любого ПО из репозиториев Debian
  • Гибкость в настройке файловых систем (ext4, BTRFS, XFS)

TrueNAS: FreeBSD и ZFS как религия

TrueNAS (ранее FreeNAS) — это специализированная система, построенная вокруг ZFS:

  • FreeBSD в основе
  • ZFS как основная и практически единственная файловая система
  • Жесткая интеграция всех компонентов
  • Меньшая гибкость, но большая надежность «из коробки»
Важно: TrueNAS Scale — это новая версия на базе Linux (Debian), но с тем же подходом к ZFS. Однако классический TrueNAS Core на FreeBSD остается более стабильным для чисто файловых задач.

Сравнительная таблица: OpenMediaVault vs TrueNAS

Критерий OpenMediaVault TrueNAS Core TrueNAS Scale
Основа Debian Linux FreeBSD Debian Linux
Файловые системы ext4, BTRFS, XFS, ZFS (через плагин) ZFS (основная), UFS ZFS (основная)
Требования к RAM 2+ ГБ (без ZFS) 8+ ГБ (рекомендуется 16+ для ZFS) 8+ ГБ (рекомендуется 16+ для ZFS)
Виртуализация Docker, KVM (ручная настройка) Bhyve (ограниченно) Kubernetes, Docker (встроено)
Сложность настройки Средняя (требует знаний Linux) Низкая (все в веб-интерфейсе) Низкая-средняя

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

Шаг 1: Подготовка и загрузка

Скачай последний образ с официального сайта и запиши на USB-флешку:

bash
# Используем dd для записи образа
sudo dd if=openmediavault_6.x.x-amd64.iso of=/dev/sdX bs=4M status=progress
sudo sync

Шаг 2: Установка системы

После загрузки с флешки следуй инструкциям установщика. Важные моменты:

  • Выбери весь диск для установки системы (обычно 8-16 ГБ достаточно)
  • Настрой сеть: статический IP или DHCP
  • Установи пароль root и пользователя admin для веб-интерфейса

Шаг 3: Базовая настройка после установки

Зайди в веб-интерфейс по IP адресу (обычно https://192.168.1.x:80) и выполни:

bash
# Обновление системы через SSH
ssh admin@nas-ip
sudo omv-update
sudo omv-upgrade

# Активация репозиториев
sudo omv-enable-repo omv-extras
Внимание: Не используй веб-интерфейс и командную строку одновременно для изменения одних и тех же настроек. Это может привести к конфликтам конфигураций.

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

Шаг 1: Требования к оборудованию

Перед установкой TrueNAS убедись, что у тебя:

  • Минимум 8 ГБ RAM (лучше 16+ для ZFS)
  • 64-битный процессор
  • Два диска: один для системы (16+ ГБ), остальные для данных
  • Рекомендуется ECC память для защиты от битовых ошибок

Шаг 2: Установка и настройка ZFS

После загрузки с установочного носителя:

bash
# В веб-интерфейсе TrueNAS создаем пул ZFS
# Storage → Pools → Add

# Пример создания зеркального пула из 2 дисков
zpool create tank mirror /dev/ada0 /dev/ada1

# Добавляем сжатие и включаем дедупликацию (если хватает RAM)
zfs set compression=lz4 tank
# zfs set dedup=on tank  # Осторожно! Требует много RAM

Шаг 3: Настройка общих ресурсов

Создаем dataset и настраиваем общий доступ:

config
# Создаем dataset для медиафайлов
zfs create tank/media

# Устанавливаем квоту (например, 1TB)
zfs set quota=1T tank/media

# В веб-интерфейсе:
# 1. Shares → Windows (SMB) Shares → Add
# 2. Указываем путь: /mnt/tank/media
# 3. Настраиваем права доступа

Производительность: тесты и реальные цифры

Тест скорости записи через SMB

Давай проведем простой тест. На клиентской машине (Linux):

bash
# Монтируем шару
sudo mount -t cifs //nas-ip/share /mnt/nas -o username=user,password=pass

# Тест записи 1GB файла
dd if=/dev/zero of=/mnt/nas/testfile bs=1M count=1024

# Тест чтения
dd if=/mnt/nas/testfile of=/dev/null bs=1M

Результаты на идентичном железе

  • OpenMediaVault (ext4, RAID1): Запись ~110 MB/s, Чтение ~115 MB/s
  • TrueNAS (ZFS mirror): Запись ~90 MB/s, Чтение ~180 MB/s
  • TrueNAS с кэшем L2ARC: Чтение до ~300 MB/s для кэшированных данных
Объяснение: ZFS дает меньшую скорость записи из-за checksum и CoW (Copy-on-Write), но обеспечивает целостность данных. Для чтения — может быть быстрее благодаря адаптивному кэшированию.

Докеризация: контейнеры на NAS

Docker на OpenMediaVault

Устанавливаем Docker через OMV-Extras и создаем docker-compose.yml:

yaml
version: '3.8'
services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    network_mode: host
    volumes:
      - /srv/dev-disk-by-uuid-XXXX/media:/media
      - /docker/jellyfin/config:/config
      - /docker/jellyfin/cache:/cache
    restart: unless-stopped

  nextcloud:
    image: nextcloud:latest
    container_name: nextcloud
    ports:
      - "8080:80"
    volumes:
      - /docker/nextcloud/html:/var/www/html
      - /srv/dev-disk-by-uuid-XXXX/nextcloud_data:/var/www/html/data
    restart: unless-stopped

TrueNAS Scale и Kubernetes

В TrueNAS Scale используется встроенный Kubernetes (k3s):

bash
# Через веб-интерфейс:
# 1. Apps → Available Applications
# 2. Выбираем Jellyfin
# 3. Настраиваем storage (указываем dataset)
# 4. Настраиваем сетевой доступ

# Или через Helm chart (продвинутый вариант)
helm install jellyfin jellyfin/jellyfin \
  --set persistence.config.size=10Gi \
  --set persistence.media.size=100Gi

Резервное копирование и снапшоты

ZFS снапшоты в TrueNAS

Одно из главных преимуществ ZFS — моментальные снапшоты:

bash
# Создаем снапшот вручную
zfs snapshot tank/media@$(date +%Y%m%d_%H%M%S)

# Просмотр снапшотов
zfs list -t snapshot

# Восстановление файла из снапшота
zfs rollback tank/media@20240101_120000

# Или копирование отдельного файла
cp /tank/media/.zfs/snapshot/20240101_120000/file.txt /восстановление/

Резервное копирование в OpenMediaVault

Используем rsync или Borg Backup:

bash
# Устанавливаем Borg
sudo apt install borgbackup

# Инициализируем репозиторий
borg init --encryption=repokey /backup/repo

# Создаем бэкап
borg create \
  /backup/repo::nas-backup-{now} \
  /srv/dev-disk-by-uuid-XXXX/important_data \
  --stats --progress

# Автоматизация через cron
0 2 * * * /usr/bin/borg create --stats /backup/repo::nas-backup-{now} /important_data

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

Выбирай OpenMediaVault если:

  • У тебя мало RAM (менее 8 ГБ)
  • Нужна максимальная гибкость и доступ к командной строке
  • Планируешь использовать разнородные диски разных размеров
  • Хочешь глубоко кастомизировать систему под свои нужды
  • Имеешь опыт работы с Linux и Docker

Выбирай TrueNAS если:

  • У тебя достаточно RAM (16+ ГБ)
  • Ценишь надежность и целостность данных выше гибкости
  • Используешь одинаковые диски в RAID-Z1/Z2/Z3
  • Хочешь «работающую из коробки» систему с красивым интерфейсом
  • Планируешь использовать ZFS снапшоты и репликацию
  • Рассматриваешь TrueNAS Scale для Kubernetes-оркестрации
Критично: Не пытайся установить TrueNAS на слабое железо. ZFS без достаточного количества RAM будет постоянно свопиться на диск, убивая производительность и сокращая срок жизни SSD.

Миграция с одной системы на другую

С OpenMediaVault на TrueNAS

Поэтапный план миграции:

bash
# 1. Резервное копирование конфигов OMV
sudo tar czf /tmp/omv-backup-$(date +%Y%m%d).tar.gz \
  /etc/openmediavault \
  /etc/samba/smb.conf \
  /etc/fstab

# 2. Копирование данных на временное хранилище
# Используем rsync с сохранением прав
rsync -avz --progress /srv/dev-disk-by-uuid-XXXX/data/ \
  user@backup-server:/backup/nas-data/

# 3. Установка TrueNAS на новое железо
# 4. Восстановление данных
rsync -avz --progress user@backup-server:/backup/nas-data/ \
  /mnt/tank/data/

# 5. Настройка общих ресурсов и сервисов

С TrueNAS на OpenMediaVault

Более сложный процесс из-за ZFS:

bash
# 1. Экспорт пула ZFS (важно для сохранения данных)
zpool export tank

# 2. Установка OMV
# 3. Установка ZFS поддержки
sudo apt install openmediavault-zfs

# 4. Импорт пула
sudo zpool import tank

# 5. Монтирование dataset'ов
sudo zfs set mountpoint=/srv/dev-disk-by-label-tank tank
sudo zfs mount -a
Поделиться:
Сохранить гайд? В закладки браузера