Перейти к основному содержимому

Подключение диска по iSCSI в Linux

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

к сведению

Здесь и далее все команды выполняются от имени суперпользователя или через sudo.

dnf install -y iscsi-initiator-utils

Затем перейдем в /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.1.1 -t st

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

iscsiadm --mode discovery --portal 192.168.1.1 --type sendtargets

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

После успешного выполнения данной команды в /etc/iscsi появятся две директории:

  1. nodes - которая содержит вложенные каталоги для каждого IQN.

  2. send_targets - с вложенными каталогами для каждой цели.

Перейдем в nodes и попадём в каталог с IQN нашей цели, в нем откроем еще один каталог с адресом и портом, в котором обнаружим файл default. Откроем его на редактирование.

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

node.startup = automatic
к сведению

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

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

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

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

iscsiadm -m node --login

Если требуется подключить только отдельную цель, то укажите ее явно:

iscsiadm -m node --targetname "TARGET_NAME" --login

Для отключения всех целей выполните:

iscsiadm -m node --logout

Либо для отключения только определенной:

iscsiadm -m node --targetname "TARGET_NAME" --logout

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

lsblk

Также можно посмотреть все текущие подключения iSCSI:

iscsiadm -m session

Для удаления ненужных целей воспользуйтесь командой, которая удалит все связанные с указанным порталом (опция -p) цели:

iscsiadm -m discovery -p 192.168.1.1 -o delete