В версии 11.1 немного поменялся процесс установки и настройки.
Опишу заново процесс и дам краткие пояснения. Для детальных пояснений обратись с статье.
Тестовый стенд: Solaris 11.1
1) Настройка Target’a
На клиенте порты должны быть в режиме Target, а на сервере – Initiator.
Первым делом установим ПО для управления “лунами”:
# pkg install storage-server
Запустим службу управления FC:
# svcadm enable stmf
Теперь отключим multipathing на Target’e. Это известный баг, обсуждение можно прочесть здесь, правда на венгерском 🙂 . Но это не означает, что мы отключаем вообще multipathing. Он будет включён на Initiator’e
# stmsboot -d
Согласитесь со всем и при этом сервер сам перезагрузится.
Состояние портов можно посмотреть так
# fcinfo hba-port HBA Port WWN: 21000024ff2ec0bc Port Mode: Initiator Port ID: 10100 OS Device Name: /dev/cfg/c12 Manufacturer: QLogic Corp. Model: QLE2462 Firmware Version: 05.04.03 FCode/BIOS Version: BIOS: 3.00; fcode: 3.15; EFI: 2.21; Serial Number: RFD1112M68451 Driver Name: qlc Driver Version: 20110321-3.05 Type: N-port State: online Supported Speeds: 1Gb 2Gb 4Gb Current Speed: 4Gb Node WWN: 20000024ff2ec0bc Max NPIV Ports: 127 NPIV port list: HBA Port WWN: 21000024ff2ec0bd Port Mode: Initiator Port ID: 0 OS Device Name: /dev/cfg/c13 Manufacturer: QLogic Corp. Model: QLE2462 Firmware Version: 05.04.03 FCode/BIOS Version: BIOS: 3.00; fcode: 3.15; EFI: 2.21; Serial Number: RFD1112M68451 Driver Name: qlc Driver Version: 20110321-3.05 Type: unknown State: offline Supported Speeds: 1Gb 2Gb 4Gb Current Speed: not established Node WWN: 20000024ff2ec0bd Max NPIV Ports: 127 NPIV port list:
Примечание.
(Спасибо одному из наших постоянных читателей)
Если ваша материнская плата поддерживает VT-d, IOMMU IO (виртуализация), то нужно эти 2 пункта выключить в BIOS’e (пункты меню называются Intel VT-d и Intel Virtualization) и переходить сразу ко 2-му этапу (это баг, который oracle не спешит исправлять). Если же не поддерживается – тогда обязательно следует выполнить 1-ый этап, а за ним 2-ой.
Что бы перевести порт в режим, например, target’a делаем это в 2 этапа:
– первый этап
# update_drv -a -i '/pci@0,0/pci1002,5a1f@b/pci1077,138@0,1/fp@0,0' qlt
devfsadm: driver failed to attach: qlt
Warning: Driver (qlt) successfully added to system but failed to attach.
где путь берётся из вывода команды (luxadm -e port) и/pci@0,0/pci1002,5a1f@b/pci1077,138@0,1/fp@0,0 – путь относительно каталога /devices.
Ошибка значит лишь то, что в данный момент оно не может выгрузить драйвер – он будет выгружен при ребуте.
После изменения выполним
# init 6
– второй этап
# update_drv -d -i 'pciex1077,2432' qlc
Cannot unload module: qlc
Will be unloaded upon reboot.
# update_drv -a -i 'pciex1077,2432' qlt
devfsadm: driver failed to attach: qlt
Warning: Driver (qlt) successfully added to system but failed to attach
и ребут
# init 6
Примечание.
Откуда берётся значение 2432? Так опознаётся FC-карточка
# scanpci | grep 'Fibre Channel'
QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA
QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA
Это пример для 4Гб карты. А для 8Гб это будет выглядеть так:
# scanpci | grep 'Fibre Channel'
QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA
QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA
Поэтому 2432 придётся заменить на 2532, если у вас 8Гб карта.
Вот теперь они правильно переведутся в режим Target’a. проверяем:
# fcinfo hba-port HBA Port WWN: 21000024ff2f301c Port Mode: Target Port ID: 10600 OS Device Name: Not Applicable Manufacturer: QLogic Corp. Model: QLE2462 Firmware Version: 5.2.1 FCode/BIOS Version: N/A Serial Number: not available Driver Name: COMSTAR QLT Driver Version: 20100505-1.05 Type: F-port State: online Supported Speeds: 1Gb 2Gb 4Gb Current Speed: 4Gb Node WWN: 20000024ff2f301c HBA Port WWN: 21000024ff2f301d Port Mode: Target Port ID: 0 OS Device Name: Not Applicable Manufacturer: QLogic Corp. Model: QLE2462 Firmware Version: 5.2.1 FCode/BIOS Version: N/A Serial Number: not available Driver Name: COMSTAR QLT Driver Version: 20100505-1.05 Type: unknown State: offline Supported Speeds: 1Gb 2Gb 4Gb Current Speed: not established Node WWN: 20000024ff2f301d
Создаём пул и zfs:
#zpool create data mirror c0t0d0 c1t0d0
Тут есть момент (Спасибо одному из наших постоянных читателей) : лучше указывать размер zfs как можно ближе к реальному, то есть в килобайтах. Тогда мы заполним весь доступный объём. Если указать в мегабайтах, то останется немного не занятого места (а соответственно и меньше доступного места через FC). Ну, а если указать в гигабайтах – то ещё меньше будет.
#zfs create -V 100G data/storage_lun0
Создаём лун:
#stmfadm create-lu /dev/zvol/rdsk/data/storage_lun0
Logical unit created: 600144F0405A4F00000051950A960001
# stmfadm add-view 600144F0405A4F00000051950A960001
# stmfadm list-lu
LU Name: 600144F0405A4F00000051950A960001
2) Настройка Initiator’a
Определяем FC порты и заставляем их обновить информацию о доступных лунах:
# cfgadm -al | grep fc-fabric c9 fc-fabric connected configured unknown c10 fc-fabric connected configured unknown # luxadm -e forcelip /dev/cfg/c9 # luxadm -e forcelip /dev/cfg/c10
Теперь запускаем команду format и смотрим:
# format Searching for disks...done c0t600144F0405A4F00000051950A960001d0: configured with capacity of 100.00GB AVAILABLE DISK SELECTIONS: 0. c0t5000C5001D20AD53d0 <SEAGATE-ST9300603SS-FS04-279.40GB> /scsi_vhci/disk@g5000c5001d20ad53 1. c0t5000C5001D109D43d0 <SEAGATE-ST9300603SS-FS04-279.40GB> /scsi_vhci/disk@g5000c5001d109d43 2. c0t5000C500548FF123d0 <SEAGATE-ST9300605SS-CS08 cyl 36469 alt 2 hd 255 sec 63> /scsi_vhci/disk@g5000c500548ff123 3. c0t5000C500549035E7d0 <SEAGATE-ST9300605SS-CS08 cyl 36469 alt 2 hd 255 sec 63> /scsi_vhci/disk@g5000c500549035e7 4. c0t600144F0405A4F00000051950A960001d0 <SUN-COMSTAR-1.0-31.00TB> /scsi_vhci/disk@g600144f0405a4f00000051950a960001 Specify disk (enter its number): ^C
Как видим, нашёл 1 диск, причём ID их совпадают, значит это именно наш диск.
Вот пример, когда работает подключение через FC (запускаем команду на target’e) + резерв через iSCSI.
# stmfadm list-target -v Target: iqn.1986-03.com.sun:02:d9997b42-bfbe-4675-a014-eaa09fd79840 Operational Status: Online Provider Name : iscsit Alias : - Protocol : iSCSI Sessions : 1 Initiator: iqn.1986-03.com.sun:01:e00000000000.4eefe7ae Alias: - Logged in since: Mon Oct 14 20:43:57 2013 Target: wwn.21000024FF2EC03B Operational Status: Online Provider Name : qlt Alias : qlt1,0 Protocol : Fibre Channel Sessions : 0 Target: wwn.21000024FF2EC03A Operational Status: Online Provider Name : qlt Alias : qlt0,0 Protocol : Fibre Channel Sessions : 2 Initiator: wwn.21000024FF2EC193 Alias: :qlc1 Logged in since: Mon Oct 14 20:43:23 2013 Initiator: wwn.21000024FF2EC192 Alias: :qlc0 Logged in since: Mon Oct 14 20:43:23 2013
Примечание.
Если нужно программно выключить FC-порт, то делаем так:
# stmfadm list-target -v Target: wwn.21000024FF2F312D Operational Status : Online Provider Name : qlt Alias : qlt1,0 Protocol : Fibre Channel Sessions : 0 Target: wwn.21000024FF2F312C Operational Status : Online Provider Name : qlt Alias : qlt0,0 Protocol : Fibre Channel Sessions : 0 # stmfadm offline-target wwn.21000024FF2F312C # stmfadm offline-target wwn.21000024FF2F312D # stmfadm list-target -v Target: wwn.21000024FF2F312D Operational Status : Offline Provider Name : qlt Alias : qlt1,0 Protocol : Fibre Channel Sessions : 0 Target: wwn.21000024FF2F312C Operational Status : Offline Provider Name : qlt Alias : qlt0,0 Protocol : Fibre Channel Sessions : 0
Более того, при выключении службы smtf порты тоже переводятся в offline режим.