다음을 통해 공유


Azure NetApp Files NFSv4.1 볼륨에 대한 Kerberos의 성능 영향

Azure NetApp Files는 AES-256 암호화를 사용하는 Kerberos 모드(krb5, krb5i 및 krb5p)에서 NFS 클라이언트 암호화를 지원합니다. 이 문서에서는 Kerberos가 NFSv4.1 볼륨에 미치는 성능 영향에 대해 설명합니다. 이 문서에서 참조하는 성능 비교는 단일 클라이언트를 사용하여 단일 볼륨에서 테스트하는 sec=sys 보안 매개 변수에 대해 수행됩니다.

사용 가능한 보안 옵션

현재 NFSv4.1 볼륨에 사용할 수 있는 보안 옵션은 다음과 같습니다.

  • sec=sys는 AUTH_SYS로 NFS 작업을 인증하여 로컬 UNIX UID 및 GID를 사용합니다.
  • sec=krb5는 로컬 UNIX UID 및 GID 대신 Kerberos V5를 사용하여 사용자를 인증합니다.
  • sec=krb5i는 사용자 인증에 Kerberos V5를 사용하고 데이터 변조를 방지하기 위해 보안 체크섬을 사용하여 NFS 작업의 무결성 검사를 수행합니다.
  • sec=krb5p는 사용자 인증 및 무결성 검사에 Kerberos V5를 사용합니다. 트래픽 스니핑을 방지하기 위해 NFS 트래픽을 암호화합니다. 이 옵션은 가장 안전한 설정이지만 성능 오버헤드가 가장 많습니다.

테스트된 성능 벡터

이 섹션에서는 다양한 sec=* 옵션의 단일 클라이언트 쪽 성능 영향에 대해 설명합니다.

  • 성능 영향은 낮은 동시성(낮은 부하) 및 높은 동시성(I/O 및 처리량의 상한)의 두 가지 수준에서 테스트되었습니다.
  • 다음 세 가지 유형의 워크로드를 테스트했습니다.
    • 소규모 작업 임의 읽기/쓰기(FIO 사용)
    • 대규모 연산 순차 읽기/쓰기(FIO 사용)
    • git과 같은 애플리케이션에서 생성된 메타데이터 사용량이 많은 워크로드

예상 성능 영향

초점 영역에는 가벼운 부하와 상한의 두 가지가 있습니다. 다음 목록에서는 보안 설정 및 시나리오별 성능 영향 보안 설정에 대해 설명합니다.

테스트 범위

  • 모든 비교는 sec=sys 보안 매개 변수에 대해 이루어집니다.
  • 테스트는 단일 클라이언트를 사용하여 단일 볼륨에서 수행되었습니다.

krb5의 성능 영향:

  • 평균 IOPS 53% 감소
  • 평균 처리량 53% 감소
  • 평균 대기 시간 0.2ms 증가

krb5i의 성능 영향:

  • 평균 IOPS 55% 감소
  • 평균 처리량 55% 감소
  • 평균 대기 시간 0.6ms 증가

krb5p의 성능 영향:

  • 평균 IOPS 77% 감소
  • 평균 처리량 77% 감소
  • 평균 대기 시간 1.6ms 증가

nconnect를 사용한 성능 고려 사항

nconnectsec=krb5* 탑재 옵션을 함께 사용하는 것은 권장되지 않습니다. 두 옵션을 조합하여 사용할 때 성능 저하가 관찰되었습니다.

GSS-API(일반 보안 표준 애플리케이션 프로그래밍 인터페이스)는 애플리케이션이 피어 애플리케이션으로 전송된 데이터를 보호할 수 있는 방법을 제공합니다. 이 데이터는 한 컴퓨터의 클라이언트에서 다른 컴퓨터의 서버로 전송될 수 있습니다. 

nconnect가 Linux에서 사용되는 경우 GSS 보안 컨텍스트는 특정 서버에 대한 모든 nconnect 연결 간에 공유됩니다. TCP는 시퀀스 번호의 슬라이딩 윈도우를 사용하여 GSS 스트림에서 비순차적 패킷을 처리하기 위해 비순차적 패킷 배달을 지원하는 신뢰할 수 있는 전송입니다. 시퀀스 창에 없는 패킷이 수신되면 보안 컨텍스트가 삭제되고 새 보안 컨텍스트가 협상됩니다. 이제 폐기된 컨텍스트에서 보낸 모든 메시지는 더 이상 유효하지 않으므로 메시지를 다시 보내야 합니다. nconnect 설정에서 더 많은 수의 패킷으로 인해 빈번한 out-of-window 패킷이 발생하여 설명된 동작을 트리거합니다. 이 동작에 대해 특정 성능 저하 비율을 명시할 수 없습니다.

다음 단계