В статье приводится порядок настройки сервера, предоставляющего блочные данные по протоколу iSCSI (программная СХД).

Требования

Сервер соответствует минимальным требованиям (требования можно посмотреть тут, в разделе Серверы)

Установка

Установить необходимые пакеты

sudo apt install targetcli-fb
CODE

Настройка targetcli

Войти в консоль управления

sudo targetcli
CODE


Отобразить текущую конфигурацию командой ls:  

/> ls
o- / ..................................................................................................... [...]
   o- backstores ......................................................................................... [...]
    | o- block ............................................................................ [Storage Objects: 0]
    | o- fileio ........................................................................... [Storage Objects: 0]
    | o- pscsi ............................................................................ [Storage Objects: 0]
    | o- ramdisk .......................................................................... [Storage Objects: 0]
    o- iscsi ...................................................................................... [Targets: 0]
    o- lo.......................................................................................... [Targets: 0]
    o- vhost ...................................................................................... [Targets: 0]
CODE


Создать блочное устройство в backstores, выполнить /backstores/block create storage01 /dev/<disk_name>:

/backstores/block create storage01 /dev/<disk_name>
Created block storage object storage01 using /dev/<disk_name>.
CODE

где <diskname> - имя диска

Аналогичным образом добавить необходимое количество дисков.

Проверить результат командой ls

/> ls
o- / ..................................................................................................... [...]
o- backstores ......................................................................................... [...]
| o- block ............................................................................ [Storage Objects: 1]
| | o- storage01 ............................................... [/dev/vdb (20.0GiB) write-thru deactivated]
| o- fileio ........................................................................... [Storage Objects: 0]
| o- pscsi ............................................................................ [Storage Objects: 0]
| o- ramdisk .......................................................................... [Storage Objects: 0]
o- iscsi ...................................................................................... [Targets: 0]
o- loopback ................................................................................... [Targets: 0]
o- vhost ...................................................................................... [Targets: 0]
CODE


Создать target командой /iscsi create:

/> /iscsi create
Created target iqn.2003-01.org.linux-iscsi.storage.x8664:sn.4668ea6d5709.
Created TPG 1. Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
CODE


Проверить результат командой ls:

/> ls
o- / ..................................................................................................... [...]
   o- backstores ......................................................................................... [...]
    | o- block ............................................................................ [Storage Objects: 1]
    | | o- storage01 ............................................... [/dev/vdb (20.0GiB) write-thru deactivated]
    | o- fileio ........................................................................... [Storage Objects: 0]
    | o- pscsi ............................................................................ [Storage Objects: 0]
    | o- ramdisk .......................................................................... [Storage Objects: 0]
    o- iscsi ...................................................................................... [Targets: 1]
    | o- iqn.2003-01.org.linux-iscsi.storage.x8664:sn.4668ea6d5709 ................................... [TPGs: 1]
      | o- tpg1 ......................................................................... [no-gen-acls, no-auth]
        | o- acls .................................................................................... [ACLs: 0]
        | o- luns .................................................................................... [LUNs: 0]
        | o- portals .............................................................................. [Portals: 1]
          | o- 0.0.0.0:3260 ............................................................................... [OK]
    o- loopback ................................................................................... [Targets: 0]
    o- vhost ...................................................................................... [Targets: 0]
CODE


Поскольку выполняется настройка программного iscsi-target для стендирования с целью упрощения процесса настройки, отключить контроль доступа:

cd /iscsi/<scsi-id>/tpg1

set attribute generate_node_acls=1

set attribute demo_mode_write_protect=0
CODE


Создать LUN на основе объекта хранилища в backstores

/iscsi/iqn.20...ea6d5709/tpg1> luns/ create /backstores/block/storage01
Created LUN 0.
CODE


Аналогичным образом добавить необходимое количество LUN.

Сохранить конфигурацию:

/ saveconfig
CODE