Dela via


Prestandapåverkan av Kerberos på Azure NetApp Files NFSv4.1-volymer

Azure NetApp Files stöder NFS-klientkryptering i Kerberos-lägen (krb5, krb5i och krb5p) med AES-256-kryptering. I den här artikeln beskrivs kerberos prestandapåverkan på NFSv4.1-volymer. Prestandajämförelser som refereras i den här artikeln görs mot sec=sys säkerhetsparametern och testas på en enda volym med en enda klient.

Tillgängliga säkerhetsalternativ

De säkerhetsalternativ som för närvarande är tillgängliga för NFSv4.1-volymer är följande:

  • sec=sys använder lokala UNIX-användargränssnitt och GID:er med hjälp av AUTH_SYS för att autentisera NFS-åtgärder.
  • sec=krb5 använder Kerberos V5 i stället för lokala UNIX-användargränssnitt och GID:er för att autentisera användare.
  • sec=krb5i använder Kerberos V5 för användarautentisering och utför integritetskontroll av NFS-åtgärder med hjälp av säkra kontrollsummor för att förhindra datamanipulering.
  • sec=krb5p använder Kerberos V5 för användarautentisering och integritetskontroll. Den krypterar NFS-trafik för att förhindra trafiksniffning. Det här alternativet är den säkraste inställningen, men det innebär också mest prestandakostnader.

Prestandavektorer testade

I det här avsnittet beskrivs prestandapåverkan på klientsidan för de olika sec=* alternativen.

  • Prestandapåverkan testades på två nivåer: låg samtidighet (låg belastning) och hög samtidighet (övre gränser för I/O och dataflöde).
  • Tre typer av arbetsbelastningar testades:
    • Slumpmässig läsning/skrivning av liten åtgärd (med FIO)
    • Stor åtgärd sekventiell läsning/skrivning (med FIO)
    • Hög arbetsbelastning för metadata som genereras av program som git

Förväntad prestandapåverkan

Det finns två fokusområden: ljus belastning och övre gräns. I följande listor beskrivs säkerhetsinställningen för prestandapåverkan efter säkerhetsinställning och scenario efter scenario.

Testomfång

  • Alla jämförelser görs mot sec=sys säkerhetsparametern.
  • Testet gjordes på en enda volym med hjälp av en enda klient.

Prestandapåverkan för krb5:

  • Genomsnittlig IOPS minskade med 53 %
  • Genomsnittligt dataflöde minskade med 53 %
  • Genomsnittlig svarstid ökade med 0,2 ms

Prestandapåverkan för krb5i:

  • Genomsnittlig IOPS minskade med 55 %
  • Genomsnittligt dataflöde minskade med 55 %
  • Genomsnittlig svarstid ökade med 0,6 ms

Prestandapåverkan för krb5p:

  • Genomsnittlig IOPS minskade med 77 %
  • Genomsnittligt dataflöde minskade med 77 %
  • Genomsnittlig svarstid ökade med 1,6 ms

Prestandaöverväganden med nconnect

Vi rekommenderar inte att du använder nconnect och sec=krb5* monterar alternativ tillsammans. Prestandaförsämring har observerats när du använder de två alternativen i kombination.

GSS-API (Generic Security Standard Application Programming Interface) är ett sätt för program att skydda data som skickas till peer-program. Dessa data kan skickas från en klient på en dator till en server på en annan dator. 

När nconnect används i Linux delas GSS-säkerhetskontexten nconnect mellan alla anslutningar till en viss server. TCP är en tillförlitlig transport som stöder paketleverans utan beställning för att hantera out-of-order-paket i en GSS-ström med hjälp av ett skjutfönster med sekvensnummer. När paket som inte finns i sekvensfönstret tas emot ignoreras säkerhetskontexten och en ny säkerhetskontext förhandlas. Alla meddelanden som skickas med i den nu borttagna kontexten är inte längre giltiga, vilket kräver att meddelandena skickas igen. Ett större antal paket i en nconnect konfiguration orsakar ofta utgående paket, vilket utlöser det beskrivna beteendet. Inga specifika försämringsprocent kan anges med det här beteendet.

Nästa steg