Гид по технологиям

Настройка iSCSI на Ubuntu 18.04: таргет и инициатор

6 min read Хранилище Обновлено 27 Nov 2025
iSCSI на Ubuntu 18.04 — таргет и инициатор
iSCSI на Ubuntu 18.04 — таргет и инициатор

Схема подключения iSCSI: сервер-таргет и клиент-инициатор через IP-сеть

Что такое iSCSI

iSCSI (Internet Small Computer System Interface) — сетевой протокол SAN, который передаёт SCSI-команды по TCP/IP, обеспечивая доступ на уровне блоков к удалённым устройствам хранения.

Короткое определение: iSCSI позволяет использовать удалённый диск как локальный блочный девайс через сеть IP.

Основные компоненты

  • Таргет (iSCSI target) — сервис на сервере хранения, предоставляющий один или несколько LUN (логических устройств).
  • Инициатор (iSCSI initiator) — клиент, который обнаруживает таргеты и подключается к LUN, чтобы работать с ними как с обычными дисками.

Требования

  • Два сервера Ubuntu 18.04: один — таргет с внешним HDD 2 ГБ (в примере /dev/sdb1), второй — инициатор.
  • Статические IP: таргет 192.168.0.103, инициатор 192.168.0.102.
  • Привилегии root на обоих серверах.

Важно: в продакшн-окружении используйте защищённую сеть хранения или VLAN и настройте аутентификацию/шлюзы.

Подготовка серверов

Обновите оба сервера перед началом:

apt-get update -y
apt-get upgrade -y

После обновления перезагрузите сервера, чтобы применить обновления.

Установка iSCSI таргета на Ubuntu

На сервере-таргете установите пакет tgt (Target Framework):

apt-get install tgt -y

Проверьте статус сервиса:

systemctl status tgt

Ожидаемый результат: сервис запущен (active (running)). В логе могут встречаться предупреждения про RDMA, если соответствующие ядровые модули не загружены — это обычно не критично для TCP/iSCSI.

Конфигурация iSCSI таргета

Создайте конфигурационный файл таргета в /etc/tgt/conf.d:

nano /etc/tgt/conf.d/iscsi.conf

Пример содержимого:


     # Provided device as an iSCSI target
     backing-store /dev/sdb1                             
     initiator-address 192.168.0.102
     incominguser iscsi-user password
     outgoinguser iscsi-target secretpass

Пояснения параметров:

  • target: уникальный IQN (iSCSI Qualified Name) таргета.
  • backing-store: реальное устройство или файл образа, предоставляемые как LUN.
  • initiator-address: IP разрешённого инициатора (ACL).
  • incominguser / outgoinguser: пары логин/пароль для CHAP и взаимной аутентификации.

Перезапустите сервис, чтобы применить изменения:

systemctl restart tgt

Проверьте доступность таргета:

tgtadm --mode target --op show

В выводе вы должны увидеть информацию о таргете, LUN и ACL.

Установка и настройка iSCSI инициатора

На сервере-инициаторе установите клиент open-iscsi:

apt-get install open-iscsi -y

Выполните обнаружение таргетов:

iscsiadm -m discovery -t st -p 192.168.0.103

Ожидаемый вывод содержит строку с IQN и порталом, например:

192.168.0.103:3260,1 iqn.2019-11.example.com:lun1

После обнаружения в /etc/iscsi появятся файлы конфигурации для найденного таргета. Отредактируйте файл default для узла, чтобы прописать CHAP-креденшалы:

nano /etc/iscsi/nodes/iqn.2019-11.example.com\:lun1/192.168.0.103\,3260\,1/default

Добавьте или измените следующие строки:

node.session.auth.authmethod = CHAP
node.session.auth.username = iscsi-user
node.session.auth.password = password
node.session.auth.username_in = iscsi-target
node.session.auth.password_in = secretpass
node.startup = automatic

Перезапустите клиент:

systemctl restart open-iscsi

В выводе systemd будут логи входа в таргет и сообщение об успешном логине. После этого на стороне инициатора должен появиться новый блочный девайс (например, /dev/sdb).

Создание файловой системы и монтирование

На инициаторе создайте раздел на новом диске (/dev/sdb) с помощью fdisk:

fdisk /dev/sdb

Далее создайте файловую систему на разделе (пример для /dev/sdb1):

mkfs.ext4 /dev/sdb1

Создайте точку монтирования и смонтируйте:

mount /dev/sdb1 /mnt

Проверьте смонтированные файловые системы:

df -h

Теперь LUN доступен как обычный диск и готов к использованию.

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

  • Список блочных устройств: lsblk
  • Информация о таргете на сервере: tgtadm –mode target –op show
  • Сессии подключения: tgtadm –mode conn –op show –tid 1
  • Логи systemd: journalctl -u tgt или journalctl -u open-iscsi

