PowerFlex : Comment détecter si la mémoire permanente (NVDIMM) présente des blocs défectueux
Summary: Les pools de stockage à granularité fine de PowerFlex utilisent la mémoire permanente (PMEM), également appelée DIMM non volatile (NVDIMM), pour accélérer et compresser les données. Ces modules DIMM peuvent avoir des blocs défectueux, tout comme les modules RDIMM standard, et doivent être surveillés périodiquement pour détecter des pannes, comme tout autre type de disque. Dans une version antérieure, l’appareil SDS détecte uniquement le bloc défectueux lors de l’accès à la section appropriée et échoue la lecture en faisant échouer le SDS. Pour la version antérieure, les étapes suivantes peuvent être suivies proactivement pour détecter les NVDIMM avec des blocs défectueux et les remplacer. Remarque : étant donné que nous avons une redondance inhérente au produit, les données de ces blocs sont sauvegardées sur un autre nœud et, en cas de défaillance, le SDS échoue et les autres SDS traitent les E/S. ...
Instructions
Cette procédure s’applique uniquement aux systèmes d’exploitation basés sur Linux.
Remarque : La mise en œuvre basée sur VMware sur ESXi maintient la capacité de vérifier si l’appareil présente des pannes ou non et ne peut pas être interrogé à partir de la machine virtuelle de stockage PowerFlex. En cas de défaillance du NVDIMM, le datastore NVRAM est hors ligne et la machine virtuelle de stockage se met hors tension et ne peut pas démarrer tant que le NVDIMM n’est pas remplacé.
Comment détecter les blocs défectueux sur le système d’exploitation Linux :
1. Exécutez la commande suivante à l’aide du shell sur chaque hôte doté d’un NVDIMM :
REMARQUE : La fréquence recommandée est d’une fois par jour.
ndctl list --media-errors
Exemple de sortie de commande pour un appareil DAX qui présente des défaillances.
Dans la partie ci-dessous de la sortie, l’espace de nommage 1.0 avec dax 1.0 comporte 13 blocs défectueux et doit être remplacé.
[
{
"dev":"namespace1.0",
"mode":"devdax",
"map":"dev",
"size":62914560,
"uuid":"47072fee-1447-4e04-b4ca-f28e2c03af80",
"chardev":"dax1.0",
"align":4096,
"badblock_count":13,
"badblocks":
2. Corrélation de l’appareil DAX en cours d’utilisation dans un pool de stockage PowerFlex :
un. Afin de récupérer la liste de tous les périphériques de stockage configurés sur chaque pool de stockage du cluster, vous devez d’abord nous connecter :
scli --login --username <NAME> --password <PASSWORD>
b. Affichez la liste des appareils configurés pour chaque pool de stockage :
for SNAME in $(scli --query_all_sds | grep ID: | awk '{print $5}'); do echo $SNAME ; scli --query_sds --sds_name $SNAME | grep -E "Path|Pool" ; done
Un résultat similaire à ce qui suit doit s’afficher pour chaque SDS du cluster :
SDS_Node1 Storage Pool information (total of 2 Storage Pools): 1: Storage Pool: default inflight requests factor: 115, inflight bandwidth factor 115 2: Storage Pool: fg_1 inflight requests factor: 115, inflight bandwidth factor 115 1: Name: N/A Path: /dev/sdv Original-path: /dev/sdv ID: ddfeb59d00030000 Storage Pool: default, Capacity: 1786 GB, State: Normal 2: Name: N/A Path: /dev/sdk Original-path: /dev/sdk ID: ddfedc3100030005 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 3: Name: N/A Path: /dev/sdl Original-path: /dev/sdl ID: ddfedc3200030006 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 4: Name: N/A Path: /dev/sdm Original-path: /dev/sdm ID: ddfedc3300030007 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 5: Name: N/A Path: /dev/sdn Original-path: /dev/sdn ID: ddfedc3400030008 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 6: Name: N/A Path: /dev/svm_sdo Original-path: /dev/svm_sdo ID: ddfedc3500030009 Storage Pool: fg_1, Capacity: 894 GB, State: Normal 7: Name: N/A Path: /dev/svm_sdp Original-path: /dev/svm_sdp ID: ddfedc360003000a Storage Pool: fg_1, Capacity: 894 GB, State: Normal 1: Name: N/A Path: /dev/dax0.0 Original-path: /dev/dax0.0 ID: ddfedc2100030001 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 1.3 GB (1372 MB), State: Normal 2: Name: N/A Path: /dev/dax1.0 Original-path: /dev/dax1.0 ID: ddfedc2200030002 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 1.3 GB (1372 MB), State: Normal 3: Name: N/A Path: /dev/dax2.0 Original-path: /dev/dax2.0 ID: ddfedc2300030003 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 686.0 MB (702464 KB), State: Normal 4: Name: N/A Path: /dev/dax3.0 Original-path: /dev/dax3.0 ID: ddfedc2400030004 Acceleration Pool: ac_1, Capacity: 15.7 GB (16052 MB), Used: 686.0 MB (702464 KB), State: Normal
Cela signifie que ce nœud dispose d’un appareil DAX /dev/dax1.0 utilisé par le pool d’accélération ac_1 qui possède des blocs défectueux et doit être remplacé.
Conseils relatifs au support PowerFlex
- Si un tel cas n’est détecté que sur un seul hôte, procédez au retrait de l’appareil DAX du système PowerFlex et ouvrez une demande d’intervention auprès de l’appareil PMEM/NVDIMM défectueux auprès de l’unité FRU (Field Replace Unit).
- Dell Technologies recommande de remplacer l’appareil PMEM/NVDIMM dès que possible dans le cadre d’une fenêtre de maintenance planifiée.
- Le processus de remplacement d’un module NVDIMM défectueux est documenté dans le Guide des unités remplaçables sur site R640\R740xd\R840. Le chapitre à consulter est le suivant : « Remplacement d’un module NVDIMM sur un serveur VxFlex Ready Node R640\R740xd\R840 basé sur Linux. »
- Si vous disposez de plusieurs appareils sur différents nœuds dans le même pool de stockage à granularité fine présentant des blocs défectueux, ouvrez une demande d’intervention auprès du support PowerFlex pour vérifier la stabilité des données.