PowerScale OneFS: NFS bereikt EIO bij schrijven met ingeschakelde software Journal Mirroring
Summary: NFS-clients (Network File System) die op versie 9.11 naar PowerScale OneFS schrijven, kunnen zeldzame schrijfbewerkingsfouten ondervinden die zich manifesteren als invoer- of uitvoerfouten (EIO). ...
Symptoms
Er is een nieuwe OneFS 9.11-functie genaamd Software Journal Mirroring (SJM) gecombineerd met een OneFS 9.7-functie die bekend staat als Direct Write (NCIO).
- Zie voor meer informatie over SJM het Dell document PowerScale OneFS SmartFlash Software journal mirroring
- Zie voor meer informatie over NCIO het Dell document PowerScale: Best Practices for Semiconductor EDA Design Environments Direct Read and Direct Write
Het probleem zal naar verwachting zeldzaam zijn (10 op de miljard operaties). De volgende fout in het berichtenlogboek van het PowerScale knooppunt bevestigt dat het probleem is opgetreden bij het tijdstempel. De tijdstempel aan de clusterzijde van een fout moet overeenkomen met de tijdstempel van de fout aan de clientzijde:
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
Ook vastgesteld dat de EIO-fouten zijn begonnen na de upgrade naar OneFS 9.11. Fouten zoals de volgende begonnen te verschijnen in de logbestanden:
# 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
Om het probleem toe te passen, moeten zowel SJM als NCIO zijn ingeschakeld op het betreffende cluster. Deze functies veroorzaken een racevoorwaarde waarbij een thread de toegang tot een noodzakelijke bron kan verliezen.
Om te bepalen of SJM is ingeschakeld op een cluster, voert u de volgende opdracht uit:
isi storagepool nodepools list -v | egrep "Name|SJM"
Voer de volgende opdrachten uit om te bepalen of NCIO is ingeschakeld. Beide opdrachten keren terug '1' op alle knooppunten wanneer NCIO is ingeschakeld.
isi_for_array -s sysctl efs.lbm.ncio.write.enable isi_for_array -s sysctl efs.bam.bsw_send_direct
Voorbeelden:
(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
De tijdelijke oplossing is om SJM of NCIO uit te schakelen. Het is niet nodig om beide uit te schakelen.
Het uitschakelen van SJM vermindert de databescherming en redundantie van het bestandssysteemlogboek als volgt:
- Elk knooppunt in een SJM-compatibele knooppuntgroep krijgt dynamisch een unieke Buddy toegewezen en de back-endnetwerkverbinding tussen knooppunten is geoptimaliseerd voor bulkdatastroom met lage latentie.
- Het automatische herstelschema van SJM kan de gespiegelde inhoud van een Buddy-journaal gebruiken om het journaal van het primaire knooppunt opnieuw te vormen in het geval van een storing, waardoor het kostbare proces van SmartFailing van het knooppunt wordt vermeden. Dit herstelschema, ook wel bekend als SyncBack, kan ook handmatig worden toegepast als een defect journaalapparaat fysiek moet worden vervangen.
- Bron: Dell document PowerScale OneFS SmartFlash Software journal mirroring
Als u NCIO uitschakelt, kunnen de schrijfprestaties op flash-knooppunten met ongeveer 20% worden beperkt of verminderd.
- Om SJM uit te schakelen. Dit moet per knooppuntgroep worden gedaan:
isi storagepool nodepools modify <nodepool name> --sjm-enabled=false
- U kunt NCIO als volgt uitschakelen:
isi_sysctl_cluster efs.lbm.ncio.write.enable=0 isi_sysctl_cluster efs.bam.bsw_send_direct=0
Het uitschakelen van deze functies kan gevolgen hebben voor het cluster. Dit moet alleen worden toegepast als de clusterworkflow wordt beïnvloed.
Neem bij vragen of problemen contact op met de technische support van Dell .