Типичные проблемы и подсказки:

  • «No matching sessions found» при перезапуске open-iscsi — нормальное сообщение при отсутствии активных сессий; проверьте повторно discovery и файл default.
  • Правильный IQN и IP в конфигурациях должны совпадать между таргетом и инициатором.
  • Ошибки аутентификации — проверьте CHAP-данные и порядок полей username/username_in.

Безопасность и рекомендации

  • Используйте отдельную сеть для трафика хранения (VLAN, отдельный физический интерфейс) или VPN.
  • В продакшн не используйте простые пароли; применяйте сильные ключи CHAP и ограничивайте ACL по IP.
  • Настройте мониторинг доступности дисков и уровней SMART для физических носителей.
  • Регулярно делайте резервные копии данных; iSCSI предоставляет блочное устройство, но не является резервной стратегией.

Важно: iSCSI даёт блочный доступ — ошибки на клиенте могут привести к повреждению данных на LUN. Согласуйте политики монтирования и файловых систем (например, кластерные FS для мультихоста).

Когда эта схема не подходит

  • Низкопроизводительные сети (например, медленный Wi‑Fi) — большие задержки и низкая пропускная способность.
  • Большие мультихостовые сценарии записи без кластерной ФС — риск повреждений данных.
  • Если требуется шифрование «по каналу», применяйте iSCSI поверх IPsec или отдельного защищённого туннеля.

Чек-листы ролей

Администратор таргета:

  • Подключить и проверить физический диск на целевом сервере.
  • Установить tgt, создать конфигурацию /etc/tgt/conf.d/iscsi.conf.
  • Ограничить ACL по IP и настроить CHAP.
  • Перезапустить и проверить tgtadm –mode target –op show.

Администратор инициатора:

  • Установить open-iscsi, выполнить iscsiadm discovery.
  • Настроить CHAP в файле default для узла.
  • Перезапустить open-iscsi и проверить lsblk, df -h.

Критерии приёмки

  • Таргет отображается на сервере-тартете и отвечает на discovery.
  • Инициатор успешно логинится и получает блочный девайс (/dev/sdb).
  • На данном девайсе можно создать файловую систему, смонтировать и записывать данные.
  • Аутентификация CHAP проходит успешно; соединение инициируется автоматически после перезагрузки (node.startup = automatic).

Командная шпаргалка (cheat sheet)

  • Установка таргета: apt-get install tgt -y
  • Перезапуск: systemctl restart tgt
  • Показ таргетов: tgtadm –mode target –op show
  • Установка инициатора: apt-get install open-iscsi -y
  • Обнаружение: iscsiadm -m discovery -t st -p
  • Перезапуск клиента: systemctl restart open-iscsi
  • Список дисков: lsblk
  • Создание FS: mkfs.ext4 /dev/sdb1
  • Монтирование: mount /dev/sdb1 /mnt

Короткий словарь (1 строка на термин)

  • LUN — логический блок хранения, который предоставляет таргет.
  • IQN — уникальное имя iSCSI-устройства, идентификатор таргета.
  • CHAP — протокол аутентификации Challenge-Handshake для iSCSI.
  • tgt — демон iSCSI-таргета на Linux (Target Framework).
  • open-iscsi — клиент (инициатор) iSCSI для Linux.

Быстрая методология внедрения

  1. Подготовьте выделенную сеть/подсеть для iSCSI.
  2. Настройте таргет и ограничьте ACL/CHAP.
  3. На инициаторе выполните discovery и настройте CHAP.
  4. Протестируйте подключение, создайте FS, смонтируйте, выполните тестовую запись.
  5. Настройте автозапуск и мониторинг.

Технические проверки и тест-кейсы

  • TC1: После iscsiadm discovery и перезапуска open-iscsi инициатор получает /dev/sdb — PASS.
  • TC2: После создания и монтирования /dev/sdb1 возможна запись файлов и их чтение — PASS.
  • TC3: Аутентификация CHAP при намеренной подмене пароля должна падать — PASS.
  • TC4: После перезагрузки оба сервиса стартуют и подключение возобновляется автоматически — PASS.

Резюме

  • iSCSI позволяет организовать блочное хранение по IP, разделяя роли таргета и инициатора.
  • На Ubuntu 18.04 в примере мы использовали tgt для таргета и open-iscsi для инициатора.
  • Всегда учитывайте безопасность сети хранения, CHAP и мониторинг состояния дисков.

Важно: перед внедрением в продакшн прогоните сценарии отказа и проверку восстановления данных.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Spotify не видит локальную музыку на телефоне
Мобильные приложения

Spotify не видит локальную музыку на телефоне

Ошибка «Документы в очереди» на HP — как исправить
Принтеры

Ошибка «Документы в очереди» на HP — как исправить

Запуск нескольких команд в Linux
Linux команды

Запуск нескольких команд в Linux

Сертификат сайта принадлежит другому — что делать
Безопасность

Сертификат сайта принадлежит другому — что делать

7-Zip: тема Windows 11 и инструкция
Software

7-Zip: тема Windows 11 и инструкция

Режим низкого расхода данных на iPhone
Mobile

Режим низкого расхода данных на iPhone