Настройка высокопроизводительного и отказоустойчивого сетевого хранилища на базе TrueNAS для виртуализации и баз данных — критическая задача для системного администратора. Это руководство предоставляет проверенный на практике алгоритм: от создания оптимизированного пула ZFS и extent'ов до настройки безопасного доступа с аутентификацией CHAP. Вы получите конкретные рекомендации по тонкой настройке производительности под VMware, Hyper-V и высоконагруженные СУБД, а также инструменты для мониторинга и диагностики. Всё это актуально для TrueNAS версий 2026 года.
Подготовка TrueNAS 2026 к работе с iSCSI: основа для отказоустойчивости
Пропуск этапа подготовки — самая частая ошибка, ведущая к нестабильной работе и низкой производительности iSCSI. Правильно заложенный фундамент в виде сети и пула ZFS критически важен для последующей работы. Здесь мы создадим основу, которая исключит сетевые "бутылочные горлышки" и обеспечит отказоустойчивость на уровне дисков.
Сетевая конфигурация: LACP, MPIO и выделенные VLAN
Правильный выбор сетевой стратегии определяет доступность и скорость хранилища. Для iSCSI в TrueNAS 2026 доступны два основных подхода:
- Агрегация каналов (LACP): Объединяет несколько физических интерфейсов в один логический для увеличения пропускной способности. Настраивается в
Network > Interfaces > Add > Link Aggregation. Выберите интерфейсы, режим LACP и назначьте статический IP. Идеально для сценариев с высоким последовательным чтением/записью. - Multipath I/O (MPIO): Обеспечивает отказоустойчивость и балансировку нагрузки, представляя несколько независимых сетевых путей к одному target'у. Для этого настройте на разных физических интерфейсах или VLAN отдельные IP-адреса в одной подсети. MPIO требует настройки на стороне инициатора (например, в VMware) и предпочтительнее для критически важных сред виртуализации.
Рекомендация: Выделите iSCSI-трафик в отдельный VLAN. Это повышает безопасность и упрощает диагностику. В TrueNAS 2026 создайте VLAN-интерфейс (Network > Interfaces > Add > VLAN), указав родительский физический интерфейс и тег VLAN.
Перед началом настройки iSCSI проверьте сетевую связность и базовую производительность с хоста-инициатора:
# Проверка доступности и задержки
ping -c 10 192.168.10.10
# Проверка реальной пропускной способности (установите iperf3 на TrueNAS и клиенте)
iperf3 -c 192.168.10.10
Ошибки на интерфейсах можно проверить в Network > Interfaces, кликнув на нужный интерфейс и открыв вкладку "Statistics".
Создание пула ZFS, оптимизированного под iSCSI и zvol
Пул общего назначения не подходит для блоковой нагрузки iSCSI. Неправильный выбор топологии vdev приведет к низкому IOPS или недостаточной надежности.
- Выбор топологии vdev:
- Mirror (зеркало): Оптимален для максимального количества операций ввода-вывода в секунду (IOPS), что критично для виртуализации и СУБД. Например, объединение 4 дисков в 2 зеркальные пары (mirror of 2 disks). Надежность: выход из строя одного диска в паре.
- RAIDZ2 (двойной parity): Баланс между емкостью и надежностью. Подходит для хранилища резервных копий или данных с большим объемом последовательного чтения. Надежность: одновременный выход из строя любых двух дисков в группе.
- Создание пула: Перейдите в
Storage > Pools > Add.- Нажмите "Create Pool".
- Укажите имя пула (например,
iscsi_pool). - Перетащите диски для создания vdev выбранного типа (например, выберите два диска и укажите "Data VDev Type: Mirror").
- Важно: На этапе создания задайте ключевой параметр для блоковой нагрузки. В расширенных опциях (Encryption Options) найдите поле "Advanced Options" и установите
recordsize=16k. Это базовое значение для сценариев с случайными операциями, его можно будет уточнить позже. - Дедупликацию (Deduplication) следует оставить выключенной (
off). Она требует огромного объема оперативной памяти и для типичных iSCSI-нагрузок приносит больше проблем, чем пользы.
После создания пула убедитесь, что параметр recordsize применился: в интерфейсе пула перейдите во вкладку "Dataset Options" и проверьте свойство "Record Size".
Пошаговая настройка iSCSI Target: от Extent'ов до доступа
Теперь, когда фундамент готов, перейдем к ядру настройки. Логика следующая: сначала создаем блок данных (Extent), затем формируем из него виртуальный диск, доступный по сети (Target), и настраиваем правила доступа. Все действия выполняются в разделе Sharing > Block Shares (iSCSI).
Создание Extent: выбор между zvol и файлом, настройка размера и блоков
Extent — это базовый блок хранения, который будет представлен по iSCSI. TrueNAS предлагает два типа:
| Тип | Рекомендация к применению | Плюсы | Минусы |
|---|---|---|---|
| Device (zvol) | Виртуализация (VMware, Hyper-V), СУБД | Максимальная производительность, прямое управление ZFS, поддержка снапшотов и клонов. | Сложнее изменить размер после создания. |
| File | Файловое хранилище, архивы, тестовые среды | Простота создания, легкое изменение размера. | Низкая производительность при случайных операциях, накладные расходы файловой системы. |
Пошаговое создание zvol (рекомендуемый способ):
- В
Sharing > Block Shares (iSCSI)перейдите на вкладку "Extents" и нажмите "Add". - Выберите тип "Device".
- В поле "Device" укажите путь к пулу, например:
/mnt/iscsi_pool/database_vol. Имя набора данных (database_vol) будет создано автоматически. - Задайте размер (например,
500 GiB). - Ключевой параметр: "Logical Block Size". Для совместимости с большинством гостевых ОС (Windows, Linux) выберите
512. Для современных систем, работающих с 4K-секторами, можно выбрать4096 (4K), но это требует поддержки на стороне инициатора. - Остальные параметры можно оставить по умолчанию. Нажмите "Submit".
Важное предупреждение: Увеличить размер zvol после создания можно (через редактирование extent'а), но уменьшить — невозможно без полного удаления и создания заново с потерей данных.
Настройка iSCSI Target и порталов
Target — это виртуальный диск, который инициатор увидит в сети. Портал определяет, по какому адресу и порту он доступен.
- Создание портала (Portal): Перейдите на вкладку "Portals" → "Add".
- Оставьте "0.0.0.0:3260" для прослушивания на всех интерфейсах или, что безопаснее, укажите конкретный IP-адрес, назначенный на подготовленный iSCSI-интерфейс (например,
192.168.10.10:3260). - Нажмите "Submit".
- Оставьте "0.0.0.0:3260" для прослушивания на всех интерфейсах или, что безопаснее, укажите конкретный IP-адрес, назначенный на подготовленный iSCSI-интерфейс (например,
- Создание цели (Target): Перейдите на вкладку "Targets" → "Add".
- Система предложит сгенерировать IQN (iSCSI Qualified Name) автоматически. Его можно оставить или задать свой в понятном формате, например:
iqn.2026-04.com.admin-wiki:truenas.db.target1. - В поле "Target Portal Group" выберите созданный ранее портал (обычно "1").
- Нажмите "Submit".
- Система предложит сгенерировать IQN (iSCSI Qualified Name) автоматически. Его можно оставить или задать свой в понятном формате, например:
- Привязка extent'а к target'у: Перейдите на вкладку "Associated Targets" → "Add".
- В "Target" выберите созданный target.
- В "LUN ID" укажите
0(первый диск). - В "Extent" выберите созданный ранее zvol.
- Нажмите "Submit".
Теперь ваш диск создан и опубликован в сети. Однако он доступен для подключения с любого хоста. Чтобы это исправить, можно настроить группу инициаторов (Initiators Group) на вкладке "Initiator Groups", указав IQN конкретных клиентов (например, сервера VMware).
Безопасность: обязательная настройка аутентификации CHAP
Оставлять iSCSI-target без аутентификации в сети — критическая уязвимость. CHAP (Challenge-Handshake Authentication Protocol) обеспечивает защиту на уровне протокола.
Настройка Mutual CHAP (рекомендуется) в TrueNAS 2026:
- Перейдите на вкладку "Authorized Access" → "Add".
- Заполните поля:
- Tag: Уникальный номер (например, 1).
- User: Имя пользователя для инициатора (со стороны TrueNAS это "Target").
- Secret: Сгенерируйте сложный пароль (минимум 12 символов, буквы, цифры, спецсимволы). Запишите его.
- Peer User: Имя пользователя для цели (со стороны TrueNAS это "Initiator").
- Peer Secret: Сгенерируйте и запишите второй сложный пароль.
- Нажмите "Submit".
- Теперь откройте созданный ранее Target для редактирования. В поле "Authorized Access Group" выберите только что созданную запись (например, "1"). Сохраните изменения.
Теперь для подключения к этому target'у с клиента (VMware, Windows Server) потребуется указать оба имени пользователя и оба секрета: один для аутентификации инициатора на цели (Initiator Secret), другой для аутентификации цели у инициатора (Target Secret).
Тонкая настройка производительности для VMware, Hyper-V и СУБД
Базовая настройка работает, но для получения максимальной производительности под конкретную нагрузку требуется глубокая оптимизация ZFS и параметров iSCSI. Разберем ключевые настройки.
Оптимизация ZFS: recordsize, sync, cache (ARC/L2ARC, SLOG)
Эти параметры влияют на задержку (latency) и пропускную способность (throughput). Настроить их можно на уровне набора данных (dataset), в котором лежит zvol.
- Найдите ваш zvol в
Storage > Pools, кликните на трехточки рядом с ним и выберите "Edit Options". - Record Size (recordsize): Самый важный параметр.
- 16K: Оптимален для случайных операций чтения/записи небольшого блока. Используйте для СУБД (PostgreSQL, MySQL), виртуальных дисков ВМ.
- 128K: Оптимален для последовательных операций: потоковое видео, резервное копирование, большие файлы.
16Kили32K. Подробнее о тонкостях настройки ZFS читайте в нашем руководстве по оптимизации производительности TrueNAS. - Sync: Определяет, когда операция записи считается завершенной.
- standard (по умолчанию): Запись подтверждается после попадания в ZIL (ZFS Intent Log). Безопасно, но медленнее.
- always: Максимальная безопасность, обязательна для СУБД. Сильно снижает производительность без SLOG.
- disabled: Запись подтверждается после попадания в RAM. Риск потери данных при сбое питания, но максимальная скорость. Не рекомендуется для рабочих данных.
Рекомендация: Для виртуальных машин оставьтеstandard. Для высоконагруженных СУБД установитеalwaysи добавьте устройство SLOG. - Кэширование:
- ARC (Adaptive Replacement Cache): Использует оперативную память. Увеличивается автоматически. Убедитесь, что у TrueNAS достаточно RAM (минимум 32 ГБ для рабочих нагрузок).
- L2ARC (Level 2 ARC): Кэш на быстрых SSD (NVMe) для чтения. Эффективен только если рабочий набор данных не помещается в ARC. Добавляется в
Storage > Pools→ "Add Vdev" → "Cache". Не создавайте L2ARC, если у вас меньше 64 ГБ RAM — он будет вытеснять полезные данные из ARC. - SLOG (Separate Log Device): Выделенный SSD (желательно с конденсатором, например, Intel Optane) для операций sync. Резко снижает задержку записи при
sync=standardилиalways. Добавляется как "Log" vdev. Достаточно небольшого размера (10-50 ГБ).
Эффективность кэшей можно проверить в Reporting > ZFS, обратив внимание на графики "ARC Hit Ratio" (должен быть >90%) и "L2ARC Hit Ratio".
Рекомендации для интеграции с VMware vSphere и Microsoft Hyper-V
Для гарантированной совместимости и производительности следуйте этому чек-листу:
VMware vSphere:
- При создании datastore через iSCSI Software Adapter выбирайте VMFS 6.
- Формат виртуального диска: Thick Provision Eager Zeroed. Он обеспечивает максимальную производительность и сразу резервирует место на zvol.
- Настройте MPIO: в настройках iSCSI-адаптера добавьте все порталы (IP-адреса) вашего TrueNAS, установите политику маршрутизации "Round Robin".
- Размещайте файл подкачки ВМ (
.vswp) на локальном хранилище хоста ESXi, а не на iSCSI, чтобы снизить нагрузку.
Microsoft Hyper-V:
- Используйте формат виртуального диска VHDX с фиксированным размером.
- Включите MPIO на хосте Windows Server (
Install-WindowsFeature Multipath-IO) и настройте политику балансировки для iSCSI-устройства. - Для генерации высокой случайной нагрузки (десятки тысяч IOPS) ознакомьтесь с нашим независимым практическим сравнением производительности дисковых подсистем 2026 года.
Конфигурация для высоконагруженных СУБД (PostgreSQL, MySQL)
Базы данных предъявляют самые строгие требования к хранилищу: низкая задержка и высокая скорость случайных операций.
- Настройка ZFS для zvol СУБД:
recordsize=16k(совпадает с типичным размером страницы СУБД).sync=always(обязательно для целостности данных).atime=off(отключите обновление времени доступа для снижения нагрузки).compression=lz4(включите легкое сжатие, оно почти не нагружает ЦП, но экономит место и может увеличить скорость за счет чтения меньшего объема данных с дисков).- Рассмотрите
logbias=throughputдля оптимизации журнала записи.
- Разделение нагрузки: Создайте отдельные zvol для:
- Данных таблиц.
- Индексов.
- Журнала транзакций (WAL в PostgreSQL, redo log в MySQL). Для WAL особенно критична низкая задержка записи — разместите его на zvol с SLOG или, если возможно, на отдельном высокоскоростном пуле (например, из NVMe-дисков).
- Настройка СУБД: Увеличьте размер shared buffers (например,
shared_buffersв PostgreSQL) с учетом того, что ZFS ARC также кэширует данные. Начинайте с 25% от RAM сервера с БД.
Мониторинг, диагностика проблем и обеспечение отказоустойчивости
После запуска системы необходим постоянный контроль. TrueNAS 2026 предоставляет для этого мощные встроенные инструменты.
Инструменты мониторинга iSCSI в TrueNAS 2026
Основная информация сосредоточена в Reporting > iSCSI:
- Latency (задержка): Критически важный график. Для виртуализации и СУБД задержка чтения/записи должна быть стабильно ниже 10-20 мс. Пики выше 50 мс указывают на проблему.
- IOPS: Показывает общую нагрузку на хранилище. Сравнивайте с паспортными значениями ваших дисков.
- Throughput (пропускная способность): Полезен для оценки загрузки сетевых интерфейсов.
- Connected Initiators: Показывает, какие хосты подключены к вашим target'ам. Внезапное отключение может указывать на сетевую проблему.
Настройте оповещения в System > Alert Services. Добавьте правило для событий типа "iSCSI Connection Lost" или "Pool Health Degraded", чтобы получать уведомления на почту или в Telegram.
Диагностика узких мест: от сети до дисков
Если графики показывают высокую задержку или низкую производительность, действуйте по алгоритму снизу вверх:
- Сеть:
- Проверьте ошибки (
errs,drops) на интерфейсах iSCSI вNetwork > Interfaces. - Запустите
iperf3между TrueNAS и клиентом для проверки реальной пропускной способности и потери пакетов.
- Проверьте ошибки (
- Система TrueNAS:
- В
Reporting > CPUпроверьте загрузку ядер. Постоянная загрузка выше 70-80% может быть узким местом. - В
Reporting > Memoryубедитесь, что ARC эффективно использует доступную RAM.
- В
- Кэши ZFS:
- Низкий "ARC Hit Ratio" (<80%) означает, что данные не помещаются в оперативную память. Рассмотрите увеличение RAM или добавление L2ARC (только при достаточном объеме RAM).
- Если L2ARC используется активно, но задержка высокая, возможно, само устройство L2ARC (SATA SSD) стало узким местом.
- Диски: Используйте командную строку (Shell) для глубокой диагностики.
Высокие значения# Статистика по пулу каждую секунду (обратите внимание на колонки wait, busy) zpool iostat -v your_pool_name 1 # Детальная статистика по каждому диску (команда gstat) gstat -pwait(время ожидания операции) и%busy(загрузка диска), близкие к 100%, указывают на то, что дисковая подсистема не справляется с нагрузкой.
Для комплексного подхода к мониторингу серверной инфраструктуры используйте практическое руководство по мониторингу производительности в Linux.
Резюме и ключевые рекомендации для TrueNAS 2026
Настройка iSCSI в TrueNAS — многоэтапный процесс, где важна каждая деталь. Для быстрого применения сохраните эту сводную таблицу:
| Сценарий | Топология пула | Recordsize | Sync | Доп. устройства |
|---|---|---|---|---|
| Виртуализация (VMware/Hyper-V) | Mirror (для IOPS) | 16K или 32K | standard | SLOG (опционально) |
| Высоконагруженная СУБД | Mirror | 16K | always | Обязателен SLOG |
| Хранилище бэкапов/архив | RAIDZ2 | 128K или 1M | standard или disabled | L2ARC (если частое чтение) |
5 самых частых ошибок и как их избежать:
- Использование общего пула для iSCSI и файловых служб. Создавайте отдельный пул или, как минимум, отдельный dataset/zvol под iSCSI.
- Пропуск настройки CHAP. Всегда включайте Mutual CHAP, даже в доверенной сети.
- Неправильный recordsize. Не оставляйте значение по умолчанию (128K) для ВМ и СУБД. Устанавливайте 16K.
- Создание L2ARC при недостатке RAM. L2ARC вытесняет данные из ARC. Добавляйте только если ARC Hit Ratio низкий, а RAM больше 64 ГБ.
- Отсутствие мониторинга задержки (latency). Регулярно проверяйте графики в Reporting > iSCSI.
Особенности TrueNAS 2026: В отличие от более ранних версий CORE/SCALE, интерфейс 2026 года стал более целостным, а настройки iSCSI лучше интегрированы с системой мониторинга. Ключевые параметры ZFS теперь доступны для редактирования прямо в веб-интерфейсе при создании пула и dataset'ов.
Финальная рекомендация: прежде чем переносить рабочие нагрузки, обязательно проведите нагрузочное тестирование в своей среде с помощью инструментов вроде fio или тестовых ВМ. Это даст реальное понимание производительности и поможет избежать сюрпризов в production.