Impacto de desempenho da Kerberos nos volumes Azure NetApp Files NFSv4.1

Azure NetApp Files suporta a encriptação do cliente NFS nos modos Kerberos (krb5, krb5i e krb5p) com encriptação AES-256. Este artigo descreve o impacto de desempenho de Kerberos nos volumes NFSv4.1. As comparações de desempenho referenciadas neste artigo são feitas contra o parâmetro de sec=sys segurança, testando num único volume com um único cliente.

Opções de segurança disponíveis

As opções de segurança atualmente disponíveis para volumes NFSv4.1 são as seguintes:

  • sec=sys usa UIDs e GIDs locais unix usando AUTH_SYS para autenticar operações NFS.
  • sec=krb5 utiliza Kerberos V5 em vez de UIDs e GIDs locais unix para autenticar os utilizadores.
  • sec=krb5i utiliza Kerberos V5 para autenticação do utilizador e realiza verificação de integridade das operações NFS utilizando despesas de verificação seguras para evitar a adulteração de dados.
  • sec=krb5p utiliza Kerberos V5 para verificação de autenticação e integridade do utilizador. Encripta o tráfego da NFS para evitar o cheiro de trânsito. Esta opção é a configuração mais segura, mas também envolve a maior sobrecarga de desempenho.

Vetores de desempenho testados

Esta secção descreve o impacto de desempenho do lado único do cliente das várias sec=* opções.

  • O impacto do desempenho foi testado em dois níveis: baixa conusão (baixa carga) e alta concordância (limites superiores de I/S e produção).
  • Foram testados três tipos de cargas de trabalho:
    • Pequena operação leitura/escrita aleatória (usando FIO)
    • Leitura/escrita sequencial de grande operação (utilizando o FIO)
    • Metadados carga de trabalho pesada gerada por aplicações como git

Impacto de desempenho esperado

Existem duas áreas de foco: carga leve e limite superior. As listas que se seguem descrevem a definição de segurança do impacto de desempenho por definição de segurança e cenário por cenário.

Âmbito de teste

  • Todas as comparações são feitas com o parâmetro de sec=sys segurança.
  • O teste foi feito num único volume, usando um único cliente.

Impacto de desempenho do krb5:

  • IOPS médio diminuiu 53%
  • Produção média diminuiu 53%
  • Latência média aumentou 3,2 ms

Impacto de desempenho do krb5i:

  • IOPS médio diminuiu 55%
  • Produção média diminuiu 55%
  • Latência média aumentou 0,6 ms

Impacto de desempenho do krb5p:

  • IOPS médio diminuiu 77%
  • Produção média diminuiu 77%
  • Latência média aumentou 1,6 ms

Considerações de desempenho com nconnect

Não é aconselhável utilizar nconnect e sec=krb5* montar opções em conjunto. A degradação do desempenho foi observada ao utilizar as duas opções em combinação.

A Interface genérica de programação de aplicações standard de segurança (GSS-API) fornece uma forma de aplicações para proteger os dados enviados para aplicações de pares. Estes dados podem ser enviados de um cliente numa máquina para um servidor noutra máquina. 

Quando nconnect é utilizado no Linux, o contexto de segurança GSS é partilhado entre todas as nconnect ligações a um determinado servidor. O TCP é um transporte fiável que suporta a entrega de pacotes fora de encomenda para lidar com pacotes fora de encomenda num fluxo GSS, utilizando uma janela deslizante de números de sequência. Quando os pacotes que não estão na janela de sequência são recebidos, o contexto de segurança é descartado e um novo contexto de segurança é negociado. Todas as mensagens enviadas no contexto agora descartado deixaram de ser válidas, exigindo assim que as mensagens sejam enviadas novamente. Um maior número de pacotes numa nconnect configuração causa pacotes frequentes fora da janela, desencadeando o comportamento descrito. Não se podem indicar percentagens específicas de degradação com este comportamento.

Passos seguintes