Mengaktifkan block storage berperforma tinggi

Google Distributed Cloud (GDC) dengan air gap menawarkan tingkat penyimpanan berperforma tinggi yang dirancang untuk workload yang menuntut. Tingkatan ini memberikan penskalaan performa hingga 30 IOPS per GB, peningkatan dibandingkan dengan tingkatan block storage standar, yang menawarkan hingga 3 IOPS per GB. Dokumen ini menjelaskan cara mengaktifkan penyimpanan blok berperforma tinggi dan cara memantau metrik, pemberitahuan, dan detail penagihan terkait. Tujuannya adalah untuk audiens dalam grup administrator platform (seperti admin IT) atau grup operator aplikasi (seperti developer aplikasi).

Kelas penyimpanan berperforma tinggi performance-rwo tersedia untuk cluster Kubernetes.

Dengan penambahan SKU berperforma tinggi, untuk volume yang menggunakan kelas penyimpanan performance-*, proses snapshot dan pemulihan volume serupa dengan proses untuk kelas penyimpanan standard-*. Anda dapat mengambil snapshot volume dan memulihkan PVC serupa tanpa perubahan pada class penyimpanan atau nilai Quality of Standard (QoS) yang mendasarinya. performance volumesnapshotclass mencatat jenis volume dan menggunakan volumesnapshot ini, Anda dapat memulihkan volume dengan class penyimpanan yang sama.

Sebelum memulai

Sebelum memulai, pastikan Anda memenuhi prasyarat berikut:

  • Lingkungan dan versi GDC

    • Instance GDC yang sedang berjalan dan telah diupgrade ke versi 1.15.1 atau yang lebih baru.
  • Project

    • Project GDC dalam organisasi tempat Anda ingin menyediakan volume berperforma tinggi.
  • Akses dan izin

    • Izin Kubernetes yang memadai untuk membuat, mengelola, dan menggunakan resource PersistentVolumeClaim (PVC) untuk workload penampung, atau resource VirtualMachineDisk untuk mesin virtual dalam namespace project target. Peran umum yang diperlukan meliputi:
      • project-vm-admin untuk mengelola VM dan disk VM.
      • Peran yang mengizinkan pengelolaan PVC, yang sering disertakan dalam peran edit atau kustom.
      • Biasanya tidak ada peran tingkat organisasi khusus yang diperlukan agar pengguna akhir dapat menggunakan penyimpanan jika class penyimpanan berperforma tinggi sudah tersedia di cluster project mereka. Penyiapan dan eksposur class ini adalah tanggung jawab Operator Infrastruktur (IO) atau PA.
  • Memahami kelas penyimpanan

    • Memahami konsep objek StorageClass Kubernetes. Tingkatan performa tinggi diekspos melalui class penyimpanan tertentu.
    • Anda harus menentukan class penyimpanan berperforma tinggi saat membuat PVC atau Disk Mesin Virtual.
  • Kapasitas dan kuota

    • Pastikan organisasi dan project memiliki kuota penyimpanan yang cukup yang dialokasikan untuk tingkat performa tinggi.
    • Perhatikan batasan kapasitas atau panduan performa di lingkungan dan hardware GDC tertentu.

Terapkan subcomponentOverride ke cluster yang diperlukan

Secara default, FeatureGate untuk SKU berperforma tinggi disetel ke State: TEST. Untuk mengaktifkan class penyimpanan performance-*, Administrator Platform (PA) atau Operator Aplikasi (AO) harus menerapkan subcomponentOverride ke cluster yang diperlukan dengan nilai FileHighPerformanceStorageClassStage yang lebih tinggi dibandingkan dengan value default. Contoh berikut menggunakan nilai production yang lebih tinggi.

apiVersion: lcm.private.gdc.goog/v1
kind: SubcomponentOverride
metadata:
  name: file-common
  namespace: NAMESPACE
spec:
  features:
    operableParameters:
      FileHighPerformanceStorageClassStage: production
  subComponentRef: file-common

Namespace di SubcomponentOverride menentukan namespace cluster (misalnya, cluster-1) tempat flag akan ditetapkan. Ganti NAMESPACE dengan namespace cluster yang sesuai dan buat file SubcomponentOverride. Terapkan perubahan ini menggunakan perintah berikut:

kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG_PATH apply -f SUBOVERRIDE_USER_FILE

Ganti kode berikut:

  • MANAGEMENT_API_SERVER_KUBECONFIG_PATH: jalur ke file kubeconfig cluster server Management API.
  • SUBOVERRIDE_USER_FILE: jalur ke file YAML SubcomponentOverride untuk cluster Kubernetes.

Untuk mengaktifkan SKU berperforma tinggi untuk cluster Kubernetes, terapkan subcomponentOverride ke cluster server API pengelolaan.

Memantau metrik dan pemberitahuan performa tinggi

Penyimpanan berperforma tinggi juga mencakup metrik tambahan, seperti detail QOSPolicy. Fitur ini memungkinkan metrik difilter dan digabungkan berdasarkan QOSPolicy di ONTAP, sehingga memungkinkan untuk membedakan volume berperforma tinggi dari volume standar.

