Применимость:
Слова для поиска: iscsi, target, scst
iSCSI: (англ. Internet Small Computer System Interface) — протокол, который базируется на TCP/IP для взаимодействия и управления системами хранения данных, серверами и клиентами.
iSCSI Target: (Цель iSCSI) — программа или аппаратный контроллер (HBA), осуществляющие эмуляцию диска и выполняющие запросы iSCSI. Целевая система может включать в себя несколько логических устройств (для простоты можно считать их дисками), идентифицируемых своим LUN (logic unit number).
iSCSI-сервер; предоставляет доступ к своим устройствам по iSCSI.
Обнаружение (discovery) — процесс, в ходе которого инициатору становятся известны доступные ему таргеты.
Показать список логических томов и создать новый том на 20Гб.
lvscan lvcreate -L20G -nve104 vg_ad062
В результате
lvs /dev/vg_ad062/ve104 LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert ve104 vg_ad062 -wi-a--- 20.00g
Создать таргет с именем iqn.2012-10.net.colobridge.ad062:tgt
scstadmin -add_target iqn.2012-10.net.colobridge.ad062:tgt -driver iscsi
Теперь мы должны добавить устройство с именем ve104:
scstadmin -open_dev ve104 -handler vdisk_fileio \ -attributes filename=/dev/vg_ad062/ve104,nv_cache=1
Нужно указать номер LUN . Устройств в таргете может быть несколько и нумерация LUN всегда начинаются с 0:
scstadmin -add_lun 0 -driver iscsi \ -target iqn.2012-10.net.colobridge.ad062:tgt -device ve104
Это минимальная конфигурация по умолчанию для таргета iSCSI. Теперь нужно его активировать (если он не был активен):
scstadmin -enable_target iqn.2012-10.net.colobridge.ad062:tgt \ -driver iscsi
Для этого используются файлы /etc/initiators.allow и /etc/initiators.deny
Разрешить таргет для инициаторов из сети 192.168.8.0/28
cat /etc/initiators.allow #ALL ALL iqn.2012-10.net.colobridge.ad062:tgt 192.168.8.0/28
Запретить все отовсюду.
cat /etc/initiators.deny ALL ALL
В последней версии появилась возможность ограничивать ответ iscsi портала на определенном адресе:
scstadmin -add_tgt_attr iqn.2012-10.net.colobridge.ad062:tgt \ -driver iscsi -attributes allowed_portal=192.168.8.1
После этого сервер будет слушать запросы к указанному таргету только на этом адресе
Команды сразу дают соответствующий эффект, но чтобы сделанное сохранилось нужна команда
scstadmin -write_config /etc/scst.conf
/etc/scst.conf
HANDLER vdisk_fileio { DEVICE ve104 { filename /dev/vg_ad062/ve104 nv_cache 1 } } TARGET_DRIVER iscsi { enabled 1 TARGET iqn.2012-10.net.colobridge.ad062:tgt { allowed_portal 192.168.8.1 cpu_mask ffffff enabled 1 rel_tgt_id 4 LUN 0 ve104 } }
Команды выполняются на инициаторе
iscsiadm -m discovery -t st -p 192.168.8.1 iscsiadm -m node --targetname iqn.2012-10.net.colobridge.ad062:tgt \ -p 192.168.8.1 --login
Команда выполняется на таргете
Добавим 20Гб к имеющимся.
lvextend -L+20G /dev/vg_ad062/ve104 Extending logical volume ve104 to 40.00 GiB Logical volume ve104 successfully resized
Команда выполняется на таргете
Вывести список устройств
scstadmin -list_device
Уведомить инициатор об изменении устройства:
scstadmin -resync_dev ve104
на инициаторе можно обновить данные о таргетах
iscsiadm -m session -R
С момента получения уведомления инициатор видит новый размер устройства.
Если это устройство для виртуального контейнера, то процесс контейнера надо перезапустить.
Актуальность: 2012/10/04 15:55