TrueNAS iSCSI — настройка, создание дисков и подключение | Руководство | AdminWiki

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

09 января 2026 7 мин. чтения #devops #iSCSI #truenas #zfs #настройка #хранилище

Представь, что тебе нужно предоставить блочное хранилище для виртуальных машин, баз данных или контейнеров по сети. Локальные диски не подходят, а дорогие SAN-решения выходят за рамки бюджета. Решение? TrueNAS iSCSI. Это мощный, бесплатный и надежный способ превратить твой TrueNAS-сервер в полноценный iSCSI-таргет. Давай разберем, как это настроить от А до Я, как для junior-администратора.

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

iSCSI (Internet Small Computer Systems Interface) — это протокол, который позволяет передавать SCSI-команды по IP-сети. Проще говоря, он делает из сетевого ресурса «локальный диск» для клиентской системы. TrueNAS, будучи мощной ZFS-платформой, идеально подходит для роли iSCSI-сервера (таргета) благодаря:

  • Стабильности ZFS: Проверка целостности данных, снапшоты, компрессия.
  • Гибкости: Можно создать iSCSI диск на основе файла (zvol) или всего датасета.
  • Производительности: Кэширование ARC/L2ARC, поддержка SSD-кэша (SLOG).
Важно: Для iSCSI рекомендуется выделенная сеть или VLAN (минимум 1 Гбит/с, лучше 10 Гбит/с) для снижения задержек и изоляции трафика хранилища.

Подготовка TrueNAS к настройке iSCSI

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

  1. Установленный и работающий TrueNAS (Scale или Core).
  2. Созданный пул ZFS с достаточным свободным местом.
  3. Статический IP-адрес на сервере в сети, где будут находиться клиенты.
  4. План по размеру и количеству LUN (Logical Unit Number — логических дисков).

Шаг 1: Создание ZVOL для iSCSI диска

В TrueNAS iSCSI-диск (LUN) чаще всего базируется на ZVOL — блочном устройстве внутри ZFS. Давай создадим его через веб-интерфейс.

  1. Перейди в Storage → Pool.
  2. Найди нужный пул, нажми «Дополнительно» (три точки) и выбери «Add Zvol».
  3. Заполни параметры:
    • Zvol name: iscsi_vm_disk
    • Size for this zvol: Укажи размер, например, 100 GiB.
    • Compression level: lz4 (рекомендуется).
    • Sparse (Thin Provisioning): Галочка, если хочешь «тонкое» выделение места.
bash
# Альтернативно, можно создать zvol через CLI (полезно для автоматизации):
sudo zfs create -V 100G -o compression=lz4 pool01/iscsi_vm_disk
# Проверить создание:
sudo zfs list -t volume | grep iscsi
Осторожно с Thin Provisioning: Он позволяет создавать диски больше свободного места, но требует мониторинга, чтобы пул не переполнился.

Настройка iSCSI на TrueNAS: Пошаговое руководство

Теперь перейдем к основной части — настройке iSCSI службы. Идем в Shares → Block (iSCSI).

Шаг 2: Активация и базовая конфигурация iSCSI

  1. Во вкладке Target Global Configuration нажми «Configure». Здесь настройки по умолчанию обычно подходят. Обрати внимание на Base Name (iqn) — это уникальный идентификатор твоего таргета.
  2. Перейди во вкладку Portals и создай портал (если нет). Укажи IP-адрес и порт (стандартный 3260).
  3. Во вкладке Initiators можно ограничить доступ по IQN инициатора (клиента), но для начала можно оставить «Allow All».

Шаг 3: Создание iSCSI Target

Target — это «дверь», через которую клиенты подключаются к твоим дискам.

  1. Во вкладке Targets нажми «Add».
  2. Задай имя (Alias), например, truenas-iscsi-vm.
  3. Выбери созданный ранее Portal (IP и порт).
  4. Группу инициаторов (Initiator Group) можно оставить «All» или создать свою.

Шаг 4: Создание Extent и ассоциация с Target

Extent — это непосредственно наш iSCSI disk, ссылающийся на ZVOL или файл.

  1. Перейди во вкладку Extents → «Add».
  2. Type: Выбери Device.
  3. Device: В выпадающем списке найди созданный ZVOL (pool01/iscsi_vm_disk).
  4. Остальные настройки (размер, блоки) можно оставить по умолчанию. Нажми «Submit».

Шаг 5: Связывание всего вместе (Target/Extent)

