Автор:
McZimДата написания: 28.07.2011
Сегодня я хочу рассказать о том, как настраивать мультипасинг (multipath) в Solaris.
Дано: сервер с ОС Solaris, две оптические FC (FibreChannel) Qlogic 25xx карточки и СХД (Система Хранения Данных) Hitachi AMS2100.
Опустим конфигурирование самой СХД и перейдем к конфигурированию ОС.
После того, как мы установили оптические карточки в сервер и загрузили ОС, нас подстерегает неприятность. Операционная система не в состоянии распознать СХД и определить, что к ней подключены оптические кабели.
На устройствах c3 и c4 нет отметок что это диски.
root@server # cfgadm -al
Ap_Id Type Receptacle Occupant Condition
SB0 System_Brd connected configured ok
SB0::cpu0 cpu connected configured ok
SB0::memory memory connected configured ok
SB0::pci0 io connected configured ok
SB0::pci1 io connected configured ok
SB0::pci8 io connected configured ok
c0 scsi-sata connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::dsk/c0t1d0 disk connected configured unknown
c0::dsk/c0t4d0 CD-ROM connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t0d1 disk connected configured unknown
c2 scsi-bus connected configured unknown
c2::es/ses0 ESI connected configured unknown
c3 fc-private connected unconfigured unknown
c4 fc-private connected unconfigured unknown
В состоянии оптических карт видим, что ничего не подключено, хотя кабели мы подключили.
root@server # luxadm -e port
/devices/pci@1,700000/pci@0/pci@8/QLGC,qlc@0/fp@0,0:devctl NOT CONNECTED
/devices/pci@1,700000/pci@0/pci@9/QLGC,qlc@0/fp@0,0:devctl NOT CONNECTED
В информации о дисках нет ничего, кроме информации о внутренних дисках сервера.
root@server # format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@0,0
1. c0t1d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@1,0
При этом есть корректная информация об оптических портах.
root@server # fcinfo hba-port
HBA Port WWN: 5001438004251e34
OS Device Name: /dev/cfg/c3
Manufacturer: QLogic Corp.
Model: AK344A or AH400A
Firmware Version: 05.03.02
FCode/BIOS Version: BIOS: 2.12; fcode: 2.03; EFI: 2.05;
Serial Number: MY500420UB
Driver Name: qlc
Driver Version: 20100301-3.00
Type: L-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 4Gb
Node WWN: 5001438004251e35
HBA Port WWN: 5001438004251994
OS Device Name: /dev/cfg/c4
Manufacturer: QLogic Corp.
Model: AK344A or AH400A
Firmware Version: 05.03.02
FCode/BIOS Version: BIOS: 2.12; fcode: 2.03; EFI: 2.05;
Serial Number: MY500220XN
Driver Name: qlc
Driver Version: 20100301-3.00
Type: L-port
State: online
Supported Speeds: 2Gb 4Gb 8Gb
Current Speed: 4Gb
Node WWN: 5001438004251995
Выход из этой ситуации достаточно простой. Необходимо всего лишь переинициализировать наши порты.
root@server # luxadm -e forcelip /devices/pci@1,700000/pci@0/pci@8/QLGC,qlc@0/fp@0,0:devctl
root@server # luxadm -e forcelip /devices/pci@1,700000/pci@0/pci@9/QLGC,qlc@0/fp@0,0:devctl
После чего в информации о состоянии оптических карт появится корректный статус.
root@server # luxadm -e port
/devices/pci@1,700000/pci@0/pci@8/QLGC,qlc@0/fp@0,0:devctl CONNECTED
/devices/pci@1,700000/pci@0/pci@9/QLGC,qlc@0/fp@0,0:devctl CONNECTED
Так же мы увидим WWNы и имена устройств, с которыми приехали диски в систему.
root@server # luxadm probe
No Network Array enclosures found in /dev/es
Found Fibre Channel device(s):
Node WWN:50060e80104d94f8 Device Type:Disk device
Logical Path:/dev/rdsk/c3t0d0s2
Node WWN:50060e80104d94f0 Device Type:Disk device
Logical Path:/dev/rdsk/c4t0d0s2
Это же нам подтверждает утилита работы с дисками.
root@server # format
Searching for disks...done
c3t0d0: configured with capacity of 2678.96GB
c4t0d0: configured with capacity of 2678.96GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@0,0
1. c0t1d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@1,0
2. c3t0d0 <HITACHI-DF600F-0000-2.62TB>
/pci@1,700000/pci@0/pci@8/QLGC,qlc@0/fp@0,0/ssd@w50060e80104d94f8,0
3. c4t0d0 <HITACHI-DF600F-0000-2.62TB>
/pci@1,700000/pci@0/pci@9/QLGC,qlc@0/fp@0,0/ssd@w50060e80104d94f0,0
В конфигурации устройств появились идентификаторы дисков.
root@server # cfgadm -al
Ap_Id Type Receptacle Occupant Condition
SB0 System_Brd connected configured ok
SB0::cpu0 cpu connected configured ok
SB0::memory memory connected configured ok
SB0::pci0 io connected configured ok
SB0::pci1 io connected configured ok
SB0::pci8 io connected configured ok
c0 scsi-sata connected configured unknown
c0::dsk/c0t0d0 disk connected configured unknown
c0::dsk/c0t1d0 disk connected configured unknown
c0::dsk/c0t4d0 CD-ROM connected configured unknown
c1 scsi-bus connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t0d1 disk connected configured unknown
c2 scsi-bus connected configured unknown
c2::es/ses0 ESI connected configured unknown
c3 fc-private connected configured unknown
c3::50060e80104d94f8 disk connected configured unknown
c4 fc-private connected configured unknown
c4::50060e80104d94f0 disk connected configured unknown
Теперь пришла пора настроить мультипасинг. Это делается всего одной командой. Ключ -e, говорит, что нужно активировать мультипасинг. Ключ -D с параметром fp говорит, что мы хотим применить мультипасинг к оптическим устройствам.
root@server # stmsboot -e -D fp
WARNING: This operation will require a reboot.
Do you want to continue ? [y/n] (default: y) y
The changes will come into effect after rebooting the system.
Reboot the system now ? [y/n] (default: y) y
updating /platform/sun4u/boot_archive
Connection to server closed by remote host.
Connection to server closed.
Перезагружаемся. Видим, что в системе появилось одно устройство вместо двух.
root@server # luxadm probe
No Network Array enclosures found in /dev/es
Found Fibre Channel device(s):
Node WWN:50060e80104d94f0 Device Type:Disk device
Logical Path:/dev/rdsk/c5t60060E80104D94F004F3485700000000d0s2
root@server # format
Searching for disks...done
c5t60060E80104D94F004F3485700000000d0: configured with capacity of 2678.96GB
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@0,0
1. c0t1d0 <FUJITSU-MBD2147RC-3702 cyl 14087 alt 2 hd 24 sec 848>
/pci@0,600000/pci@0/pci@0/scsi@0/sd@1,0
2. c5t60060E80104D94F004F3485700000000d0 <HITACHI-DF600F-0000-2.62TB>
/scsi_vhci/ssd@g60060e80104d94f004f3485700000000
/scsi_vhci/ssd@g60060e80104d94f004f3485700000000 — теперь это наше устройство в системе, доступное по мультипасингу. Еще это устройство называют "скайзи вши".
Используемые в статье инструменты:
- cfgadm — configuration administration
- luxadm — administer Sun Fire 880 storage subsystem and FC_AL devices
- stmsboot — command line utility for managing Solaris Multiplexed I/O
- format — disk partitioning and maintenance utility