Представь, что ты только что развернул TrueNAS и стоишь перед чистым веб-интерфейсом. Куда нажать первым делом? Как настроить хранилище для максимальной надежности? Как организовать доступ для коллег? В этой статье я, как опытный DevOps ментор, проведу тебя по всем ключевым аспектам администрирования TrueNAS — от базовой настройки до продвинутых фич.
Первые шаги TrueNAS администратора
После установки системы, первое, что нужно сделать — настроить сеть и безопасность. Давай разберем последовательность действий, которая сэкономит тебе часы в будущем.
Настройка сетевых интерфейсов
Перейди в Network → Interfaces. Если у тебя несколько сетевых карт, рекомендую:
- Выделить один интерфейс для управления (админский доступ)
- Настроить LACP (Link Aggregation) для объединения портов и увеличения пропускной способности
- Назначить статические IP-адреса для предсказуемости
# Проверка сетевых настроек через CLI
$ ifconfig
# или
$ ip addr show
# Настройка LACP (пример для 2 интерфейсов)
# В веб-интерфейсе: Network → Interfaces → Add → Link Aggregation
# Type: LACP
# Selected Interfaces: ix0, ix1
# DHCP: No
# IP Address: 192.168.1.100/24
Создание пула хранения (Pool)
Это сердце твоего TrueNAS. Переходи в Storage → Pools → Add. Вот как правильно создать пул:
| Тип vdev | Минимум дисков | Отказоустойчивость | Рекомендация |
|---|---|---|---|
| Mirror (Зеркало) | 2 | 1 диск | Для важных данных, VM |
| RAIDZ1 | 3 | 1 диск | Бюджетное решение |
| RAIDZ2 | 4 | 2 диска | Производство (рекомендуется) |
| RAIDZ3 | 5 | 3 диска | Архивы, большие массивы |
Настройка общих ресурсов (Shares)
TrueNAS поддерживает множество протоколов. Давай создадим SMB (Windows) и NFS (Linux) шары.
Создание SMB общего ресурса
- Сначала создай dataset: Storage → Pools → [твой пул] → Add Dataset
- Назови его, например,
company_share - Включи компрессию (lz4) и оставь остальные настройки по умолчанию
- Перейди в Sharing → SMB → Add
- Выбери созданный dataset
- Настрой права доступа (ACL)
# Просмотр активных SMB подключений через CLI
$ smbstatus
# Принудительное обновление SMB конфигурации
$ midclt call smb.configure
# Проверка доступности шары с клиента
$ smbclient -L //truenas-ip -U username%password
Настройка NFS для Linux-клиентов
В Sharing → NFS → Add укажи:
- Path: выбери dataset
- Network: ограничь доступ по подсети (например, 192.168.1.0/24)
- Mapall User/Group: установи для единообразия прав
Управление пользователями и группами
Правильная настройка прав — основа безопасности. TrueNAS использует общую систему пользователей для всех сервисов.
# Создание пользователя через CLI (альтернатива веб-интерфейсу)
$ midclt call user.create '{
"username": "dev_user",
"full_name": "Developer User",
"password": "StrongPass123!",
"group_create": true,
"groups": [1001],
"home": "/mnt/pool/home/dev_user"
}'
Настройка ACL (Access Control Lists)
Для тонкого контроля прав используй расширенные ACL:
- В Storage → Pools выбери dataset
- Нажми Edit Permissions
- Выбери ACL Type: NFSv4
- Добавь правила для пользователей/групп
- Используй флаг Apply Permissions Recursively для вложенных папок
Мониторинг и обслуживание
Хороший TrueNAS администратор не ждет проблем, а предвидит их.
Настройка оповещений (Alert Services)
Перейди в System → Alert Services → Add и подключи:
- Email — базовый вариант
- Telegram/Slack — для оперативного реагирования
- PagerDuty — для enterprise-сред
Планирование задач (Cron Jobs)
В Tasks → Cron Jobs настрой регулярные задачи:
# Пример: Очистка временных файлов каждый день в 3:00
# Command: find /mnt/pool/temp -type f -mtime +7 -delete
# User: root
# Schedule: 0 3 * * *
# Скрипт проверки целостности ZFS (раз в неделю)
# Command: zpool scrub pool_name
# Schedule: 0 2 * * 0 (воскресенье в 2:00)
Резервное копирование конфигурации
Не забывай бэкапить саму конфигурацию TrueNAS:
- System → General → Save Config — скачивай файл .db
- Храни его в безопасном месте (не на том же TrueNAS!)
- Обновляй бэкап после каждого изменения настроек
Расширенные возможности для опытных администраторов
Использование TrueNAS API
Для автоматизации администрирования используй REST API:
import requests
import json
# Аутентификация в TrueNAS API
auth = ('admin', 'your_password')
base_url = 'https://truenas-ip/api/v2.0'
# Получение информации о пулах
response = requests.get(
f'{base_url}/pool',
auth=auth,
verify=False # для самоподписанных сертификатов
)
pools = response.json()
for pool in pools:
print(f"Pool: {pool['name']}, Status: {pool['status']}")
# Создание снапшота
snapshot_data = {
"dataset": "pool/dataset",
"name": "auto_backup_2024",
"recursive": True
}
response = requests.post(
f'{base_url}/zfs/snapshot',
auth=auth,
json=snapshot_data
)
Настройка репликации между серверами
В Data Protection → Replication Tasks настрой синхронизацию с другим TrueNAS:
- Source/Destination: укажи локальный и удаленный datasets
- Schedule: выбери периодичность репликации
- Compression: включи для экономии bandwidth
- Encryption: используй для передачи через интернет
Часто задаваемые вопросы (FAQ)
Как восстановить доступ к веб-интерфейсу, если забыл пароль?
Подключись к консоли TrueNAS (прямо или через SSH) и выполни: midclt call auth.reset_password '{"username": "admin"}'. Система сгенерирует новый пароль.
Почему пул показывает состояние DEGRADED?
Это означает, что один или несколько дисков в vdev вышли из строя или отключены. Проверь физическое подключение дисков, затем в Storage → Pools выполни Replace для поврежденного диска.
Как расширить существующий пул?
Добавить диски в существующий vdev нельзя. Можно: 1) Создать новый vdev и добавить его в пул, 2) Заменить все диски на более вместительные по одному (только для зеркал и RAIDZ).
Какая разница между SCALE и CORE?
TrueNAS SCALE использует Linux и Docker, лучше подходит для контейнеризации. TrueNAS CORE — на FreeBSD, стабильнее для чисто файловых хранилищ. Для большинства задач администрирования различия минимальны.
Заключение
Быть TrueNAS администратором — значит не просто настраивать кнопки в веб-интерфейсе, а понимать архитектуру ZFS, принципы сетевой безопасности и стратегии резервного копирования. Начни с базовой настройки пула и прав доступа, затем постепенно внедряй мониторинг, автоматизацию и репликацию. Помни: самая важная задача — регулярно тестировать восстановление из бэкапов. Удачного администрирования!