iSCSI (Internet Small Computer System Interface) — это сетевой протокол хранения данных, который позволяет передавать команды SCSI по IP-сетям. Он используется для подключения устройств хранения данных (например, SAN) к серверам, как если бы они были подключены локально.
Initiator — клиент, который устанавливает (инициирует) соединение с устройством хранения данных (например, сервер).
Target — сервер хранения данных, предоставляющий доступ к блочным устройствам. Портал — IP и порт таргета.
LUN (Logical Unit Number) — логическая единица хранения, представляющая собой отдельный блочный девайс на Target. LUN — номер объекта внутри цели (target). Ближайшим аналогом является раздел диска или отдельный том.
IQN (iSCSI Qualified Name) — это уникальный идентификатор для iSCSI устройств (Initiator и Target) в формате:
iqn.yyyy-mm.naming-authority:unique
Структура:
iqn— префикс, указывающий на использование формата IQN.yyyy-mm— дата регистрации организации (год-месяц).naming-authority— доменное имя организации в обратном порядке (com.example).unique— уникальный идентификатор для конкретного устройства или сервиса.
Пример:
iqn.2025-07.com.example:storage.target12025-07— дата регистрации.com.example— домен организации.storage.target1— уникальное имя устройства.
IQN гарантирует глобальную уникальность для корректной идентификации устройств в сети.
Enterprise Unique Identifier (EUI) - eui.0123456789ABCDEF
В репозитории представлены два bash-скрипта для автоматизации настройки iSCSI Target и Initiator:
setup_iscsi_without_authentication.sh— настройка iSCSI без аутентификации (demo mode).setup_iscsi_with_authentication.sh— настройка iSCSI с CHAP-аутентификацией.
- Автоматически устанавливает и настраивает iSCSI Target и Initiator без аутентификации.
- Использует demo mode (безопасность минимальная, только для тестовых стендов).
- Все параметры (IP, IQN, устройство) задаются в начале скрипта.
- Для Target:
- Устанавливает targetcli, создает блочное устройство, Target, LUN, настраивает portal.
- Отключает аутентификацию, включает автоматическую генерацию ACL.
- Открывает порт 3260/tcp в firewall.
- Для Initiator:
- Устанавливает iscsi-initiator-utils.
- Прописывает IQN инициатора.
- Выполняет обнаружение и подключение к Target.
- Включает автоподключение при загрузке.
- Аналогичен предыдущему, но включает CHAP-аутентификацию.
- В начале скрипта задаются имя пользователя и пароль для CHAP.
- Для Target:
- Создает ACL для инициатора, задает CHAP-логин/пароль.
- Включает обязательную аутентификацию.
- Отключает автоматическую генерацию ACL.
- Для Initiator:
- Прописывает CHAP-логин/пароль в
/etc/iscsi/iscsid.conf. - Подключается к Target с аутентификацией.
- Прописывает CHAP-логин/пароль в
-
Скопируйте нужный скрипт на соответствующий сервер.
-
Отредактируйте переменные в начале скрипта (IP-адреса, IQN, имя пользователя/пароль, устройство).
-
Запустите скрипт с правами root (через
sudo):-
Для настройки Target:
sudo ./setup_iscsi_without_authentication.sh targetили
sudo ./setup_iscsi_with_authentication.sh target -
Для настройки Initiator:
sudo ./setup_iscsi_without_authentication.sh initiatorили
sudo ./setup_iscsi_with_authentication.sh initiator
-
-
После выполнения скрипта проверьте подключение командой
lsblkна инициаторе.