Представь, что тебе нужно развернуть надёжное, масштабируемое и простое в управлении хранилище данных для дома, лаборатории или даже небольшого офиса. Ручная сборка файлового сервера на Linux — это долго, а готовые коробочные решения дороги и негибки. Решение? Операционная система TrueNAS. Это специализированная ОС на базе FreeBSD (TrueNAS CORE) или Debian Linux (TrueNAS SCALE), которая превращает любой сервер или даже старый ПК в мощную сетевую систему хранения (NAS) с фокусом на данные и их целостность. Давай разберем, как с ней работать от установки до продвинутых сценариев.
Выбор и установка TrueNAS
Первое и главное решение — какую версию ос truenas выбрать. Их две основные ветки, и выбор зависит от твоих задач.
| Критерий | TrueNAS CORE | TrueNAS SCALE |
|---|---|---|
| Основа | FreeBSD | Debian Linux |
| Ключевая технология | OpenZFS | OpenZFS + Kubernetes |
| Идеально для | Классического файлового NAS, максимальной стабильности | Гибридных сценариев (NAS + контейнеры, виртуализация), знакомых с Linux |
| Драйверы и железо | Может быть сложнее с новым железом | Лучшая поддержка современного железа (особенно GPU) |
Для большинства домашних и лабораторных сценариев сегодня я рекомендую TrueNAS SCALE из-за её универсальности и знакомой Linux-основы.
Пошаговая установка TrueNAS SCALE
- Скачай образ: Зайди на официальный сайт ixsystems.com и скачай ISO-образ последней стабильной версии TrueNAS SCALE.
- Запиши на флешку: Используй утилиту типа BalenaEtcher или `dd` для записи образа на USB-накопитель (минимум 8 ГБ).
bash
# Определи устройство флешки (ОЧЕНЬ ВНИМАТЕЛЬНО!) lsblk # Допустим, флешка — /dev/sdb sudo dd if=./truenas-scale.iso of=/dev/sdb bs=1M status=progress sudo sync - Загрузись с флешки на целевом сервере/ПК.
- Запусти установщик: В меню загрузки выбери "Install/Upgrade".
- Выбери диск для ОС: Ключевой момент! Система TrueNAS будет установлена на выбранный диск (SSD предпочтительнее). Этот диск будет полностью перезаписан. Не используй диск, на котором планируешь хранить данные! Достаточно диска на 16-32 ГБ.
- Настрой сетевое соединение и пароль root.
- Дождись завершения, извлеки флешку и перезагрузись.
Базовая настройка и создание пула ZFS
После первого входа в веб-интерфейс (логин: root, пароль: тот, что задал при установке) первым делом создай пул хранения — основу твоего NAS.
Создание пула (Pool) в TrueNAS
- Зайди в Storage -> Pools и нажми "Add Pool".
- Назови пул, например,
tankилиstorage. - Выбери диски. Это те самые диски, на которых будут храниться твои данные. Идеально использовать диски одинакового размера.
- Настрой тип RAID (vdev). Это самая важная часть. ZFS использует концепцию vdev (virtual device), из которых состоит пул.
- Stripe (RAID 0): Максимум скорости и места, но нет отказоустойчивости. Один сломанный диск — потеря всех данных.
- Mirror (RAID 1): Диски зеркалируются. Надежно, быстро на чтение, но теряешь 50% места. Отлично подходит для 2-4 дисков.
- RAIDZ1 (аналог RAID 5): Выдерживает выход из строя одного диска в vdev. Оптимален по балансу места и надежности для 3-5 дисков.
- RAIDZ2 (RAID 6): Выдерживает сбой двух дисков. Для пулов от 4-6+ дисков, где данные критичны.
После создания пула, создай внутри него набор данных (Dataset). Dataset — это аналог файловой системы или папки с гибкими настройками.
- В интерфейсе пула нажми "Add Dataset".
- Задай имя, например,
media,backups,home. - Настрой Compression: Включи
lz4. Это почти бесплатно по CPU и здорово экономит место. - Настрой ACL: Оставь
POSIXдля простоты или выбериNFSv4для более тонкого контроля прав в Windows-подобном стиле.
Настройка общего доступа (SMB и NFS)
Без общего доступа твой NAS — просто коробка с дисками. Давай "расшарим" наш dataset.
Настройка общего доступа по SMB (Samba) для Windows/Mac
- Иди в Sharing -> SMB (Windows Shares).
- Нажми "Add".
- В поле Path выбери созданный ранее dataset (например,
/mnt/tank/media). - Задай Name (имя шары, которое увидят пользователи в сети).
- Важно! На вкладке "Advanced" можешь настроить:
- Browsable to Network Clients: Включено (да).
- Enable ACLs: Да, если используешь NFSv4 ACL в dataset.
- Allow Guest Access: Только для публичных, небезопасных шаров.
- Нажми "Save". Сервис SMB перезапустится автоматически.
Теперь в проводнике Windows в сетевом окружении должен появиться твой сервер TrueNAS. Для доступа потребуются логин и пароль пользователя, созданного в TrueNAS.
Создание пользователя для доступа
- Иди в Credentials -> Local Users -> Add.
- Заполни Username и Password.
- В разделе Directories and Permissions:
- Home Directory: Оставь "None".
- Additional Directories: Нажми "Add" и выбери путь к dataset (например,
/mnt/tank/media). - Access: Выбери
Read/WriteилиRead Only.
# Проверь, что шара доступна из Linux (если нужно)
# Установи клиент SMB и попробуй смонтировать
sudo apt install cifs-utils # для Debian/Ubuntu
sudo mkdir -p /mnt/nas_media
sudo mount -t cifs //TRUENAS_IP/media /mnt/nas_media -o username=myuser,password=mypass
Настройка общего доступа по NFS для Linux
- Иди в Sharing -> NFS (Unix Shares) -> Add.
- Выбери Path (dataset).
- В Networks укажи подсеть, которой разрешён доступ, например,
192.168.1.0/24. - Настрой права доступа (Access) для указанной сети.
Продвинутые возможности: снапшоты, репликация и Apps
Вот где ос truenas раскрывается по-настоящему. ZFS — это не просто файловая система, а менеджер данных.
Снапшоты (Snapshots) и их восстановление
Снапшоты ZFS — это моментальные, почти бесплатные по месту снимки состояния файловой системы. TrueNAS позволяет управлять ими через графический интерфейс.
- Иди в Storage -> Snapshots.
- Выбери нужный dataset и нажми "Take Snapshot". Можно задать имя.
- Чтобы восстановить файл или папку из снапшота, найди нужный снапшот в списке, нажми на три точки и выбери Clone to New Dataset или, для быстрого восстановления в исходное место, используй опцию Rollback (будь осторожен, rollback удалит все изменения, сделанные после этого снапшота!).
Можно настроить периодические снапшоты (Storage -> Periodic Snapshot Tasks). Например, каждый день в 2 ночи с хранением за месяц.
Репликация данных на другой TrueNAS
Это твой план Disaster Recovery. Ты можешь настроить автоматическую отправку снапшотов с одного пула на другой, даже удаленный.
- На целевом сервере (куда копируем) создай пул и dataset с таким же именем.
- На исходном сервере иди в Data Protection -> Replication Tasks -> Add.
- Настрой источник (локальный dataset), цель (удаленный сервер, нужен SSH-ключ) и расписание.
Использование Apps (TrueNAS SCALE)
TrueNAS SCALE имеет встроенный Kubernetes и каталог приложений. Это позволяет развернуть Nextcloud, Plex, Bitwarden и сотни других программ в пару кликов.
- Иди в Apps -> Discover Apps.
- Найди нужное приложение (например, Plex).
- Нажми "Install".
- В настройках укажи:
- Storage: Смапь директории контейнера на твои datasets (например,
/mnt/tank/mediaв/mediaвнутри контейнера). - Network: Выбери тип службы (обычно ClusterIP с Ingress или NodePort).
- Storage: Смапь директории контейнера на твои datasets (например,
Мониторинг и обслуживание
Построив систему, за ней нужно следить. TrueNAS предоставляет отличные инструменты.
- Дашборд: На главном экране смотри за использованием ЦП, RAM, сети и дисков.
- Reporting -> Graphs: Здесь детальные графики по каждому параметру. Настрой алерты на перегрев дисков или заполнение пула.
- Проверка целостности (Scrub): ZFS периодически (раз в неделю-месяц) проверяет данные на тихие ошибки. Настрой в Storage -> Pools -> Scrub Tasks.
- Логи: Все системные логи доступны в System Logs. Фильтруй по сервисам (SMB, NFS, kernel).
# Проверить статус пула и дисков можно и через CLI (если включил SSH)
ssh root@truenas-ip
# Посмотреть статус пулов
zpool status
# Посмотреть статистику по дискам
iostat -x 1