Google Distributed Cloud (GDC) 에어 갭 적용형은 까다로운 워크로드를 위해 설계된 고성능 스토리지 티어를 제공합니다. 이 등급은 GB당 최대 30IOPS의 성능을 제공하며, 이는 GB당 최대 3IOPS를 제공하는 표준 블록 스토리지 등급에 비해 증가한 수치입니다. 이 문서에서는 고성능 블록 스토리지를 사용 설정하는 방법과 관련 측정항목, 알림, 결제 세부정보를 모니터링하는 방법을 설명합니다. 이 가이드는 플랫폼 관리자 그룹 (예: IT 관리자) 또는 애플리케이션 운영자 그룹 (예: 애플리케이션 개발자)의 사용자를 대상으로 합니다.
Kubernetes 클러스터에서 performance-rwo 고성능 스토리지 클래스를 사용할 수 있습니다.
고성능 SKU가 추가됨에 따라 performance-* 스토리지 클래스를 사용하는 볼륨의 경우 볼륨 스냅샷 및 복원 프로세스가 standard-* 스토리지 클래스의 경우와 유사합니다. 스토리지 클래스나 기본 표준 품질 (QoS) 값을 변경하지 않고 볼륨 스냅샷을 만들어 유사한 PVC를 복원할 수 있습니다. performance volumesnapshotclass는 볼륨 유형을 캡처하며 이 volumesnapshot를 사용하여 동일한 스토리지 클래스로 볼륨을 복원할 수 있습니다.
시작하기 전에
시작하기 전에 다음 기본 요건을 충족하는지 확인하세요.
GDC 환경 및 버전
- 버전 1.15.1 이상으로 업그레이드된 실행 중인 GDC 인스턴스
프로젝트
- 고성능 볼륨을 프로비저닝하려는 조직 내의 GDC 프로젝트입니다.
액세스 및 권한
- 대상 프로젝트 네임스페이스 내 컨테이너 워크로드용 PersistentVolumeClaim (PVC) 리소스 또는 가상 머신용
VirtualMachineDisk리소스를 만들고 관리하고 사용할 수 있는 충분한 Kubernetes 권한 필요한 일반적인 역할은 다음과 같습니다.project-vm-admin를 사용하여 VM 및 VM 디스크를 관리합니다.- PVC 관리를 허용하는 역할로, 편집 또는 맞춤 역할에 포함되는 경우가 많습니다.
- 엔드 사용자가 프로젝트의 클러스터에서 고성능 스토리지 클래스를 이미 사용할 수 있는 경우 일반적으로 스토리지를 사용하기 위해 특별한 조직 수준 역할이 필요하지 않습니다. 이러한 클래스의 설정 및 노출은 인프라 운영자 (IO) 또는 PA의 책임입니다.
- 대상 프로젝트 네임스페이스 내 컨테이너 워크로드용 PersistentVolumeClaim (PVC) 리소스 또는 가상 머신용
스토리지 클래스 이해
- Kubernetes
StorageClass객체 개념에 대한 이해 고성능 티어는 특정 스토리지 클래스를 통해 노출됩니다. - PVC 또는 가상 머신 디스크를 만들 때 고성능 스토리지 클래스를 지정해야 합니다.
- Kubernetes
용량 및 할당량
- 조직과 프로젝트에 고성능 계층에 할당된 스토리지 할당량이 충분한지 확인합니다.
- 특정 GDC 환경 및 하드웨어의 용량 제한 또는 성능 가드레일을 파악합니다.
필요한 클러스터에 subcomponentOverride 적용
기본적으로 고성능 SKU의 FeatureGate는 State: TEST로 설정됩니다. performance-* 스토리지 클래스를 사용 설정하려면 플랫폼 관리자 (PA) 또는 애플리케이션 운영자 (AO)가 기본 value보다 높은 FileHighPerformanceStorageClassStage 값을 사용하여 필수 클러스터에 subcomponentOverride를 적용해야 합니다. 다음 예시에서는 production의 더 높은 값을 사용합니다.
apiVersion: lcm.private.gdc.goog/v1
kind: SubcomponentOverride
metadata:
name: file-common
namespace: NAMESPACE
spec:
features:
operableParameters:
FileHighPerformanceStorageClassStage: production
subComponentRef: file-common
SubcomponentOverride의 네임스페이스는 플래그가 설정될 클러스터 네임스페이스 (예: cluster-1)를 지정합니다. NAMESPACE을 클러스터의 해당 네임스페이스로 바꾸고 SubcomponentOverride 파일을 만듭니다. 다음 명령어를 사용하여 이 변경사항을 적용합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG_PATH apply -f SUBOVERRIDE_USER_FILE
다음을 바꿉니다.
MANAGEMENT_API_SERVER_KUBECONFIG_PATH: 관리 API 서버 클러스터 kubeconfig 파일의 경로입니다.SUBOVERRIDE_USER_FILE: Kubernetes 클러스터의SubcomponentOverrideYAML 파일 경로
Kubernetes 클러스터에 고성능 SKU를 사용 설정하려면 관리 API 서버 클러스터에 subcomponentOverride를 적용합니다.
고성능 측정항목 및 알림 모니터링
고성능 스토리지에는 QOSPolicy 세부정보와 같은 추가 측정항목도 포함됩니다. 이 기능을 사용하면 ONTAP의 QOSPolicy에 따라 측정항목을 필터링하고 집계할 수 있으므로 고성능 볼륨과 표준 볼륨을 구분할 수 있습니다.
측정항목 관찰
파일 모니터링 가능성 스택에는 다음 고성능 측정항목이 제공됩니다.
metering_storage_allocated_capacity_bytesmetering_storage_used_capacity_bytes
이 두 측정항목은 모두 ONTAP의 qos_policy 정보로 보강되었습니다.
대시보드 관찰
이전 측정항목 개선사항을 기반으로 표준 스토리지와 고성능 스토리지 모두에서 알림을 사용할 수 있으므로 성능 클래스를 기반으로 타겟팅된 모니터링과 더 빠른 문제 감지가 가능합니다. 이 데이터를 시각화하기 위해 고성능 볼륨의 성능과 사용량에 대한 통계를 제공하는 강화된 측정항목을 사용하는 고성능 대시보드를 사용할 수 있습니다.
이러한 대시보드를 보려면 Grafana에 액세스하여 대시보드> 파일 및 대시보드> 파일/ONTAP으로 이동합니다.
다음과 같은 고성능 대시보드를 사용할 수 있습니다.
- 조직 파일 블록 스토리지 성능 균형 대시보드
- FILE/ONTAP 대시보드는 Harvest 데이터를 스크랩하는 대시보드입니다. 이를 통해 Grafana에서 직접 ONTAP 성능을 모니터링할 수 있습니다.
알림 관찰
측정항목 및 대시보드와 함께 실적과 관련된 알림도 제공됩니다. 이러한 알림은 스토리지의 문제를 감지하고 알림을 해결하는 데 도움이 되는 안내가 포함된 런북으로 사용자를 안내합니다. 알림이 발생하면 서비스 매뉴얼에서 볼 수 있는 런북 코드가 알림에 제공됩니다. PA는 다음 런북을 따라 알림을 해결해야 합니다. 이러한 알림은 Grafana의 infra-obs > file-block-storage-perf-monitoring-rules로 이동하여 Alert Rules 섹션에서 확인할 수 있습니다.
다음과 같은 고성능 알림을 사용할 수 있습니다.
fb_high_org_volume_latency및fb_high_org_avg_volume_latency를 사용하여 조직 및 개인의 평균 볼륨 지연 시간을 각각 추적합니다.fb_storage_node_too_busy를 사용하여 노드의 CPU 사용량을 추적하고 CPU 사용량이 너무 높으면 알림을 보냅니다.fb_current_ops_higher_than_expected: 현재 노드의 작업 수가 예상보다 많은 경우 알림을 표시합니다.
고성능 결제 쿼리
고성능 블록 스토리지의 SKU는 C008-4FF2-45E7입니다. 이 SKU의 청구는 다음 Prometheus 쿼리를 사용하여 이루어집니다.
sum_over_time(metering_storage_allocated_capacity_bytes{sku_id='c008-4ff2-45e7'}[{{.RangeHalfOpen}}:1m]) / 2^30 / 60 / {{.Hours}}
metering_storage_allocated_capacity_bytes를 사용하면 실제 사용 바이트가 아닌 할당된 바이트에 따라 요금이 청구됩니다.
볼륨의 스토리지 클래스와 QoS 정책은 처음 프로비저닝될 때 설정됩니다. QoS 정책은 ONTAP에서 직접 변경할 수 있는 변수이므로 qos_policy을 기반으로 측정항목에서 sku_id을 설정한 다음 sku_id별로 청구합니다.
워크플로 예시
다양한 유형의 볼륨 선언을 통해 워크플로에서 고성능 SKU를 사용할 수 있습니다. 궁극적으로 기본 메커니즘은 performance-* 지원 PVC와 같이 동일하게 유지됩니다. 다음 예에서는 새 볼륨 계층을 만드는 다양한 방법을 보여줍니다.
정확한 performance-* 스토리지 클래스 이름을 참조하여 다음 YAML 구성을 적절한 클러스터에 적용합니다.
고성능 PVC 및 포드 마운트:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: PVC_NAME
spec:
storageClassName: performance-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: v1
kind: Pod
metadata:
name: POD_NAME
spec:
volumes:
- name: VOLUME_NAME
persistentVolumeClaim:
claimName: PVC_NAME
containers:
- name: CONTAINER_NAME
image: gcr.io/GKE_RELEASE/asm/proxyv2:1.23.6-asm.14
ports:
- containerPort: 80
volumeMounts:
- name: VOLUME_NAME
mountPath: "/data"
고성능 VM 디스크 및 VM:
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: BOOT_DISK_NAME
namespace: NAMESPACE
spec:
source:
image:
name: ubuntu-24.04-v20250809-gdch
namespace: vm-system
size: 25Gi
type: Performance
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachineDisk
metadata:
name: DATA_DISK_NAME
namespace: NAMESPACE
spec:
size: 2Gi
type: Performance
---
apiVersion: virtualmachine.gdc.goog/v1
kind: VirtualMachine
metadata:
name: VM_NAME
namespace: NAMESPACE
spec:
compute:
virtualMachineType: n3-standard-2-gdc
disks:
- virtualMachineDiskRef:
name: BOOT_DISK_NAME
boot: true
autoDelete: true
- virtualMachineDiskRef:
name: DATA_DISK_NAME
autoDelete: true
고성능 볼륨 스냅샷 및 복원:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: SOURCE_PVC_NAME
spec:
storageClassName: performance-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
---
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: VOLUME_SNAPSHOT_NAME
namespace: NAMESPACE
spec:
volumeSnapshotClassName: performance
source:
persistentVolumeClaimName: SOURCE_PVC_NAME
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: RESTORED_PVC_NAME
namespace: NAMESPACE
spec:
dataSource:
name: VOLUME_SNAPSHOT_NAME
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
storageClassName: performance-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5i
다음을 바꿉니다.
BOOT_DISK_NAME: 가상 머신 부팅 디스크의 이름입니다.CONTAINER_NAME: 컨테이너의 이름.DATA_DISK_NAME: 가상 머신 데이터 디스크의 이름입니다.NAMESPACE: 리소스의 Kubernetes 네임스페이스입니다.POD_NAME: 포드의 이름입니다.PVC_NAME:PersistentVolumeClaim리소스 이름입니다.RESTORED_PVC_NAME: 복원된PersistentVolumeClaim리소스의 이름입니다.SOURCE_PVC_NAME: 스냅샷의 소스PersistentVolumeClaim리소스 이름입니다.VM_NAME: 가상 머신 인스턴스의 이름입니다.VOLUME_NAME: 볼륨 이름입니다.VOLUME_SNAPSHOT_NAME:VolumeSnapshot리소스 이름입니다.GKE_RELEASE: GKE 출시 버전입니다.