В первой части рассматривается динамическая реконфигурация системных плат серверов Sun.
Динамическая реконфигурация платы ввода-вывода.
Общие сведения
Вывод платы ввода-вывода из домена является нетривиальной задачей, требует большого внимания, аккуратности и времени. Поэтому, во многих случаях, проще и быстрее будет изъять плату ввода-вывода при отключении питания домена.
Удаление платы ввода-вывода из домена
Проверить по матрице устройств пути для платы (например, для IB6).
IB6
PCI slot 0 /ssm@0,0/pci@18,700000/pci@1 33MHz/32-64bit/5V/S/H
PCI slot 1 /ssm@0,0/pci@18,700000/pci@2 33MHz/32-64bit/5V/S/H
PCI slot 2 /ssm@0,0/pci@18,700000/pci@3 33MHz/32-64bit/5V/L/H
PCI slot 3 /ssm@0,0/pci@18,600000/pci@1 33-66MHz/32-64bit/3.3V/L/H
PCI slot 4 /ssm@0,0/pci@19,700000/pci@1 33MHz/32-64bit/5V/L/H
PCI slot 5 /ssm@0,0/pci@19,700000/pci@2 33MHz/32-64bit/5V/L/H
PCI slot 6 /ssm@0,0/pci@19,700000/pci@3 33MHz/32-64bit/5V/L/H
PCI slot 7 /ssm@0,0/pci@19,600000/pci@1 33-66MHz/32-64bit/3.3V/L/H
Существующие устройства на IB6:
# prtdiag -v | grep /N0/IB6
/N0/IB6/P0 PCI 24 B 0 33 33 1,0 ok pci-pci8086,b154.0/network (netw+ pci-bridge
/N0/IB6/P0 PCI 24 B 0 33 33 0,0 ok network-pci100b,35.30 SUNW,pci-ce
/N0/IB6/P0 PCI 24 B 0 33 33 1,0 ok network-pci100b,35.30 SUNW,pci-ce
/N0/IB6/P0 PCI 24 B 0 33 33 2,0 ok scsi-pci1000,b.7/disk (block)
/N0/IB6/P0 PCI 24 B 0 33 33 2,1 ok scsi-pci1000,b.7/disk (block)
/N0/IB6/P0 PCI 24 A 2 66 66 2,0 ok SUNW,qlc-pci1077,2312.1077.10a.2+ 0x10a
/N0/IB6/P0 PCI 24 A 2 66 66 2,1 ok SUNW,qlc-pci1077,2312.1077.10a.2+ 0x10a
/N0/IB6/P1 PCI 25 B 5 66 66 2,0 ok pci-pci8086,b154.0/scsi (scsi) pci-bridge
/N0/IB6/P1 PCI 25 B 5 66 66 4,0 ok scsi-pci1077,1016/sd (block) QLGC,ISP10160
/N0/IB6/P1 PCI 25 B 5 66 66 5,0 ok scsi-pci1077,1016/sd (block) QLGC,ISP10160
/N0/IB6 PCI+_I/O_Bo connected configured ok powered-on, assigned
/N0/IB6/P0 SUNW,xmits 24 ok 3
/N0/IB6/P1 SUNW,xmits 25 ok 3
/N0/IB6/P0 SUNW,sgsbbc 24 ok 2
Остановить процессы, которые могут «держать» сетевую карту на низком уровне:
# RR=$$; cp /etc/inetd.conf /etc/inetd.conf.$RR
# cat /etc/inetd.conf.$RR | grep –v ^tftp > /etc/inetd.conf
# pkill –HUP inetd
# pkill –9 in.rarpd
Удалить сетевые платы.
# cat /etc/path_to_inst |grep pci@18,700000 | grep network
"/ssm@0,0/pci@18,700000/pci@1/network@0" 0 "ce"
"/ssm@0,0/pci@18,700000/pci@1/network@1" 1 "ce"
# ifconfig -a
# if_mpadm -d ce0
Определяем, какой контроллер и загрузочные диски, расположены на IB6:
# ls -la /dev/dsk/c?t?d?s2 | grep pci@18,700000
lrwxrwxrwx 1 root root 57 Mar 3 2007 /dev/dsk/c0t0d0s2 -> ../../devices/ssm@0,0/pci@18,700000/pci@1/scsi@2/sd@0,0:c
lrwxrwxrwx 1 root root 57 Mar 3 2007 /dev/dsk/c0t1d0s2 -> ../../devices/ssm@0,0/pci@18,700000/pci@1/scsi@2/sd@1,0:c
lrwxrwxrwx 1 root root 57 Mar 3 2007 /dev/dsk/c0t6d0s2 -> ../../devices/ssm@0,0/pci@18,700000/pci@1/scsi@2/sd@6,0:c
Проверить и при необходимости перенести устройство, используемое dmpadm:
# dumpadm
Dump content: kernel pages
Dump device: /dev/dsk/c0t0d0s2 (dedicated)
Savecore directory: /var/crash/kong
Savecore enabled: yes
# dumpadm –d /dev/dsk/c2t0d0s2
Определим диски, используемые vxvm на контроллере c0:
# for i in `vxdisk -g rootdg list | grep -v DEVICE | awk '{ print $3}'`; do echo $i; vxdisk list $i | grep state=; done
rootdisk
c0t0d0s2 state=enabled
rootmirror
c2t0d0s2 state=enabled
clone
c0t1d0s2 state=enabled
Удалим диски, используемые vxvm на контроллере c0:
# vxprint -g rootdg -p -F "%vname %name %sdaslist" | grep rootdisk
rootvol rootvol-01 rootdisk-02:0
swapvol swapvol-01 rootdisk-01:0
var var-01 rootdisk-04:0
# vxplex -g rootdg -o rm dis rootvol-01 swapvol-01 var-01
# vxdg -g rootdg rmdisk rootdisk
# vxdisk rm Disk_0
Отключить путь к контроллеру для VxDMP:
# vxdmpadm listctlr ctlr=c0
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c0 Disk ENABLED Disk
# vxdmpadm disable ctlr=c0 enclosure=Disk
# for i in `ls –1 /dev/dsk/c0t?d?s2` ; do luxadm -e offline $i; done
Остановить демон, использующий CDROM:
# /etc/init.d/volmgt stop
Расконфигурить scsi-контроллеры с IB6:
# cfgadm -c unconfigure c0
Определить, какие fc-контроллеры используются платой IB6:
# /install/Sun/Pkgs/hbamap
hbamap Version 2.4.0 (09/23/05)
FOUND PATH TO 4 LEADVILLE HBA PORTS
C# INST# PORT WWN MODEL FCODE STATUS DEVICE PATH
-- ----- -------- ----- ----- ------ -----------
c4 qlc0 210000e08b0ab3e0 CRYSTAL-2A 1.14.01 CONNECTED /ssm@0,0/pci@18,700000/SUNW,qlc@1
c5 qlc1 210100e08b2ab3e0 CRYSTAL-2A 1.14.01 CONNECTED /ssm@0,0/pci@18,700000/SUNW,qlc@1,1
c6 qlc2 210000e08b0ae8e1 CRYSTAL-2A 1.14.01 CONNECTED /ssm@0,0/pci@1e,600000/SUNW,qlc@1
c7 qlc3 210100e08b2ae8e1 CRYSTAL-2A 1.14.01 CONNECTED /ssm@0,0/pci@1e,600000/SUNW,qlc@1,1
Отключить путь к контроллеру для VxDMP:
# vxdmpadm listctlr ctlr=c4
CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME
=====================================================
c4 HDS5800 ENABLED HDS58000
c4 HDS9500V ENABLED HDS9500V0
Только для дисков, использующих VxDMP (для mpxio, этот шаг пропустить):
# vxdmpadm disable ctlr=c4
Расконфигурировать пути к дискам:
# cfgadm -al | grep ^c4
c4 fc-fabric connected configured unknown
c4::50060e8000013662 disk connected configured unknown
c4::50060e800042a5f1 disk connected configured unknown
# for i in`ls –1 /dev/dsk/c4t50060E8000013662d*s2` ; do luxadm -e offline $i; done
# cfgadm -c unconfigure c4::50060e8000013662
# cfgadm -c unconfigure c4::50060e800042a5f1
# cfgadm -c unconfigure c4
Отключить wwn-пути на SAN-свитчах.
После того, как все пути на IB6 расконфигурированы можно вывести плату ввода-вывода:
# cfgadm -c unconfigure N0.IB8
# cfgadm -c disconnect N0.IB8
Добавление платы ввода-вывода в домена
Плата перед добавлением в домен должна быть оттестирована. Для этого необходимо:
создать отдельный домен из одной системной платы и платы ввода вывода
включить питание, протестировать платы
установить переключатель питания в «stabdby»
перевести плату из тестируемого домена в продуктивный
SF6900-2-sc0:SC> addboard -d d sb4
SF6900-2-sc0:SC> addboard -d d ib6
SF6900-2-sc0:SC> console -d d
SF6900-2-sc0:D> setkeyswitch on
....
....
SF6900-2-sc0:D> setkeyswitch standby
SF6900-2-sc0:D> disconnect
SF6900-2-sc0:SC> addboard -d a ib6
Добавить плату в операционной системе:
# cfgadm -c configure N0.IB6
# cfgadm –al
# cfgadm –c configure c4
# cfgadm –c configure c5
Добавить диски в vxvm:
# vxdctl enable
# vxdmpadm enable ctlr=c4
# vxdmpadm enable ctlr=c5
# vxdmpadm enable ctlr=c0
# vxdisk list
# vxdg –g rootdg adddisk rootdisk=Disk_0
# vxmirror rootmirror rootdisk
Включить сетевой контроллер, и настроить ipmp:
# ifconfig -a
# ifconfig ce0 plumb
# ifconfig ce2 removeif 10.7.7.77; ifconfig ce0 10.7.7.77 netmask + broadcast + up
# ifconfig ce0 group ipmp-group\
addif ipmp-ce0-add-test netmask + broadcast + deprecated -failover up
1 2