Update 20/10/2015: attention, la première version de ce billet était incomplète. En plus du re-discover, vous devez faire tourner le script mentionné dans l’ETA pendant toute la phase de NDU de vos VNX. Désolé pour ces explications partielles. Nous allons dérouler précisément cette méthode très prochainement chez nous, je vous ferais un retour dès que possible.
Je viens de recevoir très récemment un ETA d’EMC estampillé numéro 000197315, à consulter ici. Il concerne les environnements VPlex disposant de back-end VNX. Il existe un risque de perte de connexion sur certaines LUNs provisionnées sur VNX en en cas d’update de flarecode. Toutes les générations et versions de VNX sont concernées car c’est un problème spécifique à VPlex. Les versions de VPlex impactées vont de la 4.0 à la 5.4. Ils ne précisent pas si la toute récente version 5.5 est elle aussi concernée, donc on imagine que non.
Plus techniquement, ce problème est lié à la gestion des “Unit Attention” SCSI. Ces commandes sont envoyées par les baies en cas de basculement de LUN d’un contrôleur à un autre (un trespass, en terminologie VNX). En résumé, et de ce que j’ai compris (je n’ai pas trop creusé), VPlex s’emmêle un peu les pinceaux dans certaines conditions et ne remet pas à zéro l’état des LUNs (basculées ou non basculée). Cela peut conduire les directeurs à ne plus utiliser aucun lien et perdre l’accès aux LUNs concernées.
Pour le coup, le work-around est très simple, en attendant un correctif, il suffit, avant une opération de maintenance (qui va faire grand usage du trespassing en rebootant le SPB puis le SPA de la baie) de lancer un “array re-discover” coté VPlex, sur la baie en question.
La commande VPlexCLI est très simple. Placez-vous dans le contexte “storage-array” et lancez la commande array re-discover ID-DE-BAIE
. Voici un transcript réalisé sur nos baies de production :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
VPlexcli:/clusters/cluster-1/storage-elements/storage-arrays> cd /clusters/cluster-2/storage-elements/storage-arrays/ VPlexcli:/clusters/cluster-2/storage-elements/storage-arrays> ll Name Connectivity Auto Ports Logical ------------------------------- Status Switch ------------------- Unit ------------------------------- ------------ ------ ------------------- Count ------------------------------- ------------ ------ ------------------- ------- EMC-CLARiiON-CKM001146XXXXX ok true 0x50060160xxxxxxxx, 89 0x50060161xxxxxxxx, 0x50060168xxxxxxxx, 0x50060169xxxxxxxx EMC-CLARiiON-CKM001221XXXXX ok true 0x50060160xxxxxxxx, 133 0x50060161xxxxxxxx, 0x50060168xxxxxxxx, 0x50060169xxxxxxxx XtremIO-XtremApp-CKM001425XXXXX ok - 0x21000024xxxxxxxx, 69 0x21000024xxxxxxxx, 0x21000024xxxxxxxx, 0x21000024xxxxxxxx VPlexcli:/clusters/cluster-2/storage-elements/storage-arrays> array re-discover EMC-CLARiiON-CKM001146XXXXX VPlexcli:/clusters/cluster-2/storage-elements/storage-arrays> array re-discover EMC-CLARiiON-CKM001221XXXXX |
Cette opération permet de ré-initialiser tous les statuts des LUNs et évite donc les pertes de chemins potentiels.