Mengamati metrik

Metrik berperforma tinggi berikut tersedia untuk stack pengamatan file:

  • metering_storage_allocated_capacity_bytes
  • metering_storage_used_capacity_bytes

Kedua metrik ini telah dilengkapi dengan informasi qos_policy dari ONTAP.

Mengamati dasbor

Dengan mengandalkan peningkatan kualitas metrik sebelumnya, notifikasi tersedia untuk penyimpanan standar dan berperforma tinggi, sehingga memungkinkan pemantauan yang ditargetkan dan deteksi masalah yang lebih cepat berdasarkan kelas performa. Untuk memvisualisasikan data ini, dasbor berperforma tinggi tersedia, yang menggunakan metrik yang telah di-enrich untuk memberikan insight tentang performa dan penggunaan volume berperforma tinggi.

Untuk melihat dasbor ini, akses Grafana, lalu buka Dashboards>FILE and Dashboards>FILE/ONTAP.

Dasbor berperforma tinggi berikut tersedia:

  • Dasbor Keseimbangan Performa Block Storage File Organisasi.
  • Dasbor FILE/ONTAP adalah dasbor yang meng-scrape data Harvest. Dengan begitu, Anda dapat memantau performa ONTAP secara langsung dari Grafana.

Mengamati pemberitahuan

Selain metrik dan dasbor, pemberitahuan terkait performa tinggi juga tersedia. Peringatan ini membantu mendeteksi masalah dalam penyimpanan dan memandu pengguna ke runbook yang berisi petunjuk yang akan membantu menyelesaikan peringatan. Jika pemberitahuan diaktifkan, pemberitahuan akan memberikan kode runbook yang dapat dilihat dalam manual layanan. PA harus mengikuti runbook ini untuk menyelesaikan pemberitahuan. Peringatan ini dapat dilihat di bagian Alert Rules di Grafana dengan membuka infra-obs > file-block-storage-perf-monitoring-rules.

Pemberitahuan performa tinggi berikut tersedia:

  • fb_high_org_volume_latency dan fb_high_org_avg_volume_latency untuk melacak latensi volume rata-rata di organisasi dan secara individual.
  • fb_storage_node_too_busy untuk melacak penggunaan CPU node dan mengirimkan pemberitahuan jika penggunaan CPU terlalu tinggi.
  • fb_current_ops_higher_than_expected untuk memberikan peringatan jika jumlah operasi pada node saat ini lebih tinggi dari yang diperkirakan.

Mengirim kueri penagihan berperforma tinggi

SKU untuk block storage berperforma tinggi adalah C008-4FF2-45E7. Penagihan untuk SKU ini dilakukan dengan kueri Prometheus berikut:


sum_over_time(metering_storage_allocated_capacity_bytes{sku_id='c008-4ff2-45e7'}[{{.RangeHalfOpen}}:1m]) / 2^30 / 60 / {{.Hours}}

Menggunakan metering_storage_allocated_capacity_bytes berarti penagihan dilakukan berdasarkan byte yang dialokasikan, bukan byte yang benar-benar digunakan.

Class penyimpanan dan kebijakan QoS untuk volume ditetapkan saat volume pertama kali disediakan. Karena kebijakan QoS adalah variabel yang dapat diubah langsung di ONTAP, kami menetapkan sku_id dalam metrik berdasarkan qos_policy, lalu menagih berdasarkan sku_id.

Contoh alur kerja

Anda dapat menggunakan SKU berperforma tinggi dalam alur kerja melalui berbagai jenis pernyataan volume. Pada akhirnya, mekanisme yang mendasarinya tetap sama, misalnya, PVC yang didukung performance-*. Contoh berikut menunjukkan berbagai cara untuk membuat tingkat volume baru.

Terapkan konfigurasi YAML berikut ke cluster yang sesuai dengan mereferensikan nama class penyimpanan performance-* yang akurat.

PVC dan pemasangan pod berperforma tinggi:

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"

Disk dan VM berperforma tinggi:

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

Snapshot dan pemulihan volume berperforma tinggi:

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

Ganti kode berikut:

  • BOOT_DISK_NAME: nama disk boot mesin virtual.
  • CONTAINER_NAME: nama container.
  • DATA_DISK_NAME: nama disk data mesin virtual.
  • NAMESPACE: namespace Kubernetes untuk resource.
  • POD_NAME: nama pod.
  • PVC_NAME: nama resource PersistentVolumeClaim.
  • RESTORED_PVC_NAME: nama resource PersistentVolumeClaim yang dipulihkan.
  • SOURCE_PVC_NAME: nama resource PersistentVolumeClaim sumber untuk snapshot.
  • VM_NAME: nama virtual machine.
  • VOLUME_NAME: nama volume.
  • VOLUME_SNAPSHOT_NAME: nama resource VolumeSnapshot.
  • GKE_RELEASE: versi rilis GKE.