English sum-up :
Some shell scripts to statically select a preferred path within all FC paths availables on an ESXi connected via VPlex metro.
MAJ 30 Novembre 2014 : quelques corrections de bug dans les scripts (test de connexion notamment).
Je vous en avais parlé il y a quelques mois (voir ce billet), nous n’utilisons pas – encore – PowerPath VE pour nos serveurs ESXi et nous travaillons donc avec le MPIO intégré en mode “Fixed/Preferred” de VMWare. Pour le coup, cela nous oblige à sélectionner “à la main” des chemins préférés correspondant bien au cluster local de chaque ESXi dans notre infra VPlex Metro. Pour plus de précision à ce sujet, je vous renvoie une seconde fois au billet précédent sur ce sujet.
Nos scripts historiques étaient certes très précis et fonctionnaient bien, mais il leur manquait une qualité importante : la vitesse ! En effet, pour parcourir l’ensemble des devices FC d’un ESXi, vérifier les chemins préférés et les modifier éventuellement, cela prenait du temps… beaucoup de temps, via les commandes esxcfg-XXX et esxcli. Désormais, il n’est pas rare d’avoir, pour un ESXi donné, quasiment une centaine de devices différents. Au final, cela représentait des heures de parcours sur l’ensemble de nos machines.
Il fallait accélérer tout cela et c’est désormais chose faite ! Vous allez le voir dans la suite, les nouveaux “turbo-scripts” sont beaucoup plus rapides (une à deux minutes par serveur disposant de plusieurs dizaines de device), mais il a fallut sacrifier un peu les tests préalables et l’inspection de chaque device, l’un après l’autre. La nouvelle méthode traite tous les devices en une seule fois, sans vérifier si toutes les commandes sont couronnées de succès. Ceci étant, l’expérience nous a montré que dans l’ensemble, toute cette mécanique fonctionnait globalement très bien et de manière fiable. La confiance aidant, voici donc le résultat : des scripts simples, efficaces, rapides et directement “publiables” sur ce blog car extrèmement génériques (contrairement aux précédents).
L’objectif est donc de forcer un chemin préféré sur l’ensemble des devices d’un ESXi qui pointent vers un directeur précis de notre VPlex (on peut l’utiliser pour tout autre chose que VPlex ceci dit !). Ces scripts sont exécutés, chez nous, sur une appliance “VMA” 5.5 disposant de toutes les fonctions et commandes nécessaires. Nous n’utilisons que 3 commandes : esxcfg-scsidevs, esxcfg-mpath et esxcli .
Le script principal effectue en une seule passe la modification de l’ensemble des chemins FC du serveur ESXi via 3 étapes. En entrée il faut indiquer l’ip ou le FQDN de la machine cible ainsi que le WWN de la cible SCSI à “préférer”. Pour un VPlex “mono-engine” en Metro-Cluster avec du cross-connect, chaque device FC connecté dispose potentiellement de 8 chemins différents (2 par directeur, donc 4 par engine). Par exemple dans notre cas :
1 2 3 4 5 6 7 8 9 |
vi-admin@caladanvma:~/scripts$ esxcfg-mpath --server bacassab2 --username root --password xxxxxxxx -L | grep " naa.6000144000000010200c338525b5e6e1" vmhba3:C0:T1:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba3 0 1 9 NMP active fc.2000a0481ce4c142:1000a0481ce4c142 fc.5000144047200c33:50001442800c3300 vmhba3:C0:T0:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba3 0 0 9 NMP active fc.2000a0481ce4c142:1000a0481ce4c142 fc.5000144047300c33:50001442900c3300 vmhba3:C0:T3:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba3 0 3 9 NMP active fc.2000a0481ce4c142:1000a0481ce4c142 fc.5000144047300e28:50001442900e2800 vmhba3:C0:T2:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba3 0 2 9 NMP active fc.2000a0481ce4c142:1000a0481ce4c142 fc.5000144047200e28:50001442800e2800 vmhba4:C0:T0:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba4 0 0 9 NMP active fc.2000a0481ce4c143:1000a0481ce4c143 fc.5000144047300c33:50001442900c3301 vmhba4:C0:T3:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba4 0 3 9 NMP active fc.2000a0481ce4c143:1000a0481ce4c143 fc.5000144047300e28:50001442900e2801 vmhba4:C0:T2:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba4 0 2 9 NMP active fc.2000a0481ce4c143:1000a0481ce4c143 fc.5000144047200e28:50001442800e2801 vmhba4:C0:T1:L9 state:active naa.6000144000000010200c338525b5e6e1 vmhba4 0 1 9 NMP active fc.2000a0481ce4c143:1000a0481ce4c143 fc.5000144047200c33:50001442800c3301 |
Vous noterez que les 8 cibles se terminent par les WWN des différents directeurs du VPlex :
50001442800c3300
50001442900c3300
50001442900c3301
50001442800c3301
50001442900e2800
50001442800e2800
50001442900e2801
50001442800e2801
Il faut donc indiquer au script quel WWN, parmi cette liste, doit devenir la cible préférée des devices de l’ESXi. Voici donc les 3 étapes en question :
1. On récupère la liste des devices et surtout de leur identifiant unique “naa.XXXXXXXXXXX”
2. On récupère la liste des chemins SCSI détectés par le module MPIO de l’ESXi
3. On parcours l’ensemble des devices (par identifiant) et on isole les chemins correspondants au WWN cible
4. On modifie le chemin par défaut en conséquence
Mais, trève de blabla :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
USER=root PWD=XXXXXXXX if [ "$2" == "" ]; then echo "USAGE : $0 <serveur> <defaultpathid> -b" exit 0 fi srv=$1 defaultpathid=$2 if [ "$3" != "-b" ]; then echo "Serveur : $srv" echo "Suffixe defaultpath : $2" echo -n "Test de connexion ... " result=`esxcli --server $srv --username $USER --password $PWD system version get` echo $result | grep "Version:" >/dev/null 2>&1 if [ $? -eq 1 ]; then echo "erreur, stop" exit 1 else echo "ok" fi fi echo -n "Recuperation liste des devices du serveur $srv ... " esxcfg-scsidevs --server $srv --username $USER --password $PWD -c | grep -v "^Device" | awk '{print $1}' >/tmp/naa$$ nb=`cat /tmp/naa$$ | wc -l` echo "nb device = $nb" echo -n "Recuperation liste des chemins compatible avec la cible $defaultpathid ... " esxcfg-mpath --server $srv --username $USER --password $PWD -L | grep $defaultpathid >/tmp/mpath$$ nb=`cat /tmp/mpath$$ | wc -l` echo "nb compatible = $nb" if [ $nb -eq 0 ]; then echo "Aucun resultat. Stop" exit 1 fi for device in `cat /tmp/naa$$` do echo -n "Traitement du device $device ... " cible=`cat /tmp/mpath$$ | grep $device` if [ "$cible" != "" ]; then echo -n "cible trouvee : " newpath=`echo $cible | awk '{ print $1 }'` echo "$newpath -> set" esxcli --server $srv --username $USER --password $PWD storage nmp psp fixed deviceconfig set -d $device -p $newpath else echo "aucune cible trouvee" fi done rm /tmp/naa$$ rm /tmp/mpath$$ exit 0 |
Au final, ce script produit une sortie de ce type :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
vi-admin@caladanvma:~/scripts$ time sh forcepref.sh shirkaXXXXX 900e2801 Serveur : shirkaXXXXX Suffixe defaultpath : 900e2801 Test de connexion ... ok Recuperation liste des devices du serveur shirkaXXXXX ... nb device = 48 Recuperation liste des chemins compatible avec la cible 900e2801 ... nb compatible = 47 Traitement du device naa.6000144000000010200c338525b5e6ec ... cible trouvee : vmhba4:C0:T1:L10 -> set Traitement du device naa.6000144000000010200c338525b5e6b5 ... cible trouvee : vmhba4:C0:T1:L4 -> set Traitement du device naa.6000144000000010200c338525b5e6f3 ... cible trouvee : vmhba4:C0:T1:L11 -> set Traitement du device naa.6000144000000010200c338525b5eae5 ... cible trouvee : vmhba4:C0:T1:L0 -> set Traitement du device naa.6000144000000010200c338525b5eae6 ... cible trouvee : vmhba4:C0:T1:L46 -> set Traitement du device naa.6000144000000010300c3356f0ff7321 ... cible trouvee : vmhba4:C0:T1:L25 -> set Traitement du device naa.6000144000000010200c338525b5e6bc ... cible trouvee : vmhba4:C0:T1:L5 -> set Traitement du device naa.6000144000000010300c3356f0ff7362 ... cible trouvee : vmhba4:C0:T1:L32 -> set Traitement du device naa.6000144000000010300c3356f0ff72c5 ... cible trouvee : vmhba4:C0:T1:L23 -> set Traitement du device naa.6000144000000010300c3356f0ff7367 ... cible trouvee : vmhba4:C0:T1:L31 -> set Traitement du device naa.6000144000000010200c338525b5e6fa ... cible trouvee : vmhba4:C0:T1:L12 -> set Traitement du device naa.6000144000000010300c3356f0ff73e8 ... cible trouvee : vmhba4:C0:T1:L41 -> set Traitement du device naa.6000144000000010300c3356f0ff73e9 ... cible trouvee : vmhba4:C0:T1:L42 -> set Traitement du device naa.6000144000000010300c3356f0ff732e ... cible trouvee : vmhba4:C0:T1:L26 -> set Traitement du device naa.6000144000000010300c3356f0ff736c ... cible trouvee : vmhba4:C0:T1:L30 -> set Traitement du device naa.6000144000000010200c338525b5e6c4 ... cible trouvee : vmhba4:C0:T1:L6 -> set Traitement du device naa.6000144000000010300e2870fd440b53 ... cible trouvee : vmhba4:C0:T1:L29 -> set Traitement du device naa.6000144000000010300e2870fd440b58 ... cible trouvee : vmhba4:C0:T1:L28 -> set Traitement du device naa.6000144000000010200c338525b5e68c ... cible trouvee : vmhba4:C0:T1:L2 -> set Traitement du device naa.6000144000000010200c338525b5e6cb ... cible trouvee : vmhba4:C0:T1:L7 -> set Traitement du device naa.6000144000000010300c3356f0ff7371 ... cible trouvee : vmhba4:C0:T1:L38 -> set Traitement du device naa.6000144000000010300c3356f0ff7376 ... cible trouvee : vmhba4:C0:T1:L37 -> set Traitement du device naa.6000144000000010300c3356f0ff7573 ... cible trouvee : vmhba4:C0:T1:L43 -> set Traitement du device naa.6000144000000010300e2870fd440b5d ... cible trouvee : vmhba4:C0:T1:L27 -> set Traitement du device naa.6000144000000010300c3356f0ff733b ... cible trouvee : vmhba4:C0:T1:L24 -> set Traitement du device naa.6000144000000010300c3356f0ff737b ... cible trouvee : vmhba4:C0:T1:L36 -> set Traitement du device naa.6000144000000010200c338525b5ed67 ... cible trouvee : vmhba4:C0:T1:L14 -> set Traitement du device naa.6000144000000010200c338525b5ed68 ... cible trouvee : vmhba4:C0:T1:L20 -> set Traitement du device naa.6000144000000010300e2870fd440b62 ... cible trouvee : vmhba4:C0:T1:L35 -> set Traitement du device naa.6000144000000010300e2870fd440b67 ... cible trouvee : vmhba4:C0:T1:L34 -> set Traitement du device naa.6000144000000010200c338525b5e9f0 ... cible trouvee : vmhba4:C0:T1:L15 -> set Traitement du device naa.6000144000000010200c338525b5e9f1 ... cible trouvee : vmhba4:C0:T1:L16 -> set Traitement du device naa.6000144000000010200c338525b5e9f2 ... cible trouvee : vmhba4:C0:T1:L17 -> set Traitement du device naa.6000144000000010200c338525b5e9f3 ... cible trouvee : vmhba4:C0:T1:L18 -> set Traitement du device naa.6000144000000010200c338525b5e9f4 ... cible trouvee : vmhba4:C0:T1:L19 -> set Traitement du device naa.6000144000000010200c338525b5ee88 ... cible trouvee : vmhba4:C0:T1:L21 -> set Traitement du device naa.6000144000000010200c338525b5e6da ... cible trouvee : vmhba4:C0:T1:L8 -> set Traitement du device naa.6000144000000010300c3356f0ff7381 ... cible trouvee : vmhba4:C0:T1:L39 -> set Traitement du device naa.6000144000000010300e2870fd440b6c ... cible trouvee : vmhba4:C0:T1:L33 -> set Traitement du device naa.6000144000000010300c3356f0ff7586 ... cible trouvee : vmhba4:C0:T1:L44 -> set Traitement du device naa.600508b1001c4ffcfc48d05a3bd51d1d ... aucune cible trouvee Traitement du device naa.6000144000000010200c338525b5e708 ... cible trouvee : vmhba4:C0:T1:L13 -> set Traitement du device naa.6000144000000010200c338525b5e709 ... cible trouvee : vmhba4:C0:T1:L22 -> set Traitement du device naa.6000144000000010300c3356f0ff75cf ... cible trouvee : vmhba4:C0:T1:L45 -> set Traitement du device naa.6000144000000010200c338525b5e6e1 ... cible trouvee : vmhba4:C0:T1:L9 -> set Traitement du device naa.6000144000000010200c338525b5ead3 ... cible trouvee : vmhba4:C0:T1:L1 -> set Traitement du device naa.6000144000000010300e2870fd440b72 ... cible trouvee : vmhba4:C0:T1:L40 -> set Traitement du device naa.6000144000000010200c338525b5e6ad ... cible trouvee : vmhba4:C0:T1:L3 -> set real 0m20.703s user 0m14.485s sys 0m0.640s vi-admin@caladanvma:~/scripts$ |
Vous noterez que le forçage des quelques 47 device s’est fait en moins de 20 secondes. A titre de comparaison, nos précédents scripts réalisaient tout cela en plus de 15 minutes… Bien entendu, le script ne vérifie pas si ses actions on réellement porté leurs fruits, mais par sécurité, on peut passer un script (un peu plus long) qui va vérifier que tous les chemins préférés on bien été modifiés comme il se doit. Le voici (il ressemble beaucoup au premier) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
USER=root PWD=XXXXXXXX if [ "$2" == "" ]; then echo "USAGE : $0 <serveur> <defaultpathid> -b" exit 0 fi srv=$1 defaultpathid=$2 if [ "$3" != "-b" ]; then echo "Serveur : $srv" echo "Suffixe defaultpath : $2" echo -n "Test de connexion ... " result=`esxcli --server $srv --username $USER --password $PWD system version get` echo $result | grep "Version:" >/dev/null 2>&1 if [ $? -eq 1 ]; then echo "erreur, stop" exit 1 else echo "ok" fi fi echo -n "Recuperation liste des devices du serveur $srv ... " esxcfg-scsidevs --server $srv --username $USER --password $PWD -c | grep -v "^Device" | awk '{print $1}' >/tmp/naa$$ nb=`cat /tmp/naa$$ | wc -l` echo "nb device = $nb" echo -n "Recuperation liste des chemins compatible avec la cible $defaultpathid ... " esxcfg-mpath --server $srv --username $USER --password $PWD -L | grep $defaultpathid >/tmp/mpath$$ nb=`cat /tmp/mpath$$ | wc -l` echo "nb compatible = $nb" if [ $nb -eq 0 ]; then echo "Aucun resultat. Stop" exit 1 fi ko=0 for device in `cat /tmp/naa$$` do echo -n "Traitement du device $device ... " cible=`cat /tmp/mpath$$ | grep $device` if [ "$cible" != "" ]; then echo -n "cible trouvee : " newpath=`echo $cible | awk '{ print $1 }'` echo -n "$newpath -> verif -> " verifpath=`esxcli --server $srv --username $USER --password $PWD storage nmp psp fixed deviceconfig get --device $device | tail -1 | awk '{ print $3 }'` if [ "$verifpath" == "$newpath" ]; then echo "OK" else echo "KO: actuel $verifpath" ko=$(( $ko + 1 )) fi else echo "aucune cible trouvee" fi done rm /tmp/naa$$ rm /tmp/mpath$$ if [ $ko -ne 0 ]; then echo "KO detectes, check !" exit 1 fi exit 0 |
En sortie, on obtient un listing du style :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
vi-admin@caladanvma:~/scripts$ sh checkpref.sh shirkaXXXXX 900c3301 Serveur : shirkaXXXXX Suffixe defaultpath : 900c3301 Test de connexion ... ok Recuperation liste des devices du serveur shirkaXXXXX ... nb device = 48 Recuperation liste des chemins compatible avec la cible 900c3301 ... nb compatible = 47 Traitement du device naa.6000144000000010200c338525b5e6ec ... cible trouvee : vmhba4:C0:T1:L10 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6b5 ... cible trouvee : vmhba4:C0:T1:L4 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6f3 ... cible trouvee : vmhba4:C0:T1:L11 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5eae5 ... cible trouvee : vmhba4:C0:T1:L46 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5eae6 ... cible trouvee : vmhba4:C0:T1:L0 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7321 ... cible trouvee : vmhba4:C0:T1:L24 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6bc ... cible trouvee : vmhba4:C0:T1:L5 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7362 ... cible trouvee : vmhba4:C0:T1:L33 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff72c5 ... cible trouvee : vmhba4:C0:T1:L23 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7367 ... cible trouvee : vmhba4:C0:T1:L34 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6fa ... cible trouvee : vmhba4:C0:T1:L12 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff73e8 ... cible trouvee : vmhba4:C0:T1:L41 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff73e9 ... cible trouvee : vmhba4:C0:T1:L42 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff732e ... cible trouvee : vmhba4:C0:T1:L26 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff736c ... cible trouvee : vmhba4:C0:T1:L35 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6c4 ... cible trouvee : vmhba4:C0:T1:L6 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b53 ... cible trouvee : vmhba4:C0:T1:L36 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b58 ... cible trouvee : vmhba4:C0:T1:L37 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e68c ... cible trouvee : vmhba4:C0:T1:L2 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6cb ... cible trouvee : vmhba4:C0:T1:L7 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7371 ... cible trouvee : vmhba4:C0:T1:L27 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7376 ... cible trouvee : vmhba4:C0:T1:L28 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7573 ... cible trouvee : vmhba4:C0:T1:L43 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b5d ... cible trouvee : vmhba4:C0:T1:L38 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff733b ... cible trouvee : vmhba4:C0:T1:L25 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff737b ... cible trouvee : vmhba4:C0:T1:L29 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5ed67 ... cible trouvee : vmhba4:C0:T1:L14 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5ed68 ... cible trouvee : vmhba4:C0:T1:L20 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b62 ... cible trouvee : vmhba4:C0:T1:L30 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b67 ... cible trouvee : vmhba4:C0:T1:L31 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e9f0 ... cible trouvee : vmhba4:C0:T1:L15 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e9f1 ... cible trouvee : vmhba4:C0:T1:L16 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e9f2 ... cible trouvee : vmhba4:C0:T1:L17 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e9f3 ... cible trouvee : vmhba4:C0:T1:L18 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e9f4 ... cible trouvee : vmhba4:C0:T1:L19 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5ee88 ... cible trouvee : vmhba4:C0:T1:L21 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6da ... cible trouvee : vmhba4:C0:T1:L8 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7381 ... cible trouvee : vmhba4:C0:T1:L39 -> verif -> OK Traitement du device naa.6000144000000010300e2870fd440b6c ... cible trouvee : vmhba4:C0:T1:L32 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff7586 ... cible trouvee : vmhba4:C0:T1:L44 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e708 ... cible trouvee : vmhba4:C0:T1:L13 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e709 ... cible trouvee : vmhba4:C0:T1:L22 -> verif -> OK Traitement du device naa.6000144000000010300c3356f0ff75cf ... cible trouvee : vmhba4:C0:T1:L45 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6e1 ... cible trouvee : vmhba4:C0:T1:L9 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5ead3 ... cible trouvee : vmhba4:C0:T1:L1 -> verif -> OK Traitement du device naa.600508b1001ca79acd464e3bbe94a9b4 ... aucune cible trouvee Traitement du device naa.6000144000000010300e2870fd440b72 ... cible trouvee : vmhba4:C0:T1:L40 -> verif -> OK Traitement du device naa.6000144000000010200c338525b5e6ad ... cible trouvee : vmhba4:C0:T1:L3 -> verif -> OK |
A votre disposition pour des détails ou précisions au sujet de ces outils, comme toujours !
Nous avons le même type de script mais nous utilisons powershell. Il faut que je vérifie le temps d’exécution pour voir la différence entre du powercli et de l’esxcli.
Bonjour,
Les scripts ci-dessus sont très intéressant. Je souhaites faire la même chose mais sous Powershell. Peut-être existe t’il déjà une traduction ?
Merci pour le retour.
Bonjour,
Je réponds un peu en retard mais on ne sait jamais ça pourrai aider d’autres personnes…
J’ai publié un module powershell pour gérer les chemins préférés entre des ESXi et des datastores présenté par un VPLEX. Les sources sont dispo sur github (https://github.com/equelin/VPLEX-Powershell) et vous trouverez quelques exemples de script là (https://github.com/equelin/VPLEX-Powershell/tree/master/Examples).
La fonction Set-VPLEXDatastorePreferedPath (désolé pour le nom à rallonge…) permet de spécifier précisément quel chemin préféré choisir. Les critères de choix peuvent êtres le VPLEX (défini par son seed), le director et le port. Dans le cas ou vous ne précisez pas ces infos, un choix aléatoire sera fait.
N’hesitez pas à me contacter si besoin…
Erwan