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

Summary: 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. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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()

Cause

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

Resolution

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.

Products

Isilon, Isilon Gen6.5, PowerScale OneFS
Article Properties
Article Number: 000472886
Article Type: Solution
Last Modified: 01 محرم 1448
Version:  1
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.