Invloed van de prestaties van Kerberos op Azure NetApp Files NFSv4.1-volumes
Azure NetApp Files ondersteunt NFS-clientversleuteling in Kerberos-modi (krb5, krb5i en krb5p) met AES-256-versleuteling. In dit artikel worden de prestatie-impact van Kerberos op NFSv4.1-volumes beschreven. Prestatievergelijkingen waarnaar in dit artikel wordt verwezen, worden uitgevoerd op basis van de sec=sys
beveiligingsparameter en testen op één volume met één client.
Beschikbare beveiligingsopties
De beveiligingsopties die momenteel beschikbaar zijn voor NFSv4.1-volumes zijn als volgt:
- sec=sys maakt gebruik van lokale UNIX UID's en GID's met behulp van AUTH_SYS voor het verifiëren van NFS-bewerkingen.
- sec=krb5 maakt gebruik van Kerberos V5 in plaats van lokale UNIX UID's en GID's om gebruikers te verifiëren.
- sec=krb5i maakt gebruik van Kerberos V5 voor gebruikersverificatie en voert integriteitscontroles van NFS-bewerkingen uit met behulp van beveiligde controlesommen om manipulatie van gegevens te voorkomen.
- sec=krb5p maakt gebruik van Kerberos V5 voor verificatie en integriteitscontrole van gebruikers. Het versleutelt NFS-verkeer om te voorkomen dat verkeer sniffing. Deze optie is de veiligste instelling, maar er is ook sprake van de meeste overhead voor prestaties.
Geteste prestatievectoren
In deze sectie wordt de invloed van de prestaties aan de clientzijde van de verschillende sec=*
opties beschreven.
- De invloed van de prestaties is op twee niveaus getest: lage gelijktijdigheid (lage belasting) en hoge gelijktijdigheid (hogere limieten van I/O en doorvoer).
- Er zijn drie typen workloads getest:
- Kleine bewerking willekeurig lezen/schrijven (met FIO)
- Grote bewerking sequentiële lees-/schrijfbewerkingen (met FIO)
- Zware workload voor metagegevens, zoals gegenereerd door toepassingen zoals Git
Verwachte invloed op de prestaties
Er zijn twee aandachtsgebieden: lichte belasting en bovengrens. In de volgende lijsten wordt de beveiligingsinstelling voor de prestaties beschreven op basis van beveiligingsinstelling en scenario per scenario.
Testbereik
- Alle vergelijkingen worden gemaakt op basis van de
sec=sys
beveiligingsparameter. - De test is uitgevoerd op één volume met één client.
Invloed op de prestaties van krb5:
- Gemiddelde IOPS daalde met 53%
- De gemiddelde doorvoer is met 53% gedaald
- De gemiddelde latentie is met 0,2 ms toegenomen
Invloed van de prestaties van krb5i:
- Gemiddelde IOPS daalde met 55%
- De gemiddelde doorvoer is met 55% afgenomen
- De gemiddelde latentie is met 0,6 ms toegenomen
Invloed van de prestaties van krb5p:
- Gemiddelde IOPS daalde met 77%
- De gemiddelde doorvoer is met 77% gedaald
- De gemiddelde latentie is met 1,6 ms toegenomen
Prestatieoverwegingen met nconnect
Het wordt niet aanbevolen om opties samen te gebruiken nconnect
en sec=krb5*
te koppelen. Prestatievermindering is waargenomen bij het gebruik van de twee opties in combinatie.
De Generic Security Standard Application Programming Interface (GSS-API) biedt een manier voor toepassingen om gegevens te beveiligen die naar peertoepassingen worden verzonden. Deze gegevens kunnen vanaf een client op de ene computer naar een server op een andere computer worden verzonden.
Wanneer nconnect
wordt gebruikt in Linux, wordt de GSS-beveiligingscontext gedeeld tussen alle nconnect
verbindingen met een bepaalde server. TCP is een betrouwbaar transport dat ondersteuning biedt voor pakketlevering buiten bestelling om te gaan met out-of-order pakketten in een GSS-stroom, met behulp van een schuifvenster met reeksnummers. Wanneer pakketten niet in het reeksvenster worden ontvangen, wordt de beveiligingscontext verwijderd en wordt er onderhandeld over een nieuwe beveiligingscontext. Alle berichten die in de nu genegeerde context worden verzonden, zijn niet meer geldig, waardoor de berichten opnieuw moeten worden verzonden. Een groter aantal pakketten in een nconnect
installatie veroorzaakt frequente out-of-window pakketten, waardoor het beschreven gedrag wordt geactiveerd. Er kunnen geen specifieke degradatiepercentages worden vermeld met dit gedrag.