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

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

17 марта 2026 7 мин. чтения #iSCSI #nas #nfs #smb #truenas #zfs #накопители #шары

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

Что такое раздельные шары в TrueNAS и зачем они нужны?

В контексте TrueNAS шар (share) — это точка доступа к данным по сети. Раздельные шары позволяют:

  • Изолировать данные — рабочие документы отдельно от медиатеки
  • Настраивать разные права доступа — бухгалтерия видит только свои папки
  • Применять различные политики — квоты, репликация, снапшоты
  • Использовать разные протоколы — SMB для Windows, NFS для Linux, iSCSI для ВМ
Важно: Шар ≠ Dataset. Dataset — это контейнер ZFS внутри пула. Шар — это сетевая "дверь" к этому контейнеру (или его части). Один dataset может иметь несколько шаров разных типов.

Архитектура раздельных шаров: Планирование перед созданием

Типичная структура для домашнего использования

structure
pool/
├── media/                    # Dataset для медиа
│   ├── movies/              # Поддиректория
│   ├── music/
│   └── photos/
├── documents/               # Dataset для документов
│   ├── work/
│   ├── personal/
│   └── shared/
├── backups/                 # Dataset для бэкапов
└── vm_storage/              # Dataset для виртуальных машин

Сравнение типов шаров

Тип Для чего Преимущества Недостатки
SMB/CIFS Windows сети, мультимедиа Поддержка ACL, интеграция с AD Выше нагрузка на CPU
NFS Linux/Unix системы, ВМ Высокая скорость, низкие задержки Сложнее настройка прав
iSCSI Виртуальные машины, БД Блочный доступ, высокая производительность Нет общего доступа к файлам

Пошаговое создание раздельных шаров в TrueNAS

Шаг 1: Создаем Dataset'ы для разделения данных

Сначала создадим структуру datasets. Заходим в Storage → Datasets:

CLI альтернатива
# Создаем основной пул (если еще нет)
zpool create tank mirror /dev/ada0 /dev/ada1

# Создаем datasets для разных типов данных
zfs create tank/media
zfs create tank/documents
zfs create tank/backups
zfs create tank/vm_storage

# Настраиваем квоты (например, для документов)
zfs set quota=100G tank/documents

# Включаем компрессию для экономии места
zfs set compression=lz4 tank/documents

Шаг 2: Настраиваем SMB шар для Windows клиентов

Идем в Sharing → SMB Shares → Add:

smb4.conf фрагмент
[Media]
  path = /mnt/tank/media
  comment = Медиатека для всех
  read only = no
  guest ok = yes
  force user = mediauser
  force group = mediagroup

