Konfiguracja multipathing-u w Citrix XenServer 5.5 z EMC iSCSI AX4-5i
Artykuł ten opisuje zastosowanie Citrix XenServer 5.5 z storage EMC iSCSI AX4-5i.
Przykładowa konfiguracja
Stosowane są następujące komponenty:
- EMC AX4-5i (storage iSCSI z redundantnymi kontrolerami)
- serwer SR2500
- 2 switche Ethernet 1GBit dedykowane ruchowi iSCSI
Konfiguracja opiera się o instrukcję EMC AX4 Planning Your AX-Series Storage-System Configuration[1].
Konfiguracja IP sieć 1 (Switch 1)
Port | Adres IP | Subnet Mask | Gateway |
---|---|---|---|
AX4-5i Storage processor A iSCSI port 0 (A0) | 172.31.1.150 | 255.255.255.0 | 0.0.0.0 |
AX4-5i Storage processor B iSCSI port 0 (B0) | 172.31.1.151 | 255.255.255.0 | 0.0.0.0 |
SLES10 SP2 iSCSI NIC 1 | 172.31.1.101 | 255.255.255.0 | 0.0.0.0 |
Konfiguracja IP sieć 2 (Switch 2)
Port | Adres IP | Subnet Mask | Gateway |
---|---|---|---|
AX4-5i Storage processor A iSCSI port 1 (A1) | 172.31.2.150 | 255.255.255.0 | 0.0.0.0 |
AX4-5i Storage processor B iSCSI port 1 (B1) | 172.31.2.151 | 255.255.255.0 | 0.0.0.0 |
SLES10 SP2 Server iSCSI NIC 2 | 172.31.2.101 | 255.255.255.0 | 0.0.0.0 |
Konfiguracja storage
W storage EMC zostaje utworzony wirtualny dysk. Dla XenServer zostaje utworzony w Navisphere Express (oprogramowania administracyjne systemów storage EMC) wpis z jego IQN. Następnie wirtualny dysk zostaje przyporządkowany w Navisphere Express do XenServer. W filmie o konfiguracji multipathing-u w SLES10 jest ta procedura dobrze widoczna.
Konfiguracja XenServer
Pokazana konfiguracja opiera się o informacje z Citrix Knowledge Center[2]. Niektóre kroki są dostosowane, aby konfiguracja poprawnie funkcjonowała z storage EMC. Wykorzystywany XenServer 5.5 jest na nowo zainstalowany i nie zawiera żadnych wirtualnych maszyn oraz dodatkowo skonfigurowanych repozytorium storage.
Konfiguracja sieci
Wpierw konfigurowane są dla połączenia iSCSI oba interfejsy sieciowe. Do tego należy w XenCenter wybrać w menu punt Server -> Management Interfaces. Obecnie znajduje się tam jedna sieć o nazwie Primary:
Poprzez kliknięcie na New Interface mogą zostać skonfigurowane oba interfejsy dla połączenia iSCSI:
Wybór właściwości (Properties) każdego interfejsu sieciowego i odznaczenie opcji 'Automatically add this network to new virtual machines.':
Aktywacja multpathing-u
Aktywacja opcji multipathing-u we właściwościach serwera (XenServer musi do tego zostać wpierw wprowadzony w tryb Maintenance):
Następnie tryb Maintenance zostaje opuszczony.
Dodanie storage'a
Teraz zostaje dodany storage:
Następnie jest dostępna ścieżka (pfad) do storage iSCSI:
Jest to również widoczne w konsoli:
[root@xenserver-550-1 ~]# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: TEAC Model: DW-224E-C Rev: 1.8B Type: CD-ROM ANSI SCSI revision: 05 Host: scsi2 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: WDC WD1600YS-01S Rev: 20.0 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi4 Channel: 00 Id: 16 Lun: 00 Vendor: Areca Model: RAID controller Rev: R001 Type: Processor ANSI SCSI revision: ffffffff Host: scsi5 Channel: 00 Id: 00 Lun: 00 Vendor: DGC Model: RAID 10 Rev: 0223 Type: Direct-Access ANSI SCSI revision: 04 [root@xenserver-550-1 ~]# multipath -l 3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=0][active] \_ 5:0:0:0 sdb 8:16 [active][undef] [root@xenserver-550-1 ~]#
Ręczne dodanie ścieżki
Gdyż 3 pozostałe ścieżki nie są automatycznie wykrywane (You might experience an issue where only one path becomes active. Other paths are not connected. To resolve this issue, log on to each path manually on the boot as follows.[2]), zostaną one dodane ręcznie.
Metoda iscsi_discovery opisana w Citrix KB nie funkcjonowała w naszym teście z AX4 (istniejące połączenie iSCSI nie było widoczne w konsoli). Następująca procedura funkcjonowała w teście:
Wpierw są sprawdzane obecnie istniejące połączenia za pośrednictwem iscsiadm -m session i możliwe ścieżki poprzez iscsiadm -m node:
[root@xenserver-550-1 ~]# iscsiadm -m session tcp: [1] 172.31.1.150:3260,4 iqn.1992-04.com.emc:cx.sl7e2080300038.a0 [root@xenserver-550-1 ~]# iscsiadm -m node 172.31.2.150:3260,2 iqn.1992-04.com.emc:cx.sl7e2080300038.a1 172.31.1.151:3260,1 iqn.1992-04.com.emc:cx.sl7e2080300038.b0 172.31.1.150:3260,4 iqn.1992-04.com.emc:cx.sl7e2080300038.a0 172.31.2.151:3260,3 iqn.1992-04.com.emc:cx.sl7e2080300038.b1 [root@xenserver-550-1 ~]#
Następnie zostaną utworzone połączenia do 3 niepodłączonych celów (Targets):
[root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.a1 -p 172.31.2.150 -l Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.a1, portal: 172.31.2.150,3260] [root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b0 -p 172.31.1.151 -l Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.b0, portal: 172.31.1.151,3260] [root@xenserver-550-1 ~]# iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b1 -p 172.31.2.151 -l Login session [iface: default, target: iqn.1992-04.com.emc:cx.sl7e2080300038.b1, portal: 172.31.2.151,3260] [root@xenserver-550-1 ~]#
Aby nowe ścieżki zostały rozpoznane konieczny jest Reload:
[root@xenserver-550-1 ~]# multipath -l 3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=0][active] \_ 5:0:0:0 sdb 8:16 [active][undef] [root@xenserver-550-1 ~]# /etc/init.d/multipathd reload Reloading multipathd: [ OK ] [root@xenserver-550-1 ~]# multipath -l 3600601609711200044e7cf4e0751de11dm-0 DGC,RAID 10 [size=10G][features=1 queue_if_no_path][hwhandler=1 emc] \_ round-robin 0 [prio=0][enabled] \_ 5:0:0:0 sdb 8:16 [active][undef] \_ 6:0:0:0 sdc 8:32 [active][undef] \_ round-robin 0 [prio=0][enabled] \_ 7:0:0:0 sdd 8:48 [active][undef] \_ 8:0:0:0 sde 8:64 [active][undef] [root@xenserver-550-1 ~]#
W ten sposób dostępne są wszystkie cztery ścieżki. Jednakże W XenCenter nadal pokazywana jest jedynie jedna ścieżka:
W przypadku awarii jednej ze ścieżek (w przykładzie w celu symulacji zostaje odłączony kabel pomiędzy serwerem a pierwszym switchem - w ten sposób dwie z czterech ścieżek nie są dostępne) XenCenter pokazuje je jednak poprawnie:
Zostanie kabel ponownie podłączony to wszystkie cztery ścieżki są wskazywane jako dostępne. Po potwierdzeniu ostrzeżenia znika również wskazówka w System Alerts:
Dostosowanie /etc/rc.local
Aby dodatkowe 3 ścieżki mogły zostać wykorzystane po restarcie to w /etc/rc.local musi zostać dodane [2]. Dodatkowo do loginu iscsiadm według Citrix KB konieczny jest również ponowny reload multipathd:
[root@xenserver-550-1 ~]# tail -n 4 /etc/rc.local iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.a1 -p 172.31.2.150 -l iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b0 -p 172.31.1.151 -l iscsiadm -m node -T iqn.1992-04.com.emc:cx.sl7e2080300038.b1 -p 172.31.2.151 -l /etc/init.d/multipathd reload [root@xenserver-550-1 ~]#
Jak na początku w XenCenter pokazywana jest znów jedna ścieżka. Dostępne są jednak wszystkie cztery.
Alternatywa dla dostosowania /etc/rc.local
Obok powyżej przetestowanego dostosowania /etc/rc.local pomocnym może być następujące polecenie (informacje te zostały dodane po przeprowadzeniu naszych testów, dlatego nie zostały przez nas przetestowane):
iscsiadm -m node -T <targetname> -p <ip address of iscsi target>:<listening port> --op update -n node.conn[0].startup -v automatic