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.