Мне настраивали систему RHEL как цель iSCSI с 2 luns, делившими через одну цель с помощью следующей конфигурации в/etc/tgt/targets.conf (который я создал после прокомментированного примеры в/etc/tgt/targets.conf):
<target iqn.2014-04.com.local.box:ESXi.target1>
backing-store /dev/ESXi_VG/ESXi_LUN_01 #LUN01
backing-store /dev/ESXi_VG/TEST_LUN_01 #LUN02
</target>
Они предназначаются, чтобы делиться к паре хостов ESXI как Хранилище данных.
Я первоначально создал единственный логический том LVM на 4,00 ТБ на vg ESXi_VG для хранилища данных; однако я понял, что мне будет нужен второй LUN для тестирования Iops через RDM к vm, сохраненному на локальном устройстве хранения данных на хосте ESXI. С этой целью я создал второй логический том LVM на 5,00 ГБ на той же группе объема и добавил запись LUN для второго LUN в целевой конфигурации, которую я показал выше. Я затем размонтировал LUN на 4,00 Тбита на своем хосте ESXI и перезапустил tgtd.
Я вижу некоторый странный материал теперь. Во-первых, Вот является вывод от tgt-администратора-s командой для показа текущих LUN:
[root@box ~]# tgt-admin -s
Target 1: iqn.2014-04.com.local.box:ESXi.target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
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
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 5369 MB, Block size: 512
Online: Yes
Removable media: No
Prevent removal: No
Readonly: No
Backing store type: rdwr
Backing store path: /dev/ESXi_VG/TEST_LUN_01
Backing store flags:
Account information:
ACL information:
ALL
Как Вы видите, только 1 LUN отображается, не 2 - и LUN, который отображается, только LUN на 5,00 ГБ, который я добавил позднее. Если я удаляю или комментирую запись LUN, она только показывает LUN 0, контроллер и не LUN 1.
Однако ESXi видит LUN на 4,00 ТБ все еще и может смонтировать его, отформатировать это, и т.д. что это не видьте, раздел на 5,00 ГБ, несмотря на него деливший через ту же цель iSCSI.
У меня есть пара вопросов в результате:
Tgt-администратор только показывает LUN, не в настоящее время подключаемые к инициатору? Если не, почему мое хранилище данных на 4,00 ТБ больше не показывает?
Как я могу заставить 2-й LUN появляться к ESXI, таким образом, я могу смонтировать его к VM через RDM для тестирования iops?
Вот что я обнаружил, что проблема была в том. После того, как меня отозвали из этого проекта в связи с корпоративным слиянием, он был выброшен обратно в мою тарелку, и я решил начать все с нуля. На этот раз я создал LUN, RH_ISCSI_LV_001, и поделился им через демон iscsi. Я смог смонтировать и отформатировать его в vSphere.
Я снова размонтировал LUN и остановил tgtd для редактирования /etc/tgt/targets.conf
, чтобы добавить второй тест LUN, который я бы использовал для тестирования производительности, отобразив его на гостевом компьютере с помощью RDM. И снова, когда я запустил tgtd, был отображен только 1 LUN.
Я предположил, что это может быть проблемой с тем, что LUN не читается tgtd после того, как VMware отформатировала его, поэтому я попытался уничтожить его с помощью lvremove. Это привело к ошибке ioctl (device-mapper: remove ioctl on failure: Device or resource busy
) и не удалял.
После некоторых раскопок я запустил команду lsof /dev/ESXi_VG/RH_ISCSI_LV_001
и обнаружил, что pid 2251 - это процесс блокировки. a быстрый ps -ef
и я узнал, что tgtd в какой-то момент не закрылась чисто, а так как ничто не мешало второму tgtd-процессу запустить (по-видимому), он сохранял "собственность" на LUN и тем самым не позволял каждому последующему tgtd-процессу, который я породил, прикасаться к нему. a быстрый kill -9 и service tgtd запустили
позже, и оба моих LUN'а были видны ESXi.