Настройка iSCSI-инициатора в Debian или Ubuntu

  • Автор:

open-iscsi-debian-ubuntu-000.pngВ продолжение темы iSCSI в среде Linux мы затронем тему инициатора, которого мы ранее не касались, рассказывая о подключении iSCSI-дисков исключительно к Windows-системам. Несомненно, это наше упущение, и мы постараемся его исправить. Перед тем как приступать к настройке инициатора мы советуем хотя бы по диагонали прочитать одну из наших статей по iSCSI или иную справочную информацию, чтобы иметь базовое представление о терминологии и назначении отдельных частей системы.

Еще раз коротко напомним, сервер iSCSI называется портал, он содержит цели (таргет, Target), каждая цель предоставляет доступ к одному или нескольким блочным устройствам. Клиент iSCSI называется инициатор (Initiator), одна цель может быть подключена только к одному инициатору, исключения - кластерные системы.

В качестве инициатора в Linux системах используется Open-iSCSI, установим его, перед установкой не забудем обновить список пакетов. Здесь и далее все команды выполняются от имени суперпользователя или через sudo.

apt update
apt install open-iscsi

Затем перейдем в /etc/iscsi и откроем файл iscsid.conf. Найдем и раскомментируем опцию:

node.startup = automatic

Ниже обязательно закомментируем:

node.startup = manual

Затем зададим параметры аутентификации инициатора, раскомментировав опции:

node.session.auth.authmethod = CHAP

node.session.auth.username = username
node.session.auth.password = password

Если предполагается работа только с одной целью, то можно сразу указать здесь используемые логин и пароль, можно же оставить как есть, указав нужные данные уже при настройке подключения к цели.

Сохраним файл и перезапустим службу:

service open-iscsi restart

Теперь попробуем подключиться к порталу и получить список доступных целей:

iscsiadm -m discovery -p 192.168.111.153 -t st

Это короткая запись команды, полная будет выглядеть так:

iscsiadm --mode discovery --portal 192.168.111.153 --type sendtargets

Из чего становится понятно, что мы должны подключиться к порталу 192.168.111.153 в режиме обнаружения и получить него все доступные цели.

После успешного выполнения данной команды в /etc/iscsi появятся две директории nodes - которая содержит вложенные каталоги для каждого IQN - и send_targets - с вложенными каталогами для каждой цели. Перейдем в nodes и провалимся в каталог с IQN нашей цели, в нем откроем еще один каталог с адресом и портом, в котором обнаружим файл default. Откроем его на редактирование.

Прежде всего убедимся, что

node.startup = automatic

Если же вам нужно, чтобы указанная цель не подключалась автоматически при загрузке, то измените automatic на manual.

Затем найдите:

node.session.auth.username = username
node.session.auth.password = password

И укажите там логин и пароль для подключения к вашей цели.

Теперь можно подключить цель, для этого можно использовать команду:

iscsiadm -m node --login

Которая подключит все цели, конфигурационные файлы которых находятся в каталоге nodes, если требуется подключить только отдельную цель, то укажите ее явно:

iscsiadm -m node --targetname "iqn.2009-02.lab.interface31:deban-test-target" --login

Для отключения выполните:

iscsiadm -m node --logout

Данная команда отключит все цели, либо:

iscsiadm -m node --targetname "iqn.2009-02.lab.interface31:deban-test-target" --logout

Для отключения только определенной.

Для проверки можем выполнить:

lsblk

Которая покажет все подключенные блочные устройства, среди которых должен оказаться и предоставляемый целью диск, в нашем случае на скриншоте ниже виден 2 ГБ диск sdb. Также можно посмотреть все текущие подключения iSCSI:

 iscsiadm -m session

open-iscsi-debian-ubuntu-001.pngДля удаления ненужных целей воспользуйтесь командой:

iscsiadm -m discovery -p 192.168.111.153 -o delete

Которая удалит все связанные с указанным порталом (опция -p) цели.