Google Cloud Hyperdisk는 GKE에서 제공되는 네트워크 블록 스토리지 옵션입니다. 다른 Compute Engine Persistent Disk 볼륨과 유사한 방식으로 GKE 클러스터에서 이 스토리지 옵션을 사용하여 강화된 유연성으로 워크로드의 성능을 조정할 수 있습니다. Persistent Disk 스토리지와 비교할 때 Hyperdisk는 초당 더 높은 최대 입출력 작업 수(IOPS) 및 처리량을 제공합니다. Hyperdisk에서 노드에 연결된 모든 볼륨 간에 성능이 공유되는 Persistent Disk 볼륨과 달리 각 Hyperdisk 볼륨의 성능 수준을 지정하고 조정할 수 있습니다.
GKE에서 다음 하이퍼디스크 옵션 중에서 선택할 수 있습니다.
스토리지 옵션 | GKE 작업 모드 | 설명 |
---|---|---|
하이퍼디스크 균형 | Autopilot Standard |
대부분의 워크로드에 가장 적합합니다. 이는 데이터베이스 및 웹 서버는 물론 대부분의 기업 및 비즈니스 라인 앱을 배포하는 데 적합한 옵션입니다. |
하이퍼디스크 처리량 | Autopilot Standard |
비용 효율적인 높은 처리량에 최적화되어 있습니다. 이는 사용 사례가 수평 확장 분석(예: Hadoop 또는 Kafka)과 처리량 기준의 비용에 민감한 워크로드를 대상으로 하는 경우에 적합한 옵션입니다. |
하이퍼디스크 익스트림 | Autopilot Standard |
IOPS 성능에 최적화되어 있습니다. 이는 데이터베이스 관리 시스템과 같은 고성능 워크로드를 배포하는 경우에 적합한 옵션입니다. |
Hyperdisk ML | Autopilot Standard |
모델 가중치를 빠르게 로드해야 하는 AI/ML 학습 및 추론 워크로드에 최적화되어 있습니다. 최대 읽기 처리량 요구사항이 높은 AI/ML 워크로드에 이 옵션을 사용합니다. 이는 데이터를 로드할 때 GPU/TPU 리소스의 유휴 상태를 줄이는 가장 좋은 옵션입니다. |
이점
- Hyperdisk를 사용하면 배포하는 스테이트풀(Stateful) 워크로드에 대해 보다 예측 가능한 성능을 얻을 수 있습니다.
- 하이퍼디스크를 사용하면 복잡하고 비용이 높은 온프레미스 스토리지 영역 네트워크(SAN) 관리 없이도 GKE에서 스테이트풀(Stateful) 워크로드를 프로비저닝, 관리, 확장할 수 있습니다.
- 하이퍼디스크 스토리지 용량은 파티션으로 나눠지며, GKE 노드에 개별 볼륨으로 제공됩니다. 하이퍼디스크 볼륨은 노드와 분리되어 있으므로 노드 간에 볼륨을 연결, 분리, 이동할 수 있습니다. 하이퍼디스크 볼륨에 저장된 데이터는 노드 재부팅 및 삭제 시 유지됩니다. 단일 GKE 노드에 여러 개의 하이퍼디스크 볼륨을 추가할 수도 있습니다.
가격 책정
Hyperdisk 볼륨을 삭제할 때까지 총 프로비저닝된 용량에 대한 요금이 청구됩니다. 매월 GiB당 요금이 청구됩니다. 또한 다음 항목에 대한 요금이 청구됩니다.
- 하이퍼디스크 균형(미리보기)은 기준값 3,000 IOPS 및 140MiBps 처리량을 초과하는 프로비저닝된 IOPS 및 프로비저닝된 처리량(MiBps)에 대한 월간 요금을 청구합니다.
- 하이퍼디스크 익스트림은 프로비저닝된 IOPS를 기준으로 월간 요금을 청구합니다.
- 하이퍼디스크 처리량은 프로비저닝된 처리량(MiBps)을 기준으로 월간 요금을 청구합니다.
가격 정보는 Compute Engine 문서에서 디스크 가격 책정을 참조하세요.
제한사항
- 볼륨을 만든 후에는 Compute Engine API를 통해서만 다음 설정을 수정할 수 있습니다.
- 처리량: 하이퍼디스크 처리량 및 하이퍼디스크 밸런스드 볼륨
- IOPS: 하이퍼디스크 익스트림 및 하이퍼디스크 밸런스드 볼륨
- 하이퍼디스크 볼륨은 특정 인스턴스 유형에만 연결할 수 있습니다. 읽기 전용 연결은 지원되지 않습니다.
- Hyperdisk ML 관련 제한사항:
- Hyperdisk ML을 부팅 디스크로 사용할 수 없습니다.
- 멀티 작성자 모드에서는 Hyperdisk ML을 사용할 수 없습니다.
- Hyperdisk ML은 스토리지 풀을 지원하지 않습니다.
- 자세한 내용은 Compute Engine 문서의 제한 및 한도 섹션을 참조하세요.
하이퍼디스크 및 Autopilot 컴퓨팅 클래스
컴퓨팅 클래스를 사용하는 Autopilot 클러스터에서 하이퍼디스크를 사용하려면 노드의 머신 유형이 하이퍼디스크에서 지원되고 컴퓨팅 클래스에서 지원되는지 확인합니다.
다음 예시에서는 하이퍼디스크 밸런스드를 사용할 때 성능 컴퓨팅 클래스로 Autopilot 클러스터에서 포드 예약을 제어하기 위해 nodeSelector
속성을 지정하는 방법을 보여줍니다.
cloud.google.com/compute-class: "Performance"
cloud.google.com/machine-famility: "c3"
자세한 내용은 Autopilot 포드의 컴퓨팅 클래스 선택을 참조하세요.
Hyperdisk 볼륨의 성능 수준 계획
Hyperdisk 볼륨의 성능 수준을 계획하려면 다음 고려사항을 사용하세요.
하이퍼디스크 균형
하이퍼디스크 밸런스드를 사용하면 처리량 및 IOPS와 별도로 용량을 프로비저닝할 수 있습니다. 처리량 또는 IOPS를 프로비저닝하려면 지정된 볼륨의 수준을 선택합니다. 각 볼륨의 처리량은 완전히 격리됩니다. 각 볼륨은 해당 볼륨에 지정된 모든 처리량 또는 IOPS 용량을 사용할 수 있습니다. 하지만 처리량이나 IOPS는 볼륨이 연결된 VM 인스턴스의 인스턴스당 한도에 따라 제한됩니다. 이러한 한도에 대한 자세한 내용은 Compute Engine 문서의 Google Cloud Hyperdisk 정보를 참조하세요.
읽기 및 쓰기 작업은 모두 하이퍼디스크 밸런스드 볼륨에 대해 프로비저닝된 처리량 및 IOPS 한도에 포함됩니다. 프로비저닝된 처리량 또는 IOPS와 최대 한도는 결합된 읽기 및 쓰기 작업을 합한 총계에 모두 적용됩니다.
하나 이상의 하이퍼디스크 볼륨에 대해 프로비저닝된 총 처리량 또는 IOPS가 VM 인스턴스 수준에서 사용 가능한 총 처리량 또는 IOPS를 초과하면 성능이 인스턴스 성능 수준으로 제한됩니다.
하이퍼디스크 처리량
Hyperdisk Throughput을 사용하면 처리량과 별도로 용량을 프로비저닝할 수 있습니다. 처리량을 프로비저닝하려면 지정된 볼륨의 수준을 선택합니다. 각 볼륨의 처리량은 완전히 격리됩니다. 각 볼륨에는 프로비저닝된 처리량이 있습니다. 하지만 처리량은 볼륨이 연결된 VM 인스턴스의 인스턴스당 한도로 제한됩니다. 이러한 한도에 대한 자세한 내용은 Compute Engine 문서의 Google Cloud Hyperdisk 정보를 참조하세요.
읽기 및 쓰기 작업은 모두 Hyperdisk Throughput 볼륨에 대해 프로비저닝된 처리량 한도에 포함됩니다. 프로비저닝된 처리량과 최대 한도는 결합된 읽기 및 쓰기 처리량을 합한 총계에 모두 적용됩니다.
StorageClass를 정의할 때 Hyperdisk Throughput 볼륨에 프로비저닝된 처리량은 다음 규칙을 따라야 합니다.
- 머신 유형에 따라 용량(TiB)당 10MiBps 이상, 용량(TiB)당 90MiBps 이하
- 머신 유형에 따라 볼륨당 최대 600MiBps
하나 이상의 Hyperdisk Throughput에 대해 프로비저닝된 총 처리량이 VM 인스턴스 수준에서 사용 가능한 총 처리량을 초과하면 처리량이 인스턴스 처리량 수준으로 제한됩니다.
하이퍼디스크 익스트림
하이퍼디스크 익스트림을 사용하면 IOPS 수준과 별도로 용량을 프로비저닝할 수 있습니다. IOPS 수준을 프로비저닝하려면 지정된 볼륨의 IOPS 한도를 지정합니다. 각 볼륨의 IOPS 수준은 완전히 격리됩니다. 각 볼륨에는 프로비저닝된 IOPS 수준이 있습니다. 하지만 IOPS는 볼륨이 연결된 VM 인스턴스의 인스턴스당 한도로 제한됩니다. 이러한 한도에 대한 자세한 내용은 Compute Engine 문서의 Google Cloud Hyperdisk 정보를 참조하세요.
읽기 및 쓰기 작업은 모두 하이퍼디스크 익스트림 볼륨에 프로비저닝된 IOPS 한도에 포함됩니다. 프로비저닝된 IOPS와 이 문서에 나열된 최대 한도는 읽기 및 쓰기 IOPS의 합계에 적용됩니다.
StorageClass를 정의할 때 하이퍼디스크 익스트림 볼륨에 프로비저닝된 IOPS는 머신 유형에 따라 350,000 IOPS 이하여야 합니다.
하나 이상의 Hyperdisk Extreme 볼륨에 프로비저닝된 총 IOPS가 VM 인스턴스 수준에서 사용 가능한 총 IOPS를 초과하면 성능이 인스턴스 IOPS 수준으로 제한됩니다. IOPS를 동시에 요청하는 동일한 VM에 여러 개의 Hyperdisk 및 Persistent Disk 볼륨이 있고 VM 제한에 도달한 경우, 각 볼륨은 연결된 모든 Hyperdisk Extreme 볼륨에서 프로비저닝된 총 IOPS에서 차지하는 몫에 비례하는 IOPS 수준을 가집니다.
Hyperdisk ML
Hyperdisk ML을 사용하면 성능과 별도로 용량을 프로비저닝할 수 있습니다. 성능을 프로비저닝하려면 지정된 볼륨의 처리량 수준을 선택합니다. 각 볼륨의 성능은 완전히 격리됩니다. 각 볼륨에는 프로비저닝된 성능이 있습니다.
볼륨 하나가 인스턴스 여러 개에 연결되면 프로비저닝된 처리량이 인스턴스 간에 동적으로 분산됩니다. 하지만 처리량은 볼륨이 연결된 VM 인스턴스의 인스턴스당 한도로 제한됩니다.
READ-WRITE-SINGLE
모드인 경우 읽기 및 쓰기 작업 모두 Hyperdisk ML 볼륨에 프로비저닝된 처리량 한도에 포함됩니다. 프로비저닝된 처리량과 최대 한도는 총 읽기 및 쓰기 처리량에 모두 적용됩니다.
Hyperdisk ML 볼륨에 프로비저닝된 처리량은 다음 규칙을 따라야 합니다.
- 최솟값: (0.12MBps * 디스크 크기)(GiB 단위) 또는 400MBps 중 더 큰 값입니다.
- 최댓값: 1.2TBps 미만의 (1,600MBps * 디스크 크기)(GiB 단위) 값입니다.
- 볼륨이
READ-ONLY-MANY
모드에서 20개를 초과하는 인스턴스에 연결된 경우 처리량 값은 최소한 100MBps * 연결된 인스턴스 수 이상이어야 합니다.
Hyperdisk ML 볼륨 하나 이상에 프로비저닝된 총 처리량이 인스턴스 수준에서 사용 가능한 총 처리량을 초과하면 성능은 인스턴스 수준 성능으로 제한됩니다.
다음 단계
- 하이퍼디스크 밸런스드, 처리량 또는 익스트림의 스토리지 클래스 만들기
- Hyperdisk ML용 스토리지 클래스 만들기
- Persistent Disk 볼륨을 Hyperdisk로 마이그레이션하는 방법 알아보기
- GKE에서 Hyperdisk를 사용하여 스토리지 성능 확장