Amazon FSx for Lustre CSI 드라이버 튜닝하기

Amazon FSx for Lustre CSI 드라이버 튜닝하기 (비-EFA) (Amazon FSx for Lustre CSI driver tuning (non-EFA))

이 페이지는 EFA(Elastic Fabric Adapter)를 사용하지 않는 Amazon FSx for Lustre CSI 드라이버 설치를 위한 성능 튜닝 옵션을 설명해요. EFA 사용 시 튜닝은 Amazon FSx for Lustre CSI 드라이버 튜닝하기(EFA)를 참고하세요.

FSx for Lustre CSI 드라이버는 Kubernetes StorageClass 매개변수로 구성돼요. 튜닝은 StorageClass의 mountOptions 필드와 스토리지 accessPointType 매개변수를 통해 수행돼요.

출처: 문서

본문

지원되는 노드 유형

비-EFA 튜닝은 EFA가 활성화된 인스턴스 유형을 제외한 모든 Amazon EC2 인스턴스 유형에 적용돼요. 여기에는 일반 목적, 컴퓨팅 최적화, 메모리 최적화, 스토리지 최적화 인스턴스가 포함돼요. EFA를 지원하는 인스턴스는 EFA 전용 튜닝 지침을 사용해야 해요.

튜닝 매개변수

StorageClass의 mountOptions 필드를 사용해 다음 성능 관련 마운트 옵션을 제어할 수 있어요.

  • maxread – Lustre 클라이언트가 단일 읽기 작업으로 읽을 수 있는 최대 데이터 양을 설정해요. 값이 높을수록 대규모 순차 읽기 처리량이 개선될 수 있어요.
  • maxwrite – Lustre 클라이언트가 단일 쓰기 작업으로 쓸 수 있는 최대 데이터 양을 설정해요. 값이 높을수록 대규모 순차 쓰기 처리량이 개선될 수 있어요.
  • readahead – 애플리케이션이 순차적으로 접근할 것으로 예상되는 데이터를 사전에 읽어오는(read ahead) 크기를 제어해요. 이는 순차 읽기 성능을 크게 향상시킬 수 있어요.
  • max_intr – 마운트 작업이 중단될 수 있는지 여부를 제어해요. 네트워크 장애 시 마운트가 응답하지 않을 때 유용할 수 있어요.
  • noflock – 파일 잠금(flock)을 비활성화해 파일 잠금을 사용하지 않는 워크로드의 오버헤드를 줄일 수 있어요.
  • localflock – 분산 파일 잠금 대신 로컬 파일 잠금을 사용해 처리량을 개선할 수 있지만, 여러 클라이언트에서 파일에 접근할 때는 안전하지 않아요.

예시 StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fsx-lustre-tuned
provisioner: fsx.csi.aws.com
mountOptions:
  - maxread=67108864
  - maxwrite=67108864
  - readahead=67108864
  - max_intr
  - noflock
  - localflock

튜닝 고려 사항

  • 튜닝 값은 워크로드의 접근 패턴에 맞게 조정해야 해요. 순차 워크로드는 maxread, maxwrite, readahead를 더 높은 값으로 설정하는 것이 유리해요. 무작위 접근 워크로드는 더 낮은 값으로 더 잘 작동할 수 있어요.
  • localflock을 활성화하면 표준 Lustre 분산 잠금 대신 로컬 잠금을 사용하므로 다중 클라이언트 상황에는 적합하지 않아요.
  • noflock과 localflock은 함께 사용해서는 안 돼요. noflock은 잠금을 완전히 비활성화하고 localflock은 잠금을 로컬로 제한해요.
  • 튜닝을 변경하기 전에 클러스터의 프로덕션 워크로드를 테스트해 워크로드에 최적의 구성인지 확인하는 것을 권장해요.

더 알아보기 (Learn more)