Сервер iSCSI Target на Linux Debian

Продолжая тему iSCSI, попробуем установить iSCSI Target на Linux (Debian).

В компаниях бывают ситуации когда сервер снят с эксплуатации, а объемов для хранения на этом севере достаточно. Обычно на таких сервера присутствую котроллеры RAID массивов и определенное количество дисков. Linux позволит без лицензионных затрат получить сервер-хранилище iSCSI.

Установим систему Debian.

Обновим:

apt-get update && apt-get upgrade && apt-get dist-upgrade

Настроим сеть:

nano /etc/network/interfaces

Перезапустим сеть с новыми настройками:

/etc/init.d/networking restart

В качестве сервера iSCSI Target используем TGT.

Установим:

apt-get install tgt dkms

Про DKMS — https://ru.wikipedia.org/wiki/Dynamic_Kernel_Module_Support

Создаем диск для размещения iSCSI дисков (IQN). Можно выделить отдельный диск или RAID массив под раздаваемые диски (как добавить новый диск в Linux).

Для теста создаем просто папку для размещения iqn дисков:

mkdir /var/lib/iscsi_disks 

Создаем тестовый диск:

dd if=/dev/zero of=/var/lib/iscsi_disks/disk01.img bs=1M count=2048 

создастся диск размером 2Гб, с размером блоков 1Мб, где bs — размер блока, count — количество блоков.

Создаем файл конфигурации для нашего IQN — disk01.img:

nano /etc/tgt/conf.d/target01.conf

# naming rule : [ iqn.yaer-month.domain:any name ]
<target iqn.2019-07.airmeno.ru:target01>
    # provided devicce as a iSCSI target
    backing-store /var/lib/iscsi_disks/disk01.img
    # iSCSI Initiator's IP address you allow to connect
    initiator-address 192.168.1.10
    # authentication info (set anyone you like for "username", "password") 
    incominguser username password1234
</target>

подробно про target.conf — https://github.com/fujita/tgt/blob/master/conf/examples/targets.conf.example
Пароль для CHAP — от 12 до 16 символов.

Перезапустим TGT для чтения конфигурации:

systemctl restart tgt

Проверим статус:

tgtadm --mode target --op show 

Target 1: iqn.2019-07.airmeno.ru:target01
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
        I_T nexus: 2
            Initiator: iqn.1991-05.com.microsoft:it1.airmeno.ru alias: none
            Connection: 1
                IP Address: 192.168.1.10
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 2147 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /var/lib/iscsi_disks/disk01.img
            Backing store flags:
    Account information:
        username
    ACL information:
        192.168.1.10

Сервер iSCSI Target готов. Попробуем подключить диск на клиенте.

Для серверных ОС (Windows Server):

Server Manager -> Tools -> iSCSI Initiator

Для клиентских ОС (Windows):

Средства администрирования -> Инициатор iSCSI

в поле Name и Target secret вводим данные из файла настройки target01.conf, поле incominguser.

Если необходимо увеличить объем выделяемого диска:

dd if=/dev/zero bs=1M count=2048 >> disk01.img

Объем диска (IQN) увеличится на 2 Гб.

Top