Les fonctions majeures du multipathing STMS sont :
- Load Balancing : lorsque plusieurs cartes d’attachement (HBA) sont installées dans un serveur, STMS distribue les I/Os sur l’ensemble des paths disponibles. Ceci permet d’éviter les goulots d’étranglements provoqués sur un port alors que le deuxième port est sous-utilisé.
- Path Failover : lorsque plusieurs cartes d’attachements (HBA) sont installées dans un serveur, un seul port est utilisé en temps normal, le deuxième reste disponible. Ce n’est qu’au moment où le port actif rencontre un problème que STMS bascule les I/Os sur les autres chemins path.
- Failback : suite à une bascule des I/Os d’un path en panne vers un path disponible et que le premier path redevient utilisable, on bascule à nouveau pour retrouver l’état initial.
- Path health checking : STMS vérifie en permanence l’état du path suivant un intervalle paramétré.
1. Mise en place de STMS
La commande format avant la mise en place de STMS :
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@0,0 1. c0t1d0 <SUN72G cyl 14087 alt 2 hd 24 sec 424> /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@1,0 2. c1t40d0 <SUN-StorEdge3510-415G cyl 35010 alt 2 hd 64 sec 255> /pci@0,600000/pci@0/pci@9/SUNW,qlc@0/fp@0,0/ssd@w216000c0ff8b586b,0 3. c3t44d0 <SUN-StorEdge3510-415G cyl 35010 alt 2 hd 64 sec 255> /pci@1,700000/SUNW,qlc@0/fp@0,0/ssd@w256000c0ffcb586b,0
/pci@0,600000/pci@0/pci@9/SUNW,qlc@0/fp@0,0/ssd@w216000c0ff8b586b,0 et /pci@1,700000/SUNW,qlc@0/fp@0,0/ssd@w256000c0ffcb586b,0 sont les deux chemins d'accès physique à la baie.
L'activation de STMS se fait dans le fichier /kernel/drv/fp.conf. Il faut pour cela modifier la ligne :
mpxio-disable="yes";
en :
mpxio-disable="no";
La configutation de STMS se fait dans le fichier /kernel/rdv/scsi_vhci.conf. Pour une baie Sun StorEdge 3510, il faut mettre à la fin du fichier :
device-type-scsi-options-list =
"SUN StorEdge 3510", "symmetric-option";
symmetric-option = 0x1000000;
Rebooter ensuite en mode reconfigure :
# touch /reconfigure
# shutdown -g0 -y -i6
Lorsque j'ai mis en place cette procédure, en rebootant, je suis allé en "mode maintenance". Cela vient du fait que, dans le fichier /etc/vfstab, le filesystem monté sur la baie, était renseigné avec le nom du disque c1t40d0 :
/dev/dsk/c1t40d0s6 /dev/rdsk/c1t40d0s6 /appli ufs 2 yes -
En mettant en place STMS, les deux disques sont maintenant visibles par un seul chemin virtuel, comme le montre la commande format :
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848> /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@0,0 1. c0t1d0 <SUN146G cyl 14087 alt 2 hd 24 sec 848> Solaris /pci@0,600000/pci@0/pci@8/pci@0/scsi@1/sd@1,0 2. c5t600C0FF00000000009C9F1178DD30B00d0 <SUN-StorEdge3510-421F cyl 52610 alt 2 hd 64 sec 255> /scsi_vhci/ssd@g600c0ff00000000009c9f1178dd30b00
Il suffit donc de modifier le fichier /etc/vfstab en modifiant la ligne correspondant à /appli, par (sur une seule ligne) :
/dev/dsk/c5t600C0FF00000000009C9F1178DD30B00d0s6 /dev/rdsk/c5t600C0FF00000000009C9F1178DD30B00d0s6 /appli ufs 2 yes -
Rebooter ensuite pour booter "normalement".
Pour voir la correspondance entre les chemins physiques et les chemins virtuel :
# stmsboot -L
non-STMS device name STMS device name
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/dev/rdsk/c1t40d0 /dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0
/dev/rdsk/c3t44d0 /dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0
Vérifier que les disques passent bien par 2 chemins :
# mpathadm list lu
/dev/rdsk/c5t600C0FF00000000009C9F14B86FB4100d0s2
Total Path Count: 2
Operational Path Count: 2
Voir les chemins des LUNs :
# mpathadm show lu /dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0s2
Logical Unit: /dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0s2
mpath-support: libmpscsi_vhci.so Vendor: SUN Product: StorEdge 3510 Revision: 415G Name Type: unknown type Name: 600c0ff0000000000b586b4b5f982000 Asymmetric: no Current Load Balance: round-robin Logical Unit Group ID: NA Auto Failback: on Auto Probing: NA
Paths: Initiator Port Name: 2100001b3210258e Target Port Name: 216000c0ff8b586b Override Path: NA Path State: OK Disabled: no
Initiator Port Name: 2100001b3210f28e Target Port Name: 256000c0ffcb586b Override Path: NA Path State: OK Disabled: no
Target Ports: Name: 216000c0ff8b586b Relative ID: 0
Name: 256000c0ffcb586b Relative ID: 0
Nous pouvons aussi utiliser la commande luxadm pour voir les chemins d'une LUN :
# luxadm probe
No Network Array enclosures found in /dev/es
Found Fibre Channel device(s):
Node WWN:206000c0ff0b586b Device Type:Disk device Logical Path:/dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0s2
Et à l'aide du "Node WWN" :
# luxadm display 206000c0ff0b586b
DEVICE PROPERTIES for disk: 206000c0ff0b586b
Vendor: SUN Product ID: StorEdge 3510 Revision: 415G Serial Num: 0B586B4B5F982000 Unformatted capacity: 279004.000 MBytes Read Cache: Enabled Minimum prefetch: 0x0 Maximum prefetch: 0xffff Device Type: Disk device Path(s):
/dev/rdsk/c5t600C0FF0000000000B586B4B5F982000d0s2 /devices/scsi_vhci/ssd@g600c0ff0000000000b586b4b5f982000:c,raw Controller /devices/pci@0,600000/pci@0/pci@9/SUNW,qlc@0/fp@0,0 Device Address 216000c0ff8b586b,0 Host controller port WWN 2100001b3210258e Class primary State ONLINE Controller /devices/pci@1,700000/SUNW,qlc@0/fp@0,0 Device Address 256000c0ffcb586b,0 Host controller port WWN 2100001b3210f28e Class primary State ONLINE
Commentaires
aucun commentaire