Финал настройки! Нужно сказать таргету, какой именно диск (extent) он должен предоставлять.

  1. Перейди во вкладку Associated Targets → «Add».
  2. Выбери созданный Target и Extent.
  3. LUN ID: Обычно 0 (если диск один).
  4. Нажми «Submit».
Готово на стороне сервера! Не забудь в Services включить и запустить службу «iSCSI». Теперь TrueNAS ожидает подключений клиентов.

Подключение iSCSI диска с клиента (Linux/Windows)

Для Linux (Ubuntu/Debian)

Установи пакет open-iscsi и выполни обнаружение и подключение.

bash
# Установка клиента
sudo apt update && sudo apt install open-iscsi

# Обнаружение таргетов на сервере TrueNAS (IP: 192.168.1.100)
sudo iscsiadm -m discovery -t st -p 192.168.1.100
# Вывод будет содержать IQN твоего таргета, например:
# 192.168.1.100:3260,1 iqn.2005-10.org.freenas.ctl:truenas-iscsi-vm

# Подключение к таргету
sudo iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:truenas-iscsi-vm -p 192.168.1.100:3260 --login

# Проверь новый блочный диск (обычно /dev/sdX)
lsblk
sudo fdisk -l

Для Windows

  1. Открой «Диспетчер iSCSI» (iscsicpl.exe).
  2. Во вкладке «Обнаружение» нажми «Обнаружить портал» и введи IP TrueNAS.
  3. Перейди во вкладку «Конечные объекты», найди свой таргет и нажми «Подключить».
  4. Далее зайди в «Управление дисками» — новый диск появится как «Не проинициализированный».

Сравнение типов Extent в TrueNAS iSCSI

Тип Extent Основа Плюсы Минусы Использование
Device (ZVOL) Блочное устройство ZFS Макс. производительность, все фичи ZFS (снапшоты, компрессия) Фиксированный размер (если не sparse) Виртуальные машины, БД
File Файл в ZFS датасете Простота создания, можно легко увеличить Немного ниже производительность Тесты, резервные копии

Частые вопросы (FAQ) по TrueNAS iSCSI

Как увеличить размер iSCSI диска после создания?

Если использовал ZVOL, увеличь его сначала в TrueNAS (Storage → Pool, редактирование ZVOL), а затем расширь файловую систему на клиенте. Для Windows — через «Управление дисками», для Linux — с помощью resize2fs или xfs_growfs.

Можно ли использовать один iSCSI диск с нескольких клиентов одновременно?

Нет, без кластеризованной ФС — это путь к повреждению данных. iSCSI предоставляет блочное устройство. Если два хоста запишут данные в одну область диска, они перетрут друг друга. Для общего доступа нужны протоколы уровня файлов (NFS, SMB) или кластерные файловые системы (OCFS2, GFS2).

Как настроить аутентификацию CHAP для безопасности?

В разделе Shares → Block (iSCSI) → Initiators создай новую группу инициаторов. Включи опцию «Authentication Method» — CHAP. Задай имя пользователя и секрет. Затем укажи эту группу при создании Target. Не забудь настроить такие же учетные данные на стороне клиента.

Почему низкая скорость передачи по iSCSI?

Возможные причины и решения:

  • Сеть: Проверь, нет ли коллизий, используй выделенный сетевой интерфейс и Jumbo Frames (MTU 9000), если оборудование поддерживает.
  • Настройки ZFS: Добавь SSD для кэша (L2ARC) и лога синхронных операций (SLOG/ZIL), если много sync write (как в БД).
  • Нагрузка на диск: Мониторь IOPS и задержки пула через zpool iostat -vl 1.

Заключение и лучшие практики

Настройка TrueNAS iSCSI — мощный навык, который открывает двери к созданию отказоустойчивого и производительного сетевого хранилища. Запомни ключевые моменты:

  • Всегда начинай с плана: размер дисков, сеть, требования к безопасности.
  • Используй ZVOL для серьезных нагрузок (VM, БД) и включай компрессию lz4 — она почти бесплатна по CPU.
  • Настрой мониторинг свободного места, особенно при Thin Provisioning.
  • Регулярно создавай снапшоты ZVOL через планировщик TrueNAS — это твоя страховка от случайного удаления или ransomware.
  • Для максимальной производительности и безопасности выдели для iSCSI отдельный физический или виртуальный (VLAN) сетевой интерфейс.

Теперь у тебя есть не просто инструкция, а полная картина. Имплементируй, тестируй под нагрузкой и используй силу ZFS и iSCSI в своих проектах. Удачи!

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