TrueNAS создание пула и сетевой папки — пошаговая инструкция 2024 | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS создание пула: Полное руководство от настройки ZFS до сетевых папок

06 февраля 2026 6 мин. чтения #devops #nas #truenas #zfs #сетевая папка #создание пула #хранение данных

Что такое пул ZFS и зачем он нужен?

Представь, что пул в TrueNAS — это фундамент твоей системы хранения. Это не просто набор дисков, а интеллектуальная структура ZFS, которая объединяет физические накопители в логический том с продвинутыми функциями: снапшоты, дедупликация, самовосстановление данных. Без правильно созданного пула невозможна работа ни одной службы TrueNAS.

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

Подготовка к созданию пула

Перед тем как начать создание пула в TrueNAS, убедись, что:

  • Все диски обнаружены системой (Storage → Disks)
  • У тебя есть план резервного копирования существующих данных
  • Ты определился с типом RAID (или vdev в терминах ZFS)
  • Понимаешь разницу между типами данных (Metadata, Dedup, Cache)

Выбор типа vdev: сравнительная таблица

Тип vdev Минимум дисков Отказоустойчивость Эффективная ёмкость Рекомендация
Stripe 1 Нет 100% Только для тестов
Mirror 2 Высокая 50% Важные данные
RAIDZ1 3 1 диск N-1 Баланс цена/надёжность
RAIDZ2 4 2 диска N-2 Производственные системы

Пошаговое создание пула в TrueNAS

Давай разберем процесс создания пула через веб-интерфейс TrueNAS Scale или Core:

Шаг 1: Инициализация дисков

Если диски новые или содержат старые данные, их нужно очистить:

bash
# Просмотр всех дисков в системе
lsblk

# Очистка диска (ВНИМАНИЕ: стирает все данные!)
# Замени sdX на твой диск
sgdisk --zap-all /dev/sdX

# Для NVMe дисков
nvme format /dev/nvme0n1 -s 1

Шаг 2: Создание пула через веб-интерфейс

1. Перейди в Storage → Pools
2. Нажми "Add" → "Create new pool"
3. Придумай имя пула (например, "tank", "storage", "data")

Осторожно: Не используй имя "pool" — это зарезервированное слово в ZFS. Также избегай пробелов и специальных символов.

4. Добавь диски в vdev. Пример для RAIDZ2 из 6 дисков:

Конфигурация:

  • Тип данных: Standard
  • Ширина RAIDZ: RAIDZ2 (двойная четность)
  • Диски: 6× 4TB (эффективная ёмкость ~16TB)
  • Шифрование: По желанию (GELI или Native ZFS)

Шаг 3: Дополнительные настройки пула

После выбора дисков настрой расширенные параметры:

  • Compression: LZ4 (рекомендуется всегда)
  • Checksum: SHA256 (по умолчанию)
  • Enable atime: Off (улучшает производительность)
  • Sync: Standard (для файловых серверов)
bash
# Проверка созданного пула из командной строки
zpool status

# Детальная информация
zpool list
zfs list

Создание сетевой папки в TrueNAS

Теперь, когда пул создан, давай настроим создание сетевой папки, чтобы твои данные были доступны по сети.

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

Dataset — это аналог раздела внутри пула. Создадим его для нашей сетевой папки:

bash
# Через командную строку (альтернатива веб-интерфейсу)
zfs create tank/shared
zfs set compression=lz4 tank/shared
zfs set atime=off tank/shared

# Настройка квоты (если нужно)
zfs set quota=100G tank/shared

Через веб-интерфейс: Storage → Pools → выбери пул → "Add Dataset"

Шаг 2: Настройка прав доступа

Правильная настройка ACL критически важна для безопасности:

bash
# Рекурсивная смена владельца
chown -R root:wheel /mnt/tank/shared

# Настройка прав (пример для SMB)
chmod -R 755 /mnt/tank/shared

# Просмотр ACL
getfacl /mnt/tank/shared

Шаг 3: Настройка SMB-шары (Windows/Mac)

1. Перейди в Sharing → Windows Shares (SMB)
2. Нажми "Add"
3. Заполни параметры:

Пример конфигурации SMB:

  • Path: /mnt/tank/shared
  • Name: SharedFolder (имя в сети)
  • Purpose: No presets (ручная настройка)
  • Enable ACL: Yes
  • Allow Guest: No (для безопасности)
  • Auxiliary Parameters: (дополнительные настройки smb.conf)
config
# Дополнительные параметры SMB (aux parameters)
# В поле "Auxiliary Parameters" веб-интерфейса
vfs objects = acl_xattr streams_xattr
map acl inherit = yes
store dos attributes = yes

# Ограничение по IP (пример)
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0

Шаг 4: Настройка NFS-шары (Linux)

Для Unix-систем используй NFS:

config
# Через веб-интерфейс: Sharing → Unix Shares (NFS)
# Пример конфигурации:

# На стороне TrueNAS (NFS сервер)
# Path: /mnt/tank/shared
# Authorized Networks: 192.168.1.0/24
# Mapall User: root
# Mapall Group: wheel

# На стороне клиента Linux
sudo mount -t n4 192.168.1.100:/mnt/tank/shared /mnt/nas_shared

# Для автоматического монтирования в /etc/fstab
192.168.1.100:/mnt/tank/shared /mnt/nas_shared nfs defaults,_netdev 0 0

Оптимизация производительности

После создания пула и сетевой папки настрой систему для максимальной производительности:

bash
# Настройка кэша L2ARC (если есть SSD)
zpool add tank cache nvme0n1

# Настройка журнала SLOG (для синхронных операций)
zpool add tank log nvme1n1

# Оптимизация записи
zfs set primarycache=all tank/shared
zfs set secondarycache=all tank/shared
zfs set logbias=latency tank/shared

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

Регулярно проверяй состояние пула:

bash
# Ежедневные проверки
zpool status -x
zpool iostat -v 5  # Обновление каждые 5 секунд

# Проверка целостности данных (раз в месяц)
zpool scrub tank

# Просмотр ошибок
zpool events -v

# Статистика производительности
arc_summary  # Для ARC кэша

Частые проблемы и решения

Проблема 1: Диски не отображаются при создании пула

Решение: Проверь, что диски не содержат старых разделов. Используй команды sgdisk --zap-all или wipefs -a.

Проблема 2: Медленная скорость сетевой папки

Решение:

  • Проверь настройки сетевого интерфейса (MTU 9000 для Jumbo Frames)
  • Отключи atime: zfs set atime=off tank/shared
  • Настрой размер записи: zfs set recordsize=1M tank/shared (для больших файлов)

Проблема 3: Ошибки доступа к сетевой папке

Решение: Проверь ACL и настройки SMB/NFS. Убедись, что пользователи существуют в TrueNAS и имеют правильные права.

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