PowerScale OneFS: NFS rammer EIO, når du skriver med Software Journal Mirroring (SJM) aktiveret
Summary: NFS-klienter (Network File System), der skriver til PowerScale OneFS på version 9.11, kan opleve sjældne skrivefejl, der manifesterer sig som input- eller outputfejl (EIO).
Symptoms
Der er en ny OneFS 9.11-funktion kaldet Software Journal Mirroring (SJM) kombineret med en OneFS 9.7-funktion kendt som Direct Write (NCIO).
For mere information om SJM, se: https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/
Du kan finde flere oplysninger om NCIO i: https://infohub.delltechnologies.com/en-au/l/powerscale-best-practices-for-semiconductor-eda-design-environments/direct-read-and-direct-write/
Problemet forventes at være sjældent (10 ud af en milliard operationer). Følgende fejl i PowerScale-nodens meddelelseslog bekræfter, at problemet opstod ved tidsstemplet. Tidsstemplet på klyngesiden for en fejl skal svare til fejlens tidsstempel på klientsiden:
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
Find også ud af, om EIO-fejlene begyndte efter opgradering til OneFS 9.11, og om fejl som følgende begyndte at blive vist i logfilerne:
# 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
For at problemet skal gælde, skal både SJM og NCIO være aktiveret på den berørte klynge. Disse funktioner forårsager en racetilstand, hvor en tråd kan miste adgangen til en nødvendig ressource.
Kør følgende kommando for at finde ud af, om SJM er aktiveret på en klynge:
isi storagepool nodepools list -v | egrep "Name|SJM"
Kør følgende kommandoer for at finde ud af, om NCIO er aktiveret. Begge kommandoer vender tilbage '1' på alle noder, når NCIO er aktiveret.
isi_for_array -s sysctl efs.lbm.ncio.write.enable isi_for_array -s sysctl efs.bam.bsw_send_direct
Eksempler:
(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
Løsningen er at deaktivere enten SJM eller NCIO. Det er ikke nødvendigt at deaktivere begge.
Deaktivering af SJM reducerer databeskyttelse og redundans i File System Journal på følgende måde:
Hver node i en SJM-aktiveret nodegruppe tildeles dynamisk en unik Buddy, og backend-netværksforbindelsen mellem noder er optimeret til massedataflow med lav ventetid. SJM's automatiske gendannelsesordning kan bruge en Buddy-journals spejlede indhold til at omforme den primære nodes journal i tilfælde af en fejl, hvilket undgår den dyre proces med SmartFailing noden. Denne gendannelsesordning, kendt som SyncBack, kan også anvendes manuelt, hvis en defekt journalenhed skal udskiftes fysisk.
Kilde: https://infohub.delltechnologies.com/en-uk/l/powerscale-onefs-smartflash/software-journal-mirroring/
Deaktivering af NCIO kan begrænse eller reducere skriveydelsen med ca. 20 % ydeevne på flashnoder.
For at deaktivere SJM. Dette skal gøres pr. nodepulje:
isi storagepool nodepools modify <nodepool name> --sjm-enabled=false
Sådan deaktiverer du NCIO:
isi_sysctl_cluster efs.lbm.ncio.write.enable=0
isi_sysctl_cluster efs.bam.bsw_send_direct=0
Deaktivering af disse funktioner kan påvirke klyngen. Dette bør kun anvendes, hvis klyngearbejdsprocessen påvirkes. Kontakt Dells tekniske support, hvis der er spørgsmål eller bekymringer.