In questa pagina vengono descritte le opzioni di montaggio NFS di Linux che influiscono sulle prestazioni e sul comportamento durante il montaggio delle esportazioni di NetApp Volumes. Puoi impostare queste opzioni quando esegui il comando mount o aggiungendole a /etc/fstab.
Per l'ordine di configurazione consigliato e per informazioni su come le opzioni di montaggio interagiscono con la concorrenza del kernel e la lettura anticipata, vedi Ottimizzare i client NFS di Linux.
Per esempi di comandi di montaggio e accesso all'esportazione, vedi Connettere i client NFS.
Prima di iniziare
Soddisfa i seguenti requisiti prima di montare NetApp Volumes:
Utilizza il comando di montaggio dalle Google Cloud istruzioni di montaggio della console, a meno che il tuo carico di lavoro non richieda opzioni diverse.
Se regoli la concorrenza con le impostazioni della tabella degli slot o degli slot di sessione, configura queste impostazioni prima del montaggio. Per saperne di più, vedi Concorrenza NFS di Linux.
Testa le modifiche in un ambiente non di produzione. L'effetto delle opzioni di montaggio può variare in base al carico di lavoro, alla versione di Linux e alla latenza di rete.
Riferimento rapido
La tabella seguente fornisce un riferimento rapido alle opzioni di montaggio comuni in base agli obiettivi del carico di lavoro:
| Obiettivo | Opzioni da considerare | Note |
|---|---|---|
| Uso generico | Utilizza le istruzioni di montaggio della console Google Cloud | Include i valori predefiniti appropriati per il protocollo |
| Velocità effettiva o IOPS più elevate da una VM | Da nconnect=8 a nconnect=16, regola rsize e wsize |
Imposta prima la tabella degli slot; vedi Concorrenza NFS di Linux |
| Latenza inferiore per i database | rsize=262144, wsize=262144, hard, timeo=600, vers=4.1 |
Testa per la tua applicazione specifica |
| Specifica la versione di NFS | vers=3 o vers=4.1 |
Per impostazione predefinita, Linux monta la versione più recente disponibile |
| NFSv3 senza blocchi di avviso | vers=3, nolock |
Per indicazioni su firewall e gestore dei blocchi, vedi Connettere i client NFS |
| NFSv4.1 Kerberos | sec=krb5, krb5i o krb5p |
Non utilizzare con nconnect |
| Dati di sola lettura con compromessi di coerenza noti | nocto, actimeo= |
Avanzato; comprendi prima il comportamento della cache |
Includi sempre tcp quando monti NFSv3. Sebbene Linux utilizzi TCP per il traffico NFS per impostazione predefinita, l'aggiunta esplicita di tcp consente di garantire che il processo di montaggio utilizzi TCP anziché UDP. Ciò contribuisce a migliorare le prestazioni quando molti sistemi tentano di eseguire il montaggio contemporaneamente. Includi noatime per ridurre le operazioni sui metadati.
Profili di montaggio consigliati
I seguenti profili di montaggio forniscono opzioni consigliate in base ai requisiti di prestazioni, alle versioni del protocollo e alla scalabilità del client. Quando esegui
questi comandi, sostituisci VOLUME_IP e /export_path con i valori effettivi
delle istruzioni di montaggio nella Google Cloud console.
Profilo A: predefinito (console)
Esegui il comando di montaggio fornito nella Google Cloud console senza modifiche.
Profilo B: orientato alle prestazioni (singolo client Linux)
Esempio per NFSv3, allineato alla configurazione di test dei benchmark delle prestazioni:
sudo mount -t nfs -o hard,tcp,vers=3,rsize=262144,wsize=262144,nconnect=16 \ VOLUME_IP:/export_path /mnt/volume
I benchmark utilizzano nconnect=16 e rsize e wsize di 64 KiB. Molti carichi di lavoro funzionano bene con nconnect=8. Testa entrambi i valori.
Profilo C: NFSv4.1 con versione esplicita
sudo mount -t nfs -o vers=4.1,hard,rsize=262144,wsize=262144 \ VOLUME_IP:/export_path /mnt/volume
Per impedire il montaggio automatico di NFSv4.2 quando è abilitato sul volume, specifica vers=4.1. Per saperne di più, vedi Connettere i client NFS.
Profilo D: NFSv3 per le farm di calcolo
Se connetti un numero elevato di client a un volume (ad esempio centinaia), non utilizzare nconnect per evitare di esaurire le sessioni TCP disponibili sul volume.
sudo mount -t nfs -o vers=3,nolock,hard,tcp,rsize=262144,wsize=262144 \ VOLUME_IP:/export_path /mnt/volume
Persistenza in /etc/fstab
L'esempio seguente mostra una riga /etc/fstab per NFSv4.1:
VOLUME_IP:/export_path /mnt/volume nfs vers=4.1,hard,tcp,rsize=262144,wsize=262144,timeo=600,_netdev 0 0
Utilizza l'opzione _netdev in modo che il sistema attenda la rete prima del montaggio.
nconnect
L'opzione di montaggio nconnect consente di controllare il numero di connessioni TCP che il client NFS apre allo stesso endpoint di archiviazione, ovvero l'indirizzo IP del volume.
Ogni connessione gestisce più operazioni NFS contemporaneamente, fino a un limite impostato. L'aumento del numero di connessioni migliora la concorrenza e la velocità effettiva di I/O da un singolo client.
Consigli
Tieni presente i seguenti consigli quando configuri l'opzione di montaggio nconnect:
Testa
nconnect=8enconnect=16. Sono supportati valori fino a 16.Utilizza
nconnectsolo per i client dedicati ad alte prestazioni. Se molti client, ad esempio una farm di calcolo, si connettono allo stesso spazio di archiviazione, evita di utilizzarenconnect.Esegui la prima operazione di montaggio su un determinato IP del volume per impostare il valore
nconnectper quell'IP sul client. I montaggi successivi sullo stesso IP utilizzano lo stesso valore, anche se ne specificano uno diverso. Monta prima l'esportazione con il valorenconnectselezionato oppure utilizza la stessa opzione per tutti i montaggi su quell'IP.Tieni presente che l'impostazione di
nconnectper un IP del volume non influisce sui montaggi su un IP del volume diverso.Prima di utilizzare
nconnect, verifica che la tua distribuzione Linux lo supporti.
Per saperne di più sui limiti degli slot per connessione, vedi Concorrenza NFS di Linux.
rsize e wsize
Le opzioni di montaggio rsize e wsize impostano la dimensione massima del trasferimento per le operazioni di lettura e scrittura NFS. Se le ometti, il client e il server negoziano la dimensione più grande supportata da entrambi, ovvero fino a 1 MiB sui client Linux e NetApp Volumes.
Consigli
Tieni presente i seguenti consigli quando configuri le opzioni di montaggio rsize e wsize:
Testa
rsize=262144ewsize=262144(256 KiB) per regolare la velocità effettiva e la latenza per le applicazioni sensibili alla latenza.Utilizza valori superiori a 256 KiB con cautela perché possono aumentare la latenza o ridurre la velocità effettiva per alcuni carichi di lavoro; misura le prestazioni prima della distribuzione.
Utilizza
rsize=65536ewsize=65536(64 KiB) per i test NFSv3, poiché questi valori sono stati utilizzati nei benchmark delle prestazioni.
Tieni presente che queste impostazioni hanno un effetto minimo sui carichi di lavoro casuali, che in genere utilizzano dimensioni delle operazioni inferiori a rsize e wsize, mentre l'I/O sequenziale tramite la cache delle pagine spesso utilizza dimensioni delle operazioni fino a rsize e wsize.
L'opzione di montaggio rsize influisce sul comportamento di lettura anticipata. Per saperne di più, vedi
Lettura anticipata NFS di Linux.
Versione del protocollo
La tabella seguente elenca i valori dell'opzione vers e le versioni del protocollo corrispondenti:
| Opzione | Utilizzo |
|---|---|
vers=3 |
NFSv3 |
vers=4.1 |
NFSv4.1 |
vers=4.2 |
NFSv4.2 |
Se non imposti vers, il comando mount di Linux utilizza la versione NFS più elevata supportata dal client e dal volume. I volumi Flex Unified, Standard, Premium ed Extreme con NFSv4.1 abilitato supportano anche NFSv4.2. Puoi montare NFSv4.2 a meno che non specifichi vers=4.1.
Per saperne di più sul mapping delle identità NFSv4.1, su Kerberos e sugli ID numerici, vedi Connettere i client NFS.
hard, timeo e retrans
Le opzioni di montaggio hard, timeo e retrans gestiscono il comportamento del client e la logica di ripetizione del timeout quando si verificano problemi di connessione:
hard: riprova le richieste NFS finché non vanno a buon fine. Questa opzione è tipica per l'integrità dei dati sui carichi di lavoro di produzione.timeo: specifica il timeout in decimi di secondo prima di riprovare una richiesta. I carichi di lavoro orientati ai database spesso utilizzanotimeo=600(60 secondi).retrans: specifica il numero di tentativi. Google Cloud I valori predefiniti della console sono in genere sufficienti, a meno che i runbook non specifichino diversamente.
Opzione nolock NFSv3
Il blocco di avviso NFSv3 utilizza Network Lock Manager (NLM) e richiede
lato client rpc.statd e regole firewall per le porte di callback.
Se non utilizzi i blocchi di avviso, esegui il montaggio con nolock per evitare il traffico del gestore dei blocchi.
NFSv4.1 implementa il blocco nel protocollo sulla porta 2049; i client non hanno bisogno di regole di ingresso del gestore dei blocchi separate.
Per saperne di più sull'utilizzo dei blocchi di avviso con NFSv3 e sulle regole firewall per l'accesso ai volumi NFS, vedi Connettere i client NFS.
Cache e coerenza con nocto e actimeo
Il client NFS utilizza un modello di coerenza lasco. I timer della cache degli attributi determinano per quanto tempo il client considera attendibili i metadati di file e directory prima di contattare il server. La coerenza close-to-open predefinita (cto) aggiorna i dati dei file quando apri un file.
nocto: il client non impone la coerenza del server all'apertura. Ciò riduce le chiamategetattr, ma aumenta il rischio di dati obsoleti.actimeo=N: configura tutti i timer della cache degli attributi suNsecondi (acregmin,acregmax,acdirmin, eacdirmax).
Prendi in considerazione l'utilizzo di nocto e valori actimeo più elevati nei seguenti scenari:
Un singolo writer o consumer di sola lettura che ricevono aggiornamenti tramite un altro percorso.
Set di dati statici di grandi dimensioni, come librerie EDA, contenuti web o texture di rendering, se è accettabile una breve obsolescenza.
Nella maggior parte dei casi, utilizza i valori predefiniti di Linux consigliati per la memorizzazione nella cache degli attributi:
File regolari minimo e massimo:
acregmin=3secondi eacregmax=60secondiDirectory minimo e massimo:
acdirmin=30secondi eacdirmax=60secondi
La riduzione di questi valori aumenta il carico sul server NFS e può ridurre le prestazioni. Evita actimeo=0, tranne che per casi d'uso molto specifici in cui comprendi l'impatto.
Altre opzioni comuni
Per i client NFS sono disponibili le seguenti altre opzioni di montaggio comuni:
rworo: montaggio in lettura/scrittura o di sola lettura.noatime: non aggiornare l'ora di accesso in lettura, in quanto ciò riduce le operazioni sui metadati ed è una pratica consigliata.sec=sys: AUTH_SYS, ovvero il valore predefinito per le esportazioni non Kerberos._netdev: utilizza questa opzione infstabper eseguire il montaggio dopo che la rete è disponibile.