ISCSI — Транспортный протокол для SCSI.

Установка, настройка, эксплуатация.
Ответить
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

ISCSI — Транспортный протокол для SCSI.

Сообщение root »

Оглавление
Темы
Терминология
Установка iSCSI-target
Настройка iSCSI-target
Подключение инициатором к iSCSI-target
Дополнительные материалы
Wake on Lan: Удалённое включение компьютера
Синхронизация времени
OpenVPN: Открытая виртуальная частная сеть
WireGuard - VPN нового поколения
BIND — DNS-сервер
QUAGGA — Протоколы динамической маршрутизации
Dnscrypt — Проксирование dns-трафика
  • Backstores — это раздел, в котором отображаются объекты-хранилища. Backstores не видимая снаружи часть iSCSI таргета.
  • Block — жесткий диск, символические ссылки на диск или LVM.
  • Fileio — файл.
  • Ramdisk — RAM-диск.
    iSCSI — это fabric module, видимая снаружи часть iSCSI таргета. Он содержит список таргетов, лунов, права доступа и т.п. Список всего этого добра появится после настройки.
  • Loopback — ещё один fabric module, который дает доступ к таргету локально. Создание iSCSI таргета на linux с помощью targetcli
  • PSCSI (SCSI pass-through) — любое устройство для хранения информации, поддерживающее SCSI команды напрямую, то есть без
    эмуляции SCSI. Этот бэкстор не нужно использовать, так как может привести к повреждениям железа.
  • initiator — тот, кто устанавливает соединение с целью(target). Чаще всего это узел (в общем случае) осуществляет ввод/вывод на блочные устройства.
  • target — экспортируемый объект. В зависимости от контекста цель(target) называют или целиком экспортирующий узел, или только экспортируемый объект. Сам объект может делиться на lun’ы.
  • Портал — группа целей(targets), которые анонсируются вместе. Чаще всего один узел хранения — один портал.
  • IQN — полное имя участника взаимодействия. На практике существует iqn у инициатора и у цели(target).
  • endpoint — уточнённое имя ресурса, чаще всего включает в себя iqn, номер LUN’а и указание на конкретный метод доступа к нему (например, номер соединения, LUN и IP-адрес, с которого следует получать доступ к устройству).
  • LUN (Logical Unit Number) — номер объекта внутри цели(target). Ближайшим аналогом является раздел диска или отдельный том.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Для начала необходимо установить targetcli

Код: Выделить всё

dnf install targetcli
Сделать доступным демона (службу) target и запустить его

Код: Выделить всё

systemctl enable --now target
Открыть targetcli и посмотреть иерархию, в виде которой представлен таргет, почитать помощь. Помощь можно вызывать
в любом разделе внутри targetcli, везде будут свои команды.

Код: Выделить всё

targetcli ls help 
Создать блочное устройство в бэксторе. В первом случае создано устройство на основе непосредственно жесткого диска,
затем добавлено устройство на основе LVM, что гораздо удобнее в эксплуатации.

Код: Выделить всё

/backstores/block create storage01 /dev/sdb
или
/backstores/block create storage02 /dev/vg01/lv01
ls
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »


Создать iSCSI таргет

Код: Выделить всё

/iscsi create
ls
Внутри iscsi можно видеть структуру. Первый элемент – имя таргета. Ниже по иерархии tpg1 расшифровывается как
Target Portal Group – список IP-адресов и TCP портов, которые будет слушать этот таргет. Дальше идут acl – список
адресов, с которых можно будет подключиться к таргету, luns – список лунов, portals – список IP-адресов и портов,
которые будет слушать таргет.
Перейти в иерархии targetcli на уровень tpg1 и установить параметры авторизации

Код: Выделить всё

cd
-- используя стрелки для навигации по иерархии, переместиться на уровень tpg1 --
set parameter AuthMethod=None
set attribute authentication=0
Указать iqn имя инициатора, который будет иметь право подключаться к таргету.

Код: Выделить всё

acls/ create iqn.1991-05.com.microsoft:sergey-pc
В случае, если инициатором будет другой компьютер под управлением Linux, то для получения имени инициатора
необходимо прочитать файл /etc/iscsi/initiatorname.iscsi. В этом же файле можно и изменить имя iSCSI инициатора.
Для получения имени iSCSI инициатора под Windows необходимо открыть Панель управления -> Администрирование ->
iSCSI инициатор. В окне с настройками инициатора выбрать последнюю вкладку Конфигурация. Прочитать поле имя инициатора.
Создать LUN на основе объекта хранилища в бэксторе

Код: Выделить всё

luns/ create /backstores/block/storage01
Указать IP-адрес, который будет слушать таргет. Проще говоря адрес на сетевом интерфейсе самого сервера.
Можно выполнить команду без указания IP-адреса, в этом случае таргет будет принимать подключения на любом
сетевом интерфейсе

Код: Выделить всё

portals/ create 192.168.10.5
Сохранить конфигурацию, хотя по умолчанию она сохраняется автоматически при выходе из targetcli

Код: Выделить всё

cd / ls saveconfig
На этом таргет готов к использованию. Остается только подключиться инициатором к таргету и использовать LUN как локальный
жесткий диск.
Аватара пользователя
root
Site Admin
Сообщения: 501
Зарегистрирован: 15 авг 2026 01:31

Сообщение root »

Ответить