[Documents]
  path = /mnt/tank/documents
  comment = Рабочие документы
  read only = no
  valid users = @office
  force group = officegroup
  veto files = /*.exe/*.bat/*.cmd/
  delete veto files = yes
Внимание: Не используйте guest доступ для шаров с важными данными. Всегда настраивайте аутентификацию и минимально необходимые права.

Шаг 3: Создаем NFS шар для Linux систем

В Sharing → NFS Shares → Add указываем:

/etc/exports пример
# TrueNAS автоматически генерирует этот файл
/mnt/tank/documents 192.168.1.0/24(rw,no_subtree_check,no_root_squash)
/mnt/tank/backups 192.168.1.50(ro,no_subtree_check,all_squash,anonuid=1000,anongid=1000)

На клиенте Linux монтируем так:

bash
# Временное монтирование
sudo mount -t nfs 192.168.1.10:/mnt/tank/documents /mnt/nas_docs

# Постоянное (в /etc/fstab)
192.168.1.10:/mnt/tank/documents /mnt/nas_docs nfs rw,hard,intr 0 0

Шаг 4: Настраиваем iSCSI для виртуальных машин

Для ВМ Hyper-V/VMware создаем iSCSI target:

  1. Sharing → iSCSI Targets → Add
  2. Создаем портал (Portal) с IP адресом
  3. Добавляем инициатор (Initiator) или разрешаем всем
  4. Создаем target с уникальным IQN
  5. Добавляем extent (файловый или устройство)
  6. Связываем target с extent через Associated Target
iscsi.conf фрагмент
[target iqn.2005-10.org.freenas.ctl:vm-storage]
  driver = zfs
  portal-group = 1
  initiator-group = 1
  extent = vm-extent

[extent vm-extent]
  type = disk
  path = /mnt/tank/vm_storage/vmdisk0.img
  blocksize = 512
  pblocksize = yes
  avail = thin

Продвинутые настройки раздельных шаров

Настройка квот и резервирования пространства

zfs
# Устанавливаем жесткую квоту (нельзя превысить)
zfs set quota=500G tank/documents/work

# Резервируем пространство (гарантированно доступно)
zfs set reservation=100G tank/documents/critical

# Мониторим использование
zfs list -o name,used,available,quota,reservation tank/documents/*

Снапшоты и репликация для разных шаров

Разные политики снапшотов для разных типов данных:

Периодические задачи
# Частые снапшоты для рабочих документов
zfs set com.sun:auto-snapshot=true tank/documents
zfs set com.sun:auto-snapshot:frequent=24 tank/documents

# Редкие снапшоты для медиа
zfs set com.sun:auto-snapshot:daily=7 tank/media

# Репликация критичных данных на удаленный TrueNAS
zfs send -R tank/documents@auto-20240101 | \
  ssh backup-nas zfs receive backup/documents

Оптимизация производительности для разных нагрузок

Тип нагрузки Рекомендации по настройке ZFS параметры
Видео поток Большие блоки, отключение sync recordsize=1M, sync=disabled
Виртуальные машины Маленькие блоки, включение sync recordsize=8K, sync=standard
Базы данных Средние блоки, отдельный log device recordsize=16K, logbias=latency

Типичные проблемы и их решения

Проблема: Медленная скорость записи в SMB шар
Решение: Проверьте настройки SMB: server multi channel support = yes, socket options = TCP_NODELAY IPTOS_LOWDELAY
Проблема: NFS клиенты не могут записывать файлы
Решение: Проверьте mapping пользователей: Services → NFS → Advanced Settings → Maproot User/Group
Проблема: iSCSI target недоступен после перезагрузки
Решение: Убедитесь, что служба iSCSI запускается автоматически и extent файлы существуют

Часто задаваемые вопросы (FAQ)

Можно ли создать несколько SMB шаров из одного dataset?

Да, можно создать разные SMB шары для разных поддиректорий одного dataset. Например, /mnt/tank/documents/finance и /mnt/tank/documents/legal могут быть разными шарами с разными правами доступа.

Как мигрировать данные между шарами без копирования?

Используйте ZFS send/receive для эффективной миграции:

bash
# Создаем снапшот
zfs snapshot tank/old_share@migrate

# Отправляем на новый dataset
zfs send tank/old_share@migrate | zfs receive tank/new_share

# Меняем точку монтирования шара

Как ограничить скорость доступа к определенному шарy?

Используйте Traffic Shaping в Network → Global Configuration или настройте ограничения на уровне SMB:

smb4.conf
[LargeMedia]
  path = /mnt/tank/media
  # Ограничение 50 МБ/с на клиент
  smb2 max read = 51200
  smb2 max write = 51200

Заключение

Раздельные шары в TrueNAS — это не просто удобство, а необходимость для грамотной организации данных. Помни главные принципы:

  • Разделяй по назначению — медиа, документы, бэкапы, ВМ
  • Выбирай правильный протокол — SMB для Windows, NFS для Linux, iSCSI для блочных устройств
  • Настраивай минимальные права — принцип наименьших привилегий
  • Планируй квоты заранее — чтобы один шар не занял всё пространство
  • Тестируй производительность — разные нагрузки требуют разных настроек ZFS

Начни с простой структуры из 3-4 шаров, поэкспериментируй с настройками, и постепенно выстроишь идеальную систему хранения данных под свои нужды.

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