Введение: Почему выбор между FreeNAS и TrueNAS — это важное решение
Представь, что ты стоишь перед выбором фундамента для своей системы хранения данных. С одной стороны — проверенная временем FreeNAS, с другой — современная TrueNAS. Обе системы построены на мощнейшей файловой системе ZFS, но имеют ключевые различия. Давай разберемся, какая из них подойдет именно для твоих задач: домашнего медиасервера, тестового стенда или enterprise-хранилища.
TrueNAS vs FreeNAS: Основные отличия и эволюция
Исторически FreeNAS была отдельным проектом с открытым исходным кодом. В 2020 году iXsystems объединила FreeNAS и свою коммерческую систему TrueNAS в единую платформу — TrueNAS CORE (бесплатная) и TrueNAS Enterprise (платная).
| Критерий | FreeNAS (до 2020) | TrueNAS CORE | TrueNAS SCALE |
|---|---|---|---|
| Основа | FreeBSD | FreeBSD | Linux (Debian) |
| Оркестрация | Jails (BSD) | Jails (BSD) | Kubernetes + Docker |
| Целевая аудитория | Энтузиасты, малый бизнес | Производство, предприятия | DevOps, гибридные среды |
| Лицензия | BSD | BSD | Смешанная (Open Source + проприетарные компоненты) |
Как скачать и установить: Пошаговое руководство
Где скачать FreeNAS или TrueNAS
Официальный источник — сайт iXsystems. Для большинства пользователей я рекомендую сразу переходить на TrueNAS.
# Скачиваем последнюю версию TrueNAS CORE
# Переходим на https://www.truenas.com/download-truenas-core/
# Или используем прямую ссылку через wget (пример для версии 13.0)
wget https://download.truenas.com/TrueNAS-13.0-U5.3/TrueNAS-13.0-U5.3.iso
# Проверяем целостность скачанного образа
sha256sum TrueNAS-13.0-U5.3.iso
# Сравниваем хеш с опубликованным на сайте
Процесс установки на физический сервер
- Запиши ISO на USB-накопитель (используй Rufus или dd)
- Загрузись с флешки на целевой машине
- Выбери "Install/Upgrade" в меню загрузчика
- Укажи диск для установки системы (минимум 16 ГБ)
- Настрой root-пароль и сетевые интерфейсы
- После перезагрузки зайди в веб-интерфейс по указанному IP
Настройка пулов ZFS: DevOps-подход
Давай создадим оптимальный пул для твоих задач. Представь, что у тебя есть 4 диска по 4 ТБ.
# Через веб-интерфейс это делается в Storage → Pools → Add
# Но давай посмотрим, как это выглядит "под капотом"
# Список доступных дисков
zpool status
# Создание пула RAID-Z1 (аналог RAID5) через CLI
# В TrueNAS/FreeNAS используй веб-интерфейс для настройки!
# Это пример для понимания:
zpool create tank raidz1 ada0 ada1 ada2 ada3
# Настройка свойств пула для оптимальной производительности
zfs set compression=lz4 tank
zfs set atime=off tank
zfs set recordsize=1M tank # Для больших файлов (видео, бэкапы)
Оптимальные настройки для разных сценариев
- Виртуальные машины (VM): recordsize=8K или 16K, sync=always
- Медиа-файлы: recordsize=1M, compression=lz4
- Базы данных: recordsize=8K, logbias=latency
- Репозитории Git: recordsize=128K, compression=zstd-fast
Контейнеризация и сервисы: Jails vs Docker/Kubernetes
TrueNAS CORE: Работа с Jails
# Пример конфигурации jail для Nextcloud через веб-интерфейс
# Jail Properties:
# - Name: nextcloud
# - Release: 13.1-RELEASE
# - IPv4 Address: 192.168.1.100/24
# - Mount points: /mnt/tank/nextcloud → /usr/local/www/nextcloud/data
# После создания jail, подключись к ней:
jexec nextcloud
# Установи пакеты внутри jail:
pkg install nginx php82 php82-extensions mysql80-server
TrueNAS SCALE: Docker и Kubernetes
SCALE использует стандартные инструменты оркестрации. Вот пример развертывания приложения:
# Пример docker-compose для развертывания в TrueNAS SCALE
# Файл: /mnt/tank/docker/portainer/docker-compose.yml
version: '3.8'
services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped
ports:
- "9000:9000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/tank/docker/portainer/data:/data
networks:
- traefik_net
Миграция с FreeNAS на TrueNAS
Если у тебя уже работает FreeNAS, переход на TrueNAS CORE — это essentially апгрейд. Вот безопасный план:
- Сделай полный бэкап конфигурации через System → Backup → Download Config
- Экспортируй все данные с помощью zfs send/receive если есть второй NAS
- Загрузись с установочного носителя TrueNAS
- Выбери "Upgrade" вместо чистой установки
- После обновления загрузи сохраненную конфигурацию
- Проверь работу всех сервисов и jail
Бэкапы и репликация: Настройка для надежности
# Настройка периодических снапшотов через веб-интерфейс:
# Tasks → Periodic Snapshot Tasks → Add
# - Pool/Dataset: tank/data
# - Schedule: Hourly (0 * * * *)
# - Lifetime: 1 week
# Настройка репликации на удаленный TrueNAS:
# Tasks → Replication Tasks → Add
# - Source: tank/data
# - Destination: ssh://backup-nas.local/mnt/backup/tank/data
# - Schedule: Daily at 2:00 AM
# - Compression: LZ4
# - Encryption: ON (если нужно)
Мониторинг и логи: Интеграция с DevOps-стеком
TrueNAS предоставляет богатые возможности мониторинга. Вот как интегрировать его в твой стек:
# Пример конфига Prometheus для сбора метрик с TrueNAS
# /etc/prometheus/prometheus.yml
scrape_configs:
- job_name: 'truenas'
static_configs:
- targets: ['truenas.local:9283']
metrics_path: '/metrics'
scheme: 'http'
basic_auth:
username: 'prometheus'
password: '${PASSWORD}'
# В TrueNAS настрой экспорт метрик:
# System → Reporting → Graphite → Enable
# Hostname: prometheus.local
# Port: 2003
Что выбрать: Итоговые рекомендации
- TrueNAS CORE (бывшая FreeNAS): Выбирай, если нужна стабильность FreeBSD, работа с iSCSI, Fibre Channel, или у тебя уже есть инфраструктура на FreeNAS.
- TrueNAS SCALE: Выбирай, если планируешь использовать Docker/Kubernetes, нужна поддержка Linux-драйверов для нового железа, или интегрируешь NAS в DevOps-пайплайны.
- Для домашнего использования: TrueNAS CORE — отличный выбор. Для медиасервера с контейнерами — рассмотри SCALE.
- Для предприятия: TrueNAS CORE или Enterprise в зависимости от требований к поддержке и масштабированию.