Представь, что у тебя есть мощный, надёжный TrueNAS-сервер, полный терабайтов данных, и парк рабочих станций под управлением Windows. Как заставить их работать вместе как единый организм? В этой статье, как Senior DevOps, я проведу тебя через все этапы интеграции — от базового SMB-шаринга до продвинутых сценариев с iSCSI и репликацией. Мы разберём не только «как», но и «почему».
Понимание основ: Протоколы для Windows
Перед погружением в настройку, давай определимся с инструментами. TrueNAS (на базе FreeBSD) и Windows общаются через несколько ключевых протоколов:
| Протокол | Назначение | Когда использовать | Скорость/Совместимость |
|---|---|---|---|
| SMB/CIFS | Общий доступ к файлам и папкам | Рабочие станции, общие документы, медиатека | Отличная (родной для Windows) |
| iSCSI | Блочное хранилище (как локальный диск) | Виртуальные машины, базы данных, высокопроизводительные задачи | Высокая (низкие задержки) |
| NFS | Сетевые файловые системы (Unix-стиль) | Гибридные среды (Windows с NFS-клиентом) | Хорошая (требует доп. настройки в Windows) |
Настройка SMB-шаринга (Общих папок) в TrueNAS для Windows
Это основа основ. Мы создадим общую папку, доступную с любого компьютера в сети Windows.
Шаг 1: Создание Dataset (Контейнера для данных)
Зайди в веб-интерфейс TrueNAS (обычно http://truenas-ip).
- Перейди в Storage → Datasets.
- Нажми ADD DATASET.
- Укажи имя, например,
windows_share. - Важно: В разделе Share Type выбери SMB.
- Настройки прав доступа (ACL) оставь по умолчанию — мы настроим их позже через SMB.
Шаг 2: Настройка службы SMB и создание общего ресурса
Убедись, что служба SMB включена: Services → SMB, переключи на RUN и AUTOSTART.
Теперь создадим сам шар:
- Иди в Sharing → Windows Shares (SMB) → ADD.
- В поле Path выбери созданный dataset
/mnt/pool/windows_share. - Задай Name (имя ресурса в сети), например,
CompanyData. - Критически важные галочки:
- Enable ACL — включено (для тонкого управления правами Windows).
- Allow Guest Access — только если нужен публичный доступ без пароля (обычно — нет).
- Enable Shadow Copies — ВКЛЮЧИ! Это позволит использовать «Предыдущие версии» в Windows.
# Пример конфигурации SMB-шара из /etc/smb4.conf (генерируется автоматически)
[CompanyData]
path = /mnt/pool/windows_share
veto files = /.snapshot/.windows/.mac/.zfs/
delete veto files = yes
vfs objects = zfs_space zfsacl streams_xattr shadow_copy2
hide dot files = yes
guest ok = no
nfs4:mode = special
nfs4:acedup = merge
nfs4:chown = true
zfsacl:acesort = dontcare
Шаг 3: Настройка пользователей и прав доступа
TrueNAS использует свою внутреннюю базу пользователей. Для доступа с Windows нужно создать пользователя с тем же логином и паролем, что и в домене/на ПК, или использовать единую учётку на NAS.
- Создание пользователя: Credentials → Local Users → ADD.
- Username:
john(как в Windows). - Пароль задай такой же, как у пользователя John на его рабочем ПК (для упрощения).
- Primary Group:
users(или создай новую). - Домашняя директория: оставь пустой.
- Username:
- Назначение прав на Dataset: Вернись в Storage → Datasets, найди свой
windows_share, нажми на три точки → Edit Permissions.- Используй ACL Manager.
- Добавь ACE (Access Control Entry): Пользователь
john, Права: FULL CONTROL (Read, Write, Execute). - Примени рекурсивно (галочка Apply permissions recursively).
Шаг 4: Подключение с Windows-клиента
На компьютере с Windows 10/11:
- Открой Проводник.
- В адресной строке введи:
\\IP-ADDRESS-TRUENAS(например,\\192.168.1.100). - Система запросит логин и пароль. Введи учётные данные пользователя, созданного в TrueNAS (john + пароль).
- Появится общая папка CompanyData. Можешь подключить её как сетевой диск (ПКМ на папке → «Подключить сетевой диск...»).
- Фаерволл Windows (часто блокирует SMB). Включи правила для «Частной сети».
- В TrueNAS: Network → Global Configuration — убедись, что разрешены все протоколы SMB (SMB2, SMB3).
- В Windows может быть отключена поддержка SMB1 (это хорошо!). TrueNAS должен работать на SMB2/3.
Настройка iSCSI в TrueNAS для Windows (Диск по сети)
iSCSI превращает часть твоего хранилища TrueNAS в виртуальный блочный диск, который Windows видит как локальный (например, для установки игр или тяжёлых приложений).
Шаг 1: Создание Zvol (Блочного устройства)
- В TrueNAS иди в Storage → Volumes (Datasets).
- Нажми на три точки у нужного пула (pool) → Add Zvol.
- Укажи имя (
iscsi_win_disk), размер (например, 100GiB), и важно: выбери Block size = 16K или 64K для лучшей производительности под Windows.
Шаг 2: Настройка цели iSCSI (Target)
- Иди в Sharing → Block (iSCSI).
- Вкладка Targets → ADD.
- Target Name:
iqn.2024-05.truenas.local:win.target(можно сгенерировать).
- Target Name:
- Вкладка Extents → ADD (Device).
- Name:
win_extent. - Device: выбери созданный zvol (
/dev/zvol/pool/iscsi_win_disk).
- Name:
- Вкладка Associated Targets → ADD.
- Свяжи Target и Extent.
- В LUN ID оставь 0.
- Вкладка Portals — убедись, что есть портал на IP-адресе TrueNAS и порту 3260 (стандартный).
- Вкладка Initiators — для теста можно оставить ALL (разрешить всем), но в продакшене укажи IP или имя инициатора Windows.
Шаг 3: Подключение iSCSI-диска в Windows
- В Windows открой Панель управления → Администрирование → Инициатор iSCSI (или набери «iSCSI» в поиске).
- Во вкладке Обнаружение нажми Обнаружить портал и введи IP-адрес TrueNAS.
- Перейди на вкладку Цели. Должна появиться цель с именем, которое ты задал. Выдели её и нажми Подключить.
- В следующем окне галочка Включить многопутевой ввод-вывод (если настроен MPIO), затем ОК.
- Теперь открой Управление дисками (diskmgmt.msc). Появится новый диск («Не проинициализирован»).
- Инициализируй его (MBR или GPT), создай раздел, отформатируй в NTFS и назначь букву диска.
# PowerShell: Быстрое подключение iSCSI-диска (администратор)
New-IscsiTargetPortal -TargetPortalAddress "192.168.1.100"
Connect-IscsiTarget -NodeAddress "iqn.2024-05.truenas.local:win.target"
# После подключения инициализация через DiskPart или Управление дисками.
Резервное копирование Windows на TrueNAS
Используй мощь ZFS snapshots для защиты данных Windows. Есть два основных пути:
Метод 1: Резервное копирование файлов на SMB-шар
Настрой периодические задачи создания снапшотов твоего SMB-датасета:
- В TrueNAS: Tasks → Periodic Snapshot Tasks → ADD.
- Выбери dataset
windows_share. - Настрой расписание (например, ежедневно в 02:00).
- Теперь из Windows можно восстановить предыдущую версию файла: ПКМ на файле в сетевой папке → Свойства → Предыдущие версии.
Метод 2: Veeam Agent + iSCSI для бэкапа всей системы
Установи Veeam Agent for Microsoft Windows FREE на ПК. В качестве целевого хранилища укажи iSCSI-диск от TrueNAS. Это даст тебе полный образ системы (bare metal recovery).
Частые проблемы и их решение (Troubleshooting)
Проблема 1: Медленная скорость записи/чтения по SMB
Решение:
- В настройках SMB-шара (Advanced Options) добавь параметры:
config
aio write size = 1 aio read size = 1 socket options = TCP_NODELAY IPTOS_LOWDELAY min receivefile size = 16384 getwd cache = yes - Убедись, что в сети используется гигабитное соединение (1 Gbps) и нет коллизий.
- Проверь нагрузку на диски TrueNAS (вкладка Reporting).
Проблема 2: Windows не запоминает пароль для сетевого диска
Решение: Зайди в Учетные записи пользователей в Панели управления Windows → Диспетчер учётных данных → Учётные данные Windows. Добавь новую учётную запись для truenas с логином и паролем.
Проблема 3: Нет доступа к общим папкам после обновления Windows
Решение: Microsoft периодически ужесточает политики безопасности. В PowerShell от администратора выполни:
Set-SmbClientConfiguration -RequireSecuritySignature $false -EnableSecuritySignature $false -Confirm:$false
Или, более безопасно, настрой TrueNAS на использование более современных протоколов (SMB3) с шифрованием.
Вопросы и ответы (FAQ)
Можно ли присоединить TrueNAS к домену Active Directory?
Да, абсолютно. Это лучшая практика для корпоративных сред. В TrueNAS иди в Credentials → Directory Services. Выбери Active Directory, укажи домен, учётные данные администратора домена и присоединись. После этого можно назначать права на общие папки для доменных пользователей и групп напрямую.
Что лучше для Windows: SMB или iSCSI?
SMB идеален для общего доступа к файлам, документам, медиа. iSCSI — когда приложению (например, SQL Server, Hyper-V, тяжёлая игра) нужен прямой доступ к блочному устройству как к локальному диску с минимальными задержками. Часто используют оба подхода одновременно.
Как организовать репликацию данных с Windows-сервера на TrueNAS?
Используй встроенные в Windows инструменты:
- Robocopy по расписанию:
robocopy C:\Data \\truenas\Backup /MIR /Z /R:5 /W:5 - Windows Server Backup с указанием сетевой папки на TrueNAS в качестве целевого хранилища.
- Сторонние решения типа Veeam, Duplicati, которые поддерживают SMB/NFS цели.
Поддерживает ли TrueNAS протокол SMB3 с шифрованием?
Да, начиная с версий TrueNAS CORE/SCALE 13.x и выше. Шифрование данных в transit включается в настройках SMB-службы (Services → SMB → Edit). Убедись, что клиенты Windows (Windows 8.1/Server 2012 R2 и новее) также поддерживают SMB3.
Можно ли запустить службы Windows (например, SQL Server) прямо на данных в SMB-шаре?
Технически можно, но это плохая практика для production. SMB — файловый протокол, он добавляет накладные расходы. Для баз данных, почтовых серверов, виртуальных машин всегда используй iSCSI, который обеспечивает прямое блочное обращение, близкое к локальному диску.
Заключение
Интеграция TrueNAS с Windows — это не магия, а чёткий инженерный процесс. Мы прошли путь от простого SMB-шаринга до настройки высокопроизводительных iSCSI-дисков. Ключевые выводы:
- SMB — твой основной инструмент для файлового обмена. Настрой ACL, включи Shadow Copies.
- iSCSI — выбирай для задач, требующих максимальной производительности и совместимости с приложениями.
- Не забывай про резервное копирование — используй ZFS снапшоты для SMB и специализированные агенты (Veeam) для iSCSI.
- Всегда проверяй логи (в TrueNAS: System Logs → SMB) при возникновении проблем.
Теперь у тебя есть полная картина. Настрой свой TrueNAS, подключи Windows-клиенты и наслаждайся надёжным, быстрым и централизованным хранилищем. Удачи в настройке!