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.

Passaggi successivi