PowerFlex: So erkennen Sie, ob persistenter Speicher (NVDIMM) fehlerhafte Blöcke aufweist
Summary: PowerFlex-Storage-Pools mit feiner Granularität verwenden persistenten Speicher (PMEM), auch bekannt als nichtflüchtiges DIMM (NVDIMM), um Daten zu beschleunigen und zu komprimieren. Diese DIMMs können wie normale RDIMMs fehlerhafte Blöcke aufweisen und müssen wie jeder andere Festplattentyp regelmäßig auf Fehler überwacht werden. In einer früheren Version erkennt das SDS-Gerät den fehlerhaften Block nur, wenn es auf den entsprechenden Abschnitt zugreift und der Lesevorgang durch einen SDS fehlschlägt. Für die frühere Version können die folgenden Schritte proaktiv befolgt werden, um NVDIMMs mit fehlerhaften Blöcken zu erkennen und sie auszutauschen. Hinweis: Da das Produkt über inhärente Redundanz verfügt, werden die Daten dieser Blöcke auf einem anderen Node gesichert. Im Falle eines Ausfalls fällt der SDS aus und die anderen SDSs übernehmen die I/O-Wartung. ...
Instructions
Dieses Verfahren gilt nur für Linux-basierte Betriebssysteme.
Hinweis: Die VMware-basierte Implementierung auf ESXi bietet die Möglichkeit, zu überprüfen, ob das Gerät Fehler aufweist oder nicht, und kann nicht von der PowerFlex-Storage-VM abgefragt werden. Im Falle eines NVDIMM-Ausfalls ist der NVRAM-Datenspeicher offline und die Storage-VM wird ausgeschaltet und kann erst gestartet werden, wenn das NVDIMM ausgetauscht wurde.
So erkennen Sie die fehlerhaften Blöcke unter Linux:
1. Führen Sie den folgenden Befehl mithilfe der Shell auf jedem Host aus, der über ein NVDIMM verfügt:
HINWEIS: Die Häufigkeitsempfehlung ist einmal täglich.
ndctl list --media-errors
Beispiel für die Befehlsausgabe für ein DAX-Gerät mit Fehlern.
Im folgenden Teil der Ausgabe weist der Namespace 1.0 mit DAX 1.0 13 ungültige Blöcke auf und muss ersetzt werden.
[
{
"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. Korrelieren des DAX-Geräts, das in einem PowerFlex-Storage-Pool verwendet wird:
ein. Zum Abrufen einer Liste aller Storage-Geräte, die für jeden Storage-Pool im Cluster konfiguriert sind, müssen wir uns zunächst anmelden:
scli --login --username <NAME> --password <PASSWORD>
b. Rufen Sie die Liste der für jeden Storage-Pool konfigurierten Geräte ab:
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
Für jeden SDS im Cluster sollte eine Ausgabe ähnlich der folgenden angezeigt werden:
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
Dies bedeutet, dass dieser Node über ein DAX-Gerät /dev/dax1.0 verfügt, das vom ac_1 des Acceleration Pools verwendet wird, ungültige Blöcke aufweist und ersetzt werden muss.
PowerFlex-Supportleitfaden
- Wenn ein solcher Fall nur auf einem Host auftritt, fahren Sie mit dem Entfernen des DAX-Geräts aus dem PowerFlex-System fort und öffnen Sie eine Serviceanfrage zur FRU (Field Replace Unit), dem fehlerhaften PMEM/NVDIMM-Gerät.
- Dell Technologies empfiehlt, das PMEM\NVDIMM-Gerät so bald wie möglich in einem geplanten Wartungsfenster auszutauschen.
- Das Verfahren zum Ersetzen eines fehlerhaften NVDIMM ist im R640\R740xd\R840 Field Replaceable Unit-Benutzerhandbuch in folgendem Kapitel dokumentiert: "Austauschen eines NVDIMM in einem Linux-basierten VxFlex Ready Node R640\R740xd\R840-Server."
- Wenn mehr als ein Gerät mit fehlerhaften Blöcken auf verschiedenen Nodes im selben Storage-Pool mit feiner Granularität vorhanden ist, eröffnen Sie eine Serviceanfrage an den PowerFlex-Support, um die Datenstabilität zu überprüfen.