Risoluzione degli I/O errori e degli errori di recupero del blocco NFS - FSx per ONTAP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione degli I/O errori e degli errori di recupero del blocco NFS

Questa sezione descrive i problemi relativi agli I/O errori e agli errori di recupero del blocco NFS durante gli eventi di failover sui file system ONTAP e le risoluzioni FSx per ciascuno di essi.

Si verificano errori durante gli eventi di failover I/O

Durante i failover sui FSx file system ONTAP Single-AZ, i client NFS possono riscontrare errori transitori o pause prolungate. I/O Per i client NFSv4 +, è possibile che vengano visualizzati messaggi di log del kernel come:

NFS: __nfs4_reclaim_open_state: Lock reclaim failed!

Questi messaggi indicano che il client non è riuscito a recuperare con successo i blocchi NFS durante la finestra di failover.

Per ridurre gli errori durante gli eventi di failover I/O

Su Linux, è possibile configurare le impostazioni di rete sui client per ridurre il tempo di rilevamento del failover da 55-60 secondi a 15-20 secondi.

Importante

Verifica sempre prima queste configurazioni in un ambiente non di produzione. Queste impostazioni aumentano il traffico ARP (Address Resolution Protocol), che viene utilizzato per mappare gli indirizzi IP su indirizzi fisici (MAC) su una rete locale e potrebbe non essere adatto per ambienti con vincoli di rete.

Per configurare impostazioni di rete ottimizzate per i client NFS
  1. Crea un file di configurazione sysctl su ogni client NFS. L'esempio seguente utilizza default per applicare le impostazioni a tutte le interfacce di rete. Se l'istanza dispone di più interfacce di rete, è possibile sostituirla default con il nome dell'interfaccia specifica (ad esempio, eth0 oens5) utilizzato per connettersi al file system FSx for ONTAP Single-AZ:

    $ sudo tee /etc/sysctl.d/99-fsx-failover.conf > /dev/null << 'EOF' # NFS client optimizations for faster failover detection # Replace 'default' with your interface name (e.g., eth0, ens5) to target a specific interface net.ipv4.neigh.default.base_reachable_time_ms=5000 net.ipv4.neigh.default.delay_first_probe_time=1 net.ipv4.neigh.default.ucast_solicit=0 net.ipv4.tcp_syn_retries=3 EOF
  2. Applica immediatamente le impostazioni:

    $ sudo sysctl -p /etc/sysctl.d/99-fsx-failover.conf
  3. Verifica che la configurazione sia attiva. Se lo hai usatodefault, puoi verificare con i seguenti comandi. Se hai specificato un'interfaccia specifica, default sostituiscila con il nome dell'interfaccia (ad esempio, eth0 oens5):

    $ sysctl net.ipv4.neigh.default.base_reachable_time_ms $ sysctl net.ipv4.neigh.default.delay_first_probe_time $ sysctl net.ipv4.neigh.default.ucast_solicit $ sysctl net.ipv4.tcp_syn_retries

Assicurati che queste impostazioni vengano applicate in modo uniforme su tutti i client NFS che si connettono al file system FSx for ONTAP all'interno della stessa zona di disponibilità. Quando utilizzi queste ottimizzazioni di rete, tieni presente quanto segue:

  • base_reachable_time_ms=5000 — Riduce la validità di accesso alla cache ARP da 30 secondi a 5 secondi, consentendo ai client di rilevare più rapidamente le modifiche alla proprietà IP durante un evento di failover.

  • delay_first_probe_time=1 — Riduce il ritardo prima di esaminare una voce di rete obsoleta da 5 secondi a 1 secondo.

  • ucast_solicit=0 — Ignora i probe unicast neighbor e invia immediatamente richieste ARP broadcast, accelerando la riscoperta del file server attivo.

  • tcp_syn_retries=3 — Riduce la durata dei tentativi di connessione TCP da 127 secondi a 15 secondi.

Dopo aver impostato le impostazioni di rete, è necessario monitorare l'ambiente per convalidare le modifiche. È possibile testare un evento di failover modificando la capacità di throughput del file system. Per ulteriori informazioni, consulta Test del failover su un file system.

Monitoraggio dell'ambiente dopo l'applicazione delle modifiche

  • Monitora i log di sistema alla ricerca di errori NFS per visualizzare i messaggi di log del kernel relativi a NFS.

    $ sudo journalctl -f | grep -i nfs

    Verificate che vi siano meno ricorrenze di messaggi come. Lock reclaim failed

  • Monitora i registri delle applicazioni per confermare un minor numero di I/O timeout, errori di connessione ed errori correlati ai tentativi durante gli eventi di failover.

  • Convalida l'impatto sulla rete per garantire che l'aumento del traffico ARP non influisca negativamente sulle prestazioni di rete nell'ambiente in uso.

Approcci alternativi per gli ambienti NFSv4

In NFSv4 ambienti in cui non è possibile modificare la configurazione lato client, considerate le seguenti alternative: