TrueNAS Share: Настройка SMB и NFS шаров для сетевого доступа | AdminWiki

TrueNAS Share: Полное руководство по созданию и настройке общих ресурсов SMB/NFS

13 января 2026 9 мин. чтения #nas #nfs #smb #truenas #zfs #сетевой диск #хранение данных

Представь, что ты развернул мощный сервер хранения на TrueNAS, создал пулы ZFS, настроил RAID. Но теперь перед тобой стоит задача: как сделать эти данные доступными для пользователей в сети? Именно здесь на помощь приходят TrueNAS shares — общие ресурсы, которые превращают твое хранилище в полноценный сетевой диск. Давай разберем, как правильно создавать и настраивать эти ресурсы, чтобы избежать типичных ошибок с правами доступа.

Что такое TrueNAS Share и зачем он нужен?

В контексте TrueNAS, share (общий ресурс или "шар") — это точка доступа к данным, которую ты предоставляешь по сети. Это не физическая директория, а скорее "дверь" к ней, с определенными правилами доступа. Основные протоколы:

  • SMB/CIFS — для сетей Windows и смешанных сред
  • NFS — для Linux/Unix систем и виртуализации
  • AFP — для устаревших Mac систем (не рекомендуется)
  • WebDAV — для доступа через HTTP/HTTPS
Важно: Прежде чем создавать общие ресурсы, убедись, что у тебя есть хотя бы один созданный Dataset (набор данных) в пуле ZFS. Share всегда привязан к конкретному Dataset.

Подготовка: Создание Dataset и настройка прав

Давай начнем с основ. Представь, что у тебя есть пул tank. Сначала создадим Dataset для наших общих файлов:

CLI или WebUI
# Через CLI (опционально):
zfs create tank/shared_data
zfs set acltype=posixacl tank/shared_data  # Для SMB с расширенными правами
zfs set xattr=sa tank/shared_data         # Для расширенных атрибутов

Через Web-интерфейс TrueNAS:

  1. Перейди в Storage → Datasets
  2. Выбери пул (например, tank)
  3. Нажми Add Dataset
  4. Укажи имя: shared_data
  5. В Share Type выбери SMB (если планируешь SMB)
  6. Настрой права доступа: Владелец nobody, Группа nogroup или создай конкретных пользователей

Создание SMB Share в TrueNAS

SMB shares — это твой основной инструмент для интеграции с Windows-сетями. Давай создадим его правильно.

Шаг 1: Активация SMB службы

Перейди в Services → SMB и включи службу. Нажми шестеренку для базовой настройки:

Конфиг /etc/smb4.conf
[global]
    server min protocol = SMB2_10
    server max protocol = SMB3
    encrypt passwords = yes
    dns proxy = no
    strict locking = no
    oplocks = yes
    deadtime = 15
    max log size = 51200
    max open files = 468682
    logging = file
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
    getwd cache = yes
    guest account = nobody
    map to guest = Bad User
    obey pam restrictions = yes
    ntlm auth = yes
    allow trusted domains = no
    client signing = required
    server signing = required
    socket options = TCP_NODELAY IPTOS_LOWDELAY
    use sendfile = yes
    aio read size = 0
    aio write size = 0

Шаг 2: Создание самого Share

  1. Перейди в Sharing → Windows Shares (SMB)
  2. Нажми Add
  3. Заполни параметры:
    • Path: Выбери созданный Dataset /mnt/tank/shared_data
    • Name: company_share (это имя увидут пользователи)
    • Purpose: Выбери шаблон (например, Default share parameters)
    • Description: Опциональное описание
  4. В разделе Access:
    • Enable ACL: Отметь, если нужны расширенные права Windows
    • Настрой права для пользователей/групп
Внимание! Не используй пробелы в имени SMB share (company_share вместо company share). Это может вызвать проблемы с некоторыми клиентами.

Шаг 3: Расширенные настройки SMB Share

В Advanced Options обрати внимание на ключевые параметры:

Параметр Рекомендуемое значение Описание
Enable Shadow Copies Да Включает поддержку Previous Versions в Windows
Enable Alternate Data Streams Да Нужно для совместимости с Windows
Enable SMB3 encryption По необходимости Шифрование трафика, требует SMB3 клиентов
Browsable to Network Clients Да Показывать share в сетевом окружении

Создание NFS Share для Linux и виртуализации

Если твоя инфраструктура построена на Linux или ты используешь гипервизоры (Proxmox, ESXi), тебе понадобятся NFS shares.

Настройка NFS Service

  1. Перейди в Services → NFS и включи службу
  2. Нажми шестеренку для настройки:
    • Number of servers: 4-8 (зависит от нагрузки)
    • Allow non-root mount: Да (для гибкости)
    • Support >16 groups: Да

Создание NFS Share

  1. Перейди в Sharing → Unix Shares (NFS)
  2. Нажми Add
  3. Укажи путь: /mnt/tank/shared_data
  4. Добавь сети и права в разделе Hosts:
    Пример настроек доступа
    Network: 192.168.1.0/24
    Access: Read/Write
    Squash: No Root Squash (осторожно!)
    
    Или для конкретного хоста:
    Host: 192.168.1.100
    Access: Read Only
    Squash: Root Squash
  5. Важные флаги:
    • Enabled: Включить share
    • Quiet: Подавлять некоторые предупреждения
    • All dirs: Разрешить просмотр всех поддиректорий

Проверка и подключение к Share

Для Windows (SMB):

CMD или Проводник
# В командной строке:
net use Z: \\TRUENAS_IP\company_share /persistent:yes

# Или в проводнике:
\\TRUENAS_IP\company_share

Для Linux (SMB):

bash
# Установи cifs-utils если нет:
sudo apt install cifs-utils  # Debian/Ubuntu
sudo yum install cifs-utils  # RHEL/CentOS

# Создай точку монтирования:
sudo mkdir -p /mnt/company_share

# Монтируй:
sudo mount -t cifs -o username=myuser,password=mypass //truenas_ip/company_share /mnt/company_share

# Для автоматического монтирования при загрузке, добавь в /etc/fstab:
//truenas_ip/company_share /mnt/company_share cifs credentials=/etc/samba/credentials,uid=1000,gid=1000 0 0

Для Linux (NFS):

bash
# Установи nfs-common если нет:
sudo apt install nfs-common

# Просмотр доступных NFS shares:
showmount -e truenas_ip

# Монтирование:
sudo mount -t nfs truenas_ip:/mnt/tank/shared_data /mnt/nfs_share

# В /etc/fstab для авто-монтирования:
truenas_ip:/mnt/tank/shared_data /mnt/nfs_share nfs defaults,noatime,vers=4.2 0 0

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

Проблема 1: "Access Denied" при подключении к SMB share
Решение: Проверь:
  • Права на Dataset (chmod) и владельца (chown)
  • Настройки ACL если они используются
  • Пароль пользователя в TrueNAS (попробуй сменить)
  • Версию SMB протокола (попробуй SMB2 или SMB3)
Проблема 2: Медленная скорость передачи файлов
Решение:
  • Проверь сеть (jumbo frames, скорость линка)
  • В SMB Advanced Settings попробуй отключить oplocks
  • Для NFS: используй async в опциях монтирования
  • Проверь нагрузку на диски (zpool iostat)
Проблема 3: NFS монтируется только как read-only
Решение: Проверь:
  • Настройки Maproot User в NFS share
  • Права на директории (должны быть 777 или соответствовать maproot)
  • Не используй no_root_squash без необходимости

Безопасность и лучшие практики

  1. Изолируй сети: Используй VLAN для storage трафика
  2. Минимальные права: Давай доступ только тем, кому нужно
  3. Регулярные бэкапы: Настрой snapshots на Dataset
  4. Аудит: Включи логирование SMB/NFS операций
  5. Шифрование: Для чувствительных данных используй SMB3 encryption или VPN
  6. Обновления: Регулярно обновляй TrueNAS для закрытия уязвимостей

Производительность: SMB vs NFS

Критерий SMB NFS
Мелкие файлы Хорошо Отлично
Крупные файлы Отлично Отлично
Латентность Выше Ниже
Видеостриминг Хорошо Отлично

Рекомендация: Используй SMB для офисных файлов и Windows клиентов, NFS — для виртуализации, баз данных и Linux сред.

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

Можно ли создать один Dataset с несколькими SMB shares?

Да, абсолютно. Ты можешь создать несколько SMB shares, указывающих на один и тот же Dataset, но с разными именами и настройками доступа. Например, \\nas\finance с доступом для бухгалтерии и \\nas\public с доступом для всех из того же Dataset.

Как мигрировать существующие данные в TrueNAS share?

Лучшая практика:

  1. Создай Dataset и настрой права
  2. Смонтируй share на клиенте
  3. Копируй данные через сеть (robocopy для Windows, rsync для Linux)
  4. Проверь целостность данных
  5. Перенастрой приложения на новый путь

Почему не видно файлы, созданные из Windows, из Linux и наоборот?

Проблема в масках создания файлов (create mask) и правах. В настройках SMB share проверь:

  • File create mask: 0664 (для файлов)
  • Directory create mask: 0775 (для директорий)
  • Убедись, что владелец Dataset — пользователь, от которого происходит запись

Как настроить квоты на SMB share?

Квоты настраиваются не на уровне share, а на уровне Dataset. Перейди в Storage → Datasets, выбери нужный Dataset и в свойствах установи:

  • Quota for this dataset: Ограничение размера
  • Quota for this dataset and all children: Рекурсивное ограничение
  • Reserved Space: Гарантированное пространство
Эти ограничения будут применены ко всем данным в Dataset, независимо от протокола доступа.

Заключение

Настройка TrueNAS shares — это фундаментальный навык для любого администратора систем хранения. Ключевые моменты, которые нужно запомнить:

  1. Все начинается с правильно настроенного Dataset с соответствующими правами
  2. SMB идеален для Windows-сред, NFS — для Linux и виртуализации
  3. Проблемы с доступом обычно решаются проверкой прав (chmod/chown) и настроек служб
  4. Используй мониторинг и логи для диагностики проблем
  5. Не забывай о безопасности: минимальные права, изоляция сети, шифрование

Теперь у тебя есть полное руководство по созданию и управлению общими ресурсами в TrueNAS. Начни с простого SMB share для домашней сети, затем поэкспериментируй с NFS для виртуальных машин. Помни: практика и тестирование в изолированной среде — лучший способ стать экспертом по TrueNAS shares.

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