A Kerberos teljesítményre gyakorolt hatása az Azure NetApp Files NFSv4.1-kötetekre

Az Azure NetApp Files támogatja az NFS-ügyféltitkosítást Kerberos módban (krb5, krb5i és krb5p) AES-256 titkosítással. Ez a cikk a Kerberos NFSv4.1 kötetekre gyakorolt teljesítményét ismerteti. A cikkben hivatkozott teljesítmény-összehasonlítások a sec=sys biztonsági paraméteren alapulnak, és egyetlen köteten tesztelnek egyetlen ügyféllel.

Elérhető biztonsági beállítások

Az NFSv4.1 kötetekhez jelenleg elérhető biztonsági beállítások a következők:

  • a sec=sys helyi UNIX-felhasználói felületeket és GID-ket használ az NFS-műveletek hitelesítéséhez AUTH_SYS használatával.
  • a sec=krb5 a helyi UNIX-azonosítók és GID-k helyett Kerberos V5-öt használ a felhasználók hitelesítéséhez.
  • a sec=krb5i a Kerberos V5-öt használja a felhasználói hitelesítéshez, és biztonságos ellenőrzőösszegekkel végzi el az NFS-műveletek integritás-ellenőrzését az adatok illetéktelen illetéktelen felhasználásának megakadályozása érdekében.
  • a sec=krb5p a Kerberos V5-öt használja a felhasználói hitelesítéshez és az integritás ellenőrzéséhez. Titkosítja az NFS-forgalmat, hogy megakadályozza a forgalom sniffingjét. Ez a beállítás a legbiztonságosabb beállítás, de a legnagyobb teljesítményterhelést is magában foglalja.

Tesztelt teljesítményvektorok

Ez a szakasz a különböző sec=* lehetőségek egyetlen ügyféloldali teljesítményhatását ismerteti.

  • A teljesítményre gyakorolt hatást két szinten tesztelték: alacsony egyidejűség (alacsony terhelés) és magas egyidejűség (az I/O felső határértékei és az átviteli sebesség).
  • A számítási feladatok három típusát teszteltük:
    • Kis művelet véletlenszerű olvasás/írás (FIO használatával)
    • Nagy művelet szekvenciális olvasása/írása (FIO használatával)
    • Olyan alkalmazások által létrehozott metaadatok, mint a git

Várható teljesítményhatás

A fókusznak két területe van: a könnyű terhelés és a felső határ. Az alábbi listák biztonsági beállítások és forgatókönyvek szerint ismertetik a teljesítményre gyakorolt hatást.

Tesztelési hatókör

  • Minden összehasonlítás a sec=sys biztonsági paraméterrel történik.
  • A teszt egyetlen köteten, egyetlen ügyfél használatával történt.

A krb5 teljesítményre gyakorolt hatása:

  • Az átlagos IOPS 53%-kal csökkent
  • Az átlagos átviteli sebesség 53%-kal csökkent
  • Az átlagos késés 0,2 ms-tal nőtt

A krb5i teljesítményre gyakorolt hatása:

  • Az átlagos IOPS 55%-kal csökkent
  • Az átlagos átviteli sebesség 55%-kal csökkent
  • Az átlagos késés 0,6 ms-kal nőtt

A krb5p teljesítményre gyakorolt hatása:

  • Az átlagos IOPS 77%-kal csökkent
  • Az átlagos átviteli sebesség 77%-kal csökkent
  • Az átlagos késés 1,6 ms-kal nőtt

Teljesítménnyel kapcsolatos szempontok nconnect

Nem ajánlott a beállítások együttes használata nconnect és sec=krb5* csatlakoztatása. A teljesítménycsökkenést a két lehetőség együttes használata esetén figyelték meg.

Az általános biztonsági standard alkalmazásprogramozási felület (GSS-API) lehetővé teszi az alkalmazások számára a társalkalmazásoknak küldött adatok védelmét. Ezek az adatok elküldhetők az egyik gépen lévő ügyfélről egy másik gépen lévő kiszolgálóra. 

Linux nconnect esetén a GSS biztonsági környezete meg van osztva az nconnect adott kiszolgálóval létesített összes kapcsolat között. A TCP egy megbízható átvitel, amely támogatja a rendelésen kívüli csomagkézbesítést a GSS-adatfolyamban lévő, rendelésen kívüli csomagok kezeléséhez a sorszámokat tartalmazó tolóablak használatával. Ha a rendszer nem a sorrendablakban lévő csomagokat fogadja, a rendszer elveti a biztonsági környezetet, és egy új biztonsági környezetet tárgyal. A most elvetett környezetben küldött összes üzenet már nem érvényes, ezért az üzeneteket ismét el kell küldeni. A beállításban lévő nconnect csomagok nagyobb száma gyakori, ablakon kívüli csomagokat okoz, ami aktiválja a leírt viselkedést. Ezzel a viselkedéssel nem határozható meg konkrét csökkenési százalékérték.

Következő lépések