Multipath och ALUA

Xenserver 6.2 är riktigt duktig på dethär med multipath, den kan tillochmed boota från SAN via multipath!

 

Installation av XenServer 6.2 för boot via SAN

  • Sätt FC kortet som första boot enhet
  • Ange boot LUN:et i FC kortets BIOS

Vid installation av Xenserver för boot via SAN måste ”F2” tryckas och ”multipath” anges för att installationen ska använda sig av multipath även för bootdisken.

Presentera endast boot LUN:et i samband med installation!

Konfigurationsfilen för multipathd (/etc/multipath.conf) behöver inte röras eller kopletteras med inställningar för EMC Clariion, de som är default duger gott för att få till aktiv/passiv kommunikation mellan server och storage!

 

Skapa SR i Xenserver pool

Ifall den inte vill skapa ett SR av ett LUN pga ”The SR operation cannot be performed because a device underlying the SR is in use by the server”meddelande kan LUN:et tas bort från multipath så Xenserver kan konfigurera klart. Det verkar som om mastern i en pool automatiskt ansluter sig till nya LUN och denna anslutning måste alltså kopplas ifrån innan man i XenCenter kan skapa SR.

Lista alla LUN som servern ser:

# mpathutil list

3600601602b021d007bd92875cccfe311
3600601602b021d004826632dd8cfe311

Ta bort den som hör till det LUN som inte vill läggas till:

# mpathutil remove 3600601602b021d004826632dd8cfe311

Därefter kan SR skapas som vanligt.

 

ALUA

Som standard duger default inställningarna för multipath som de är. Men nu är det som så att EMC Clariion CX3-20 (och även CX500) stöder assymetrisk access (ALUA) om Clariion systemet är uppdaterad till senaste versionen.

ALUA möjliggör till skillnad från aktiv/passiv att trafik kan gå via vilken path som helst mellan server och storage, Clariion vidarebefordrar trafiken internt mellan SP:n om det inkommer trafik via ”fel” väg.

Detta ”kostar” visserligen prestanda ifall låt oss säga SPA äger ett LUN och det inkommer trafik till det LUN:et på SPB då SPB måste först vidarebefordra det till SPA innan trafiken bearbetas, men CX3-20 är extremt mycket bättre på detta än de äldre CX500 systemet. Skillnaden ska tydligen ligga i att CX3 baserade system är byggda kring PCIe ansluten kommunikation medans CX baserade system bygger på PCI-X. Så man behöver alltså inte vara lika orolig för prestandaförlust på CX3 baserade Clariion som för CX.

I alla fall, för att få igång ALUA måste dels alla initiatorer i Clariion ställas till ”mode 4 (ALUA)” och konfigurationen av multipathd på xenservrarna ändras, lägg till följande rader sist i filen före den avslutande krullparentesen på sista raden:

 

# nano /etc/multipah.conf

device {
vendor ”DGC”
product ”*”
product_blacklist ”LUNZ”
getuid_callout ”/sbin/scsi_id -g -u -s /block/%n”
features ”1 queue_if_no_path”
hardware_handler ”1 alua”
path_selector ”round-robin 0”
path_grouping_policy group_by_prio
failback immediate
rr_weight uniform
no_path_retry 300
rr_min_io 1000
path_checker emc_clariion
}

 

Låt multipathd läsa in den nya konfigurationen och därefter så ska alla path:s vara aktiva och ligga grupperade snyggt och prydligt:

# service multipathd reload

# multipath -ll

3600601602b021d007ad92875cccfe311 dm-0 DGC,RAID 5
size=20G features=’1 queue_if_no_path’ hwhandler=’1 alua’ wp=rw
`-+- policy=’round-robin 0′ prio=1 status=active
  |- 1:0:0:0 sde 8:64 active ready running
  `- 0:0:0:0 sda 8:0 active ready running
360060160eb011d003230336428d5e311 dm-8 DGC,RAID 5
size=50G features=’1 queue_if_no_path’ hwhandler=’1 alua’ wp=rw
`-+- policy=’round-robin 0′ prio=1 status=enabled
  |- 1:0:0:2 sdg 8:96 active ready running
  `- 0:0:0:2 sdc 8:32 active ready running
360060160eb011d00a8da63926fdce311 dm-4 DGC,RAID 5
size=100G features=’1 queue_if_no_path’ hwhandler=’1 alua’ wp=rw
`-+- policy=’round-robin 0′ prio=1 status=enabled
  |- 1:0:0:3 sdh 8:112 active ready running
  `- 0:0:0:3 sdd 8:48 active ready running
3600601602b021d004826632dd8cfe311 dm-10 DGC,RAID 5
size=500G features=’1 queue_if_no_path’ hwhandler=’1 alua’ wp=rw
`-+- policy=’round-robin 0′ prio=1 status=active
  |- 1:0:0:1 sdf 8:80 active ready running
  `- 0:0:0:1 sdb 8:16 active ready running

Klart!

Lämna en kommentar