Dell Unity: Dublerede værtsnavne forårsager problemer med ydeevnen i NFSv4-miljøet (kan rettes af brugeren)
Summary: NFSv4.1-klienter, der deler det samme værtsnavn, kan opleve hyppige sessionsafslutninger og genskabelser. Dette sker, fordi NFSv4.1-protokollen bruger værtsnavnet som en del af det entydige klient-id (klientejer). Når flere værter bruger det samme id, opfatter storageserveren (f.eks. Dell Unity) dem som den samme klient, der forsøger at genoprette en forbindelse, hvilket fører til en "session flapping"-løkke, og potentiel I/O hænger. ...
Symptoms
Klientside: Brugere rapporterer betydelig forringelse af NFS-ydeevnen, specifikt høj latenstid under små filhandlinger.
Enhedslisten: Log viser, at NAS-serveren ofte udløser checkReplay logik, der angiver, at den modtager anmodninger med sekvens-id'er (seqid), som den mener allerede er blevet behandlet.
2026/03/23-09:22:31.571765 3 7FCE8B3CF705 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x2
2026/03/23-09:22:31.571948 177 7FCE8AB4F703 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
2026/03/23-09:22:31.571969 15 7FCE8AE7F701 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 1 seqid 0x1
2026/03/23-09:22:33.950467 94K 7FCE8E57B703 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x1
2026/03/23-09:22:33.950614 142 7FCE8E24F702 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x2
2026/03/23-09:22:33.950780 159 7FCE8DEDA705 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
2026/03/23-09:22:33.950793 8 7FCE8E22A702 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 1 seqid 0x1
2026/03/23-09:22:36.025980 169K 7FCE8C9FD704 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x1
2026/03/23-09:22:36.026291 305 7FCE8C9B9704 sade:NFS: 3:[NAS_server] checkReplay: sequence replay slotid 0 seqid 0x3
Netværk: Pakkeregistreringer identificerer en klient-id-kollision mellem flere forskellige IP-adresser (10.10.1.8 og 10.10.1.3). Begge værter forsøger at registrere sig på NFS-serveren ved hjælp af det samme klient-id. Dette medfører en løbstilstand, hvor en klient ugyldiggør den andens session, hvilket fører til sekvensfejl og en gendannelsesforsinkelse på 1 sekund, der forringer ydeevnen.
42855 2026-03-20 02:34:12.752931 10.10.1.3 10.10.1.50 NFS 294 V4 Call (Reply In 42856) CLOSE StateID: 0x97d3
42856 2026-03-20 02:34:12.753069 10.10.1.50 10.10.1.3 NFS 182 V4 Reply (Call In 42855) CLOSE
42857 2026-03-20 02:34:12.753542 10.10.1.50 10.10.1.3 NFS 562 V4 Reply (Call In 42837) OPEN StateID: 0x3dba
42858 2026-03-20 02:34:12.753583 10.10.1.3 10.10.1.50 TCP 66 976 → 2049 [ACK] Seq=14332461 Ack=1382561 Win=26688 Len=0 TSval=2749783070 TSecr=3786939377
42859 2026-03-20 02:34:12.753635 10.10.1.3 10.10.1.50 NFS 330 V4 Call (Reply In 42860) SETATTR FH: 0xac0cc5de
42860 2026-03-20 02:34:12.753718 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42859) SEQUENCE Status: NFS4ERR_BADSESSION
42861 2026-03-20 02:34:12.753980 10.10.1.3 10.10.1.50 NFS 186 V4 Call (Reply In 42862) DESTROY_SESSION
42862 2026-03-20 02:34:12.754047 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42861) DESTROY_SESSION Status: NFS4ERR_BADSESSION
42863 2026-03-20 02:34:12.754111 10.10.1.3 10.10.1.50 NFS 298 V4 Call (Reply In 42864) CREATE_SESSION
42864 2026-03-20 02:34:12.754171 10.10.1.50 10.10.1.3 NFS 114 V4 Reply (Call In 42863) CREATE_SESSION Status: NFS4ERR_SEQ_MISORDERED
42865 2026-03-20 02:34:12.755288 10.10.1.50 10.10.1.8 NFS 246 V4 Reply (Call In 42852) EXCHANGE_ID
42866 2026-03-20 02:34:12.755357 10.10.1.8 10.10.1.50 NFS 298 V4 Call (Reply In 42867) CREATE_SESSION
42867 2026-03-20 02:34:12.755544 10.10.1.50 10.10.1.8 NFS 194 V4 Reply (Call In 42866) CREATE_SESSION
42868 2026-03-20 02:34:12.755606 10.10.1.8 10.10.1.50 NFS 218 V4 Call (Reply In 42869) PUTROOTFH | GETATTR
42869 2026-03-20 02:34:12.755706 10.10.1.50 10.10.1.8 NFS 182 V4 Reply (Call In 42868) PUTROOTFH | GETATTR
42870 2026-03-20 02:34:12.755775 10.10.1.8 10.10.1.50 NFS 210 V4 Call (Reply In 42871) RECLAIM_COMPLETE
42871 2026-03-20 02:34:12.755855 10.10.1.50 10.10.1.8 NFS 158 V4 Reply (Call In 42870) RECLAIM_COMPLETE
42872 2026-03-20 02:34:12.755926 10.10.1.8 10.10.1.50 NFS 290 V4 Call (Reply In 42873) GETATTR FH: 0xc7011572
42873 2026-03-20 02:34:12.756013 10.10.1.50 10.10.1.8 NFS 362 V4 Reply (Call In 42872) GETATTR
42874 2026-03-20 02:34:12.757262 10.10.1.8 10.10.1.50 NFS 290 V4 Call (Reply In 42875) GETATTR FH: 0x3bc92b95
42875 2026-03-20 02:34:12.757347 10.10.1.50 10.10.1.8 NFS 362 V4 Reply (Call In 42874) GETATTR
42876 2026-03-20 02:34:12.795850 10.10.1.3 10.10.1.50 TCP 66 976 → 2049 [ACK] Seq=14333077 Ack=1382705 Win=26688 Len=0 TSval=2749783113 TSecr=3786939378
42877 2026-03-20 02:34:12.799280 10.10.1.8 10.10.1.50 TCP 66 988 → 2049 [ACK] Seq=78001 Ack=49629 Win=1188 Len=0 TSval=2328275863 TSecr=986324573
43224 2026-03-20 02:34:13.779818 10.10.1.3 10.10.1.50 NFS 354 V4 Call (Reply In 43232) EXCHANGE_ID
43232 2026-03-20 02:34:13.782406 10.10.1.50 10.10.1.3 NFS 246 V4 Reply (Call In 43224) EXCHANGE_ID
Cause
Hvis to eller flere klienter (almindeligvis i klonede VM'er eller miljøer i objektbeholdere) deler det samme værtsnavn:
- Vært A opretter en session.
- Vært B opretter forbindelse til det samme værtsnavn; serveren antager, at vært A er genstartet eller har oprettet forbindelse igen.
- Serveren "udløber" vært A's session, så vært B kan oprette forbindelse.
- Vært A forsøger derefter at genoprette sin session og starter vært B.
Dette resulterer i en kontinuerlig cyklus af sessionsnulstillinger og sekvens-id-gentagelser. Dette medfører en alvorlig forringelse af ydeevnen, da klienten skal sætte alle I/O-handlinger på pause i en obligatorisk gendannelsesperiode (typisk 1 sekund), før en EXCHANGE_ID for at genvinde sin session.
Resolution
Unity-systemet fungerer efter hensigten og overholder RFC-standarderne NFSv4.1/4.2. Serveren afslutter sessioner korrekt, når der vises et dubleret klient-id (ejerstreng) for at forhindre databeskadigelse.
For at løse kollisionen skal hver klient have en globalt unik identifikator. Sørg for, at værtsnavnet er unikt for hver klient, der får adgang til delingen:
hostnamectl set-hostname <unique_hostname>
Genstart NFS-tjenesten, eller genstart klienten for at sikre, at den nye identifikator bruges til den næste EXCHANGE_ID ring til Unity-serveren.