Impatto sulle prestazioni di Kerberos nei volumi NFSv4.1 di Azure NetApp Files
Azure NetApp Files supporta la crittografia client NFS in modalità Kerberos (krb5, krb5i e krb5p) con crittografia AES-256. Questo articolo descrive l'impatto sulle prestazioni di Kerberos nei volumi NFSv4.1. I confronti delle prestazioni a cui si fa riferimento in questo articolo vengono eseguiti con il sec=sys
parametro di sicurezza, eseguendo test su un singolo volume con un singolo client.
Opzioni di sicurezza disponibili
Le opzioni di sicurezza attualmente disponibili per i volumi NFSv4.1 sono le seguenti:
- sec=sys usa ID e GID UNIX locali usando AUTH_SYS per autenticare le operazioni NFS.
- sec=krb5 usa Kerberos V5 invece di ID e GID UNIX locali per autenticare gli utenti.
- sec=krb5i usa Kerberos V5 per l'autenticazione utente ed esegue il controllo dell'integrità delle operazioni NFS usando checksum sicuri per evitare manomissioni dei dati.
- sec=krb5p usa Kerberos V5 per il controllo dell'integrità e dell'autenticazione utente. Crittografa il traffico NFS per impedire l'analisi del traffico. Questa opzione è l'impostazione più sicura, ma comporta anche il sovraccarico delle prestazioni più alto.
Vettori di prestazioni testati
Questa sezione descrive l'impatto delle prestazioni lato client singolo delle varie sec=*
opzioni.
- L'impatto sulle prestazioni è stato testato a due livelli: concorrenza bassa (basso carico) e concorrenza elevata (limiti superiori di I/O e velocità effettiva).
- Sono stati testati tre tipi di carichi di lavoro:
- Operazione di piccole dimensioni di lettura/scrittura casuale (con FIO)
- Operazione di grandi dimensioni in lettura/scrittura sequenziale (tramite FIO)
- Carico di lavoro elevato dei metadati generato da applicazioni come Git
Impatto previsto sulle prestazioni
Ci sono due aree di messa a fuoco: carico leggero e limite superiore. Gli elenchi seguenti descrivono l'impostazione di sicurezza a impatto sulle prestazioni impostando l'impostazione di sicurezza e lo scenario in base allo scenario.
Ambito di test
- Tutti i confronti vengono eseguiti con il
sec=sys
parametro di sicurezza. - Il test è stato eseguito su un singolo volume, usando un singolo client.
Impatto sulle prestazioni di krb5:
- Le operazioni di I/O al secondo medio sono diminuite del 53%
- La velocità effettiva media è diminuita del 53%
- Latenza media aumentata di 0,2 ms
Impatto sulle prestazioni di krb5i:
- Le operazioni di I/O al secondo medio sono diminuite del 55%
- La velocità effettiva media è diminuita del 55%
- Latenza media aumentata di 0,6 ms
Impatto sulle prestazioni di krb5p:
- Le operazioni di I/O al secondo medio sono diminuite del 77%
- La velocità effettiva media è diminuita del 77%
- Latenza media aumentata di 1,6 ms
Considerazioni sulle prestazioni con nconnect
Non è consigliabile usare nconnect
e sec=krb5*
montare insieme le opzioni. La riduzione delle prestazioni è stata osservata quando si usano le due opzioni in combinazione.
L'API GSS (Generic Security Standard Application Programming Interface) consente alle applicazioni di proteggere i dati inviati alle applicazioni peer. Questi dati potrebbero essere inviati da un client in un computer a un server in un altro computer.
Quando nconnect
viene usato in Linux, il contesto di sicurezza GSS viene condiviso tra tutte le nconnect
connessioni a un determinato server. TCP è un trasporto affidabile che supporta la distribuzione di pacchetti non ordinati per gestire i pacchetti non ordinati in un flusso GSS, usando una finestra scorrevole di numeri di sequenza. Quando i pacchetti non presenti nella finestra di sequenza vengono ricevuti, il contesto di sicurezza viene rimosso e viene negoziato un nuovo contesto di sicurezza. Tutti i messaggi inviati con nel contesto ora rimosso non sono più validi, quindi richiedono di nuovo l'invio dei messaggi. Un numero maggiore di pacchetti in un'installazione nconnect
causa pacchetti out-of-window frequenti, attivando il comportamento descritto. Con questo comportamento non è possibile dichiarare percentuali di riduzione specifiche.