Подключение диска по 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 появятся две директории:
-
nodes - которая содержит вложенные каталоги для каждого IQN.
-
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