PowerScale OneFS: NFS trifft EIO beim Schreiben mit aktivierter Software Journal Mirroring (SJM)

Zusammenfassung: NFS-Clients (Network File System), die in PowerScale OneFS der Version 9.11 schreiben, können seltene Schreibvorgangsfehler auftreten, die sich als Eingabe- oder Ausgabefehler (EIO) manifestieren. ...

Dieser Artikel gilt für Dieser Artikel gilt nicht für Dieser Artikel ist nicht an ein bestimmtes Produkt gebunden. In diesem Artikel werden nicht alle Produktversionen aufgeführt.

Symptome

Es gibt eine neue OneFS 9.11-Funktion namens Software Journal Mirroring (SJM) in Kombination mit einer OneFS 9.7-Funktion, die als Direct Write (NCIO) bezeichnet wird.

Weitere Informationen zu SJM finden Sie unter: https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/

Weitere Informationen zu NCIO finden Sie unter: https://infohub.delltechnologies.com/en-au/l/powerscale-best-practices-for-semiconductor-eda-design-environments/direct-read-and-direct-write/

Es wird erwartet, dass das Problem selten auftritt (10 von einer Milliarde Operationen). Der folgende Fehler im Meldungsprotokoll des PowerScale-Node bestätigt, dass das Problem mit dem Zeitstempel aufgetreten ist. Der clusterseitige Zeitstempel eines Fehlers muss mit dem clientseitigen Zeitstempel des Fehlers übereinstimmen: 

2026-03-03T17:00:28.344642-05:00 isilon-2(id2) /boot/kernel.amd64/kernel: [txn_participant.c:5806](pid 82988="kt: dxt17")(tid=106414) txn_p_dl_block_budrecs() txn(0x2:0x133bcad0d) requested from devid:2 not found

Ermitteln Sie außerdem, ob die EIO-Fehler nach dem Upgrade auf OneFS 9.11 aufgetreten sind und Fehler wie die folgenden in den Protokolldateien angezeigt wurden:

# grep txn_p_dl_ /var/log/messages | cut -d":" -f 2- | cut -d" " -f 8 | sort | uniq -c
   5112 txn_p_dl_block_budrecs()
   3672 txn_p_dl_deltas_budrecs()
# grep txn_p_dl_ /var/log/messages | cut -d":" -f 2- | cut -d" " -f 8 | sort | uniq -c
   5200 txn_p_dl_block_budrecs()
   3712 txn_p_dl_deltas_budrecs()

Ursache

Damit das Problem auftritt, müssen SJM und NCIO auf dem betroffenen Cluster aktiviert sein. Diese Funktionen führen zu einer Racebedingung, bei der ein Thread den Zugriff auf eine erforderliche Ressource verlieren kann.  

Um festzustellen, ob SJM auf einem Cluster aktiviert ist, führen Sie den folgenden Befehl aus:

isi storagepool nodepools list -v | egrep "Name|SJM"

Um festzustellen, ob NCIO aktiviert ist, führen Sie die folgenden Befehle aus. Beide Befehle geben Folgendes zurück: '1' auf allen Nodes, wenn NCIO aktiviert ist. 

isi_for_array -s sysctl efs.lbm.ncio.write.enable
isi_for_array -s sysctl efs.bam.bsw_send_direct

 

Beispiele:

(Confirms SJM is enabled)
Isilon-1# isi storagepool nodepools list -v | egrep "Name|SJM"
                Name: f200_3.8tb-ssd_48gb
         SJM Enabled: Yes

(Confirms NCIO is enabled.  Both sets of output return '1' for all nodes, indicating NCIO is enabled)
Isilon-1# isi_for_array -s sysctl efs.lbm.ncio.write.enable
Isilon-1: efs.lbm.ncio.write.enable: 1
Isilon-2: efs.lbm.ncio.write.enable: 1
Isilon-3: efs.lbm.ncio.write.enable: 1

Isilon-1# isi_for_array -s sysctl efs.bam.bsw_send_direct
Isilon-1: efs.bam.bsw_send_direct: 1
Isilon-2: efs.bam.bsw_send_direct: 1
Isilon-3: efs.bam.bsw_send_direct: 1

Lösung

Der Workaround besteht darin, entweder SJM oder NCIO zu deaktivieren. Es ist nicht erforderlich, beide zu deaktivieren.
Die Deaktivierung von SJM reduziert den Datenschutz und die Redundanz des Dateisystemjournals wie folgt:

Jedem Node in einem SJM-fähigen Node-Pool wird dynamisch ein eindeutiger Buddy zugewiesen und die Backend-Netzwerkverbindung zwischen Nodes ist für den Massendatenfluss mit niedriger Latenz optimiert. Das automatische Wiederherstellungsschema von SJM kann den gespiegelten Inhalt eines Buddy-Journals verwenden, um das Journal des primären Node im Falle eines Ausfalls neu zu erstellen und so den kostspieligen Prozess eines SmartFailings des Node zu vermeiden. Dieses Recovery-Schema, das als SyncBack bezeichnet wird, kann auch manuell angewendet werden, wenn ein fehlerhaftes Journalgerät physisch ersetzt werden muss.
Quelle: https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/

Das Deaktivieren von NCIO kann die Schreibleistung auf Flash-Nodes um etwa 20 % einschränken oder reduzieren. 

So deaktivieren Sie SJM. Dies muss pro Node-Pool erfolgen:

isi storagepool nodepools modify <nodepool name> --sjm-enabled=false

So deaktivieren Sie NCIO:

isi_sysctl_cluster efs.lbm.ncio.write.enable=0
isi_sysctl_cluster efs.bam.bsw_send_direct=0

Das Deaktivieren dieser Funktionen kann sich auf das Cluster auswirken. Dies sollte nur angewendet werden, wenn der Clusterworkflow beeinträchtigt ist. Wenden Sie sich an den technischen Support von Dell, wenn Sie Fragen oder Bedenken haben.

Produkte

Isilon, Isilon Gen6.5, PowerScale OneFS
Artikeleigenschaften
Artikelnummer: 000472886
Artikeltyp: Solution
Zuletzt geändert: 07 Aug. 2026
Version:  2
Antworten auf Ihre Fragen erhalten Sie von anderen Dell NutzerInnen
Support Services
Prüfen Sie, ob Ihr Gerät durch Support Services abgedeckt ist.