Google Distributed Cloud (GDC) con air gap offre un livello di archiviazione ad alte prestazioni progettato per carichi di lavoro impegnativi. Questo livello offre un aumento delle prestazioni fino a 30 IOPS per GB, un aumento rispetto al livello di archiviazione a blocchi standard, che offre fino a 3 IOPS per GB. Questo documento descrive come attivare l'archiviazione a blocchi ad alte prestazioni e come monitorare le metriche, gli avvisi e i dettagli di fatturazione associati. È destinato ai segmenti di pubblico all'interno del gruppo di amministratori della piattaforma (ad esempio gli amministratori IT) o del gruppo di operatori dell'applicazione (ad esempio gli sviluppatori di applicazioni).
La classe di archiviazione ad alte prestazioni performance-rwo è disponibile per il cluster Kubernetes.
Con l'aggiunta dello SKU ad alte prestazioni, per i volumi che utilizzano classi di archiviazione performance-*, il processo di snapshot e ripristino del volume è simile a quello delle classi di archiviazione standard-*. Puoi
creare uno snapshot del volume e ripristinare un PVC simile senza modificare la classe di archiviazione o i valori di qualità del servizio (QoS) sottostanti. performance volumesnapshotclass acquisisce il tipo di
volume e, utilizzando questo volumesnapshot, puoi ripristinare il volume con la stessa classe di archiviazione.
Prima di iniziare
Prima di iniziare, assicurati di disporre dei seguenti prerequisiti:
Ambiente e versione GDC
- Un'istanza GDC in esecuzione di cui è stato eseguito l'upgrade alla versione 1.15.1 o successive.
Progetto
- Un progetto GDC all'interno di un'organizzazione in cui intendi eseguire il provisioning di volumi ad alte prestazioni.
Accesso e autorizzazioni
- Autorizzazioni Kubernetes sufficienti per creare, gestire e utilizzare le risorse PersistentVolumeClaim (PVC) per i carichi di lavoro dei container o le risorse
VirtualMachineDiskper le macchine virtuali all'interno dello spazio dei nomi del progetto di destinazione. I ruoli comuni necessari includono:project-vm-adminper gestire le VM e i dischi VM.- Ruoli che consentono la gestione dei PVC, spesso inclusi nei ruoli di modifica o personalizzati.
- In genere, per un utente finale non sono necessari ruoli speciali a livello di organizzazione per utilizzare lo spazio di archiviazione se le classi di archiviazione ad alte prestazioni sono già disponibili nel cluster del progetto. La configurazione e l'esposizione di queste classi sono responsabilità di un operatore dell'infrastruttura (IO) o di un PA.
- Autorizzazioni Kubernetes sufficienti per creare, gestire e utilizzare le risorse PersistentVolumeClaim (PVC) per i carichi di lavoro dei container o le risorse
Conoscenza delle classi di archiviazione
- Familiarità con il concetto di oggetti
StorageClassdi Kubernetes. I livelli ad alte prestazioni vengono esposti tramite classi di archiviazione specifiche. - Devi specificare una classe di archiviazione ad alte prestazioni quando crei un PVC o un disco della macchina virtuale.
- Familiarità con il concetto di oggetti
Capacità e quote
- Assicurati che l'organizzazione e il progetto dispongano di una quota di spazio di archiviazione sufficiente allocata per il livello ad alte prestazioni.
- Tieni presente eventuali limitazioni di capacità o salvaguardie delle prestazioni sull'hardware e sull'ambiente GDC specifici.
Applica subcomponentOverride ai cluster richiesti
Per impostazione predefinita, il valore FeatureGate per lo SKU ad alte prestazioni è impostato su State: TEST. Per attivare le classi di archiviazione performance-*, l'amministratore della piattaforma o l'operatore dell'applicazione deve applicare un subcomponentOverride ai cluster richiesti con un valore FileHighPerformanceStorageClassStage superiore rispetto al valore value predefinito. L'esempio seguente utilizza il valore più alto di production.
apiVersion: lcm.private.gdc.goog/v1
kind: SubcomponentOverride
metadata:
name: file-common
namespace: NAMESPACE
spec:
features:
operableParameters:
FileHighPerformanceStorageClassStage: production
subComponentRef: file-common
Lo spazio dei nomi in SubcomponentOverride specifica lo spazio dei nomi del cluster (ad esempio cluster-1) in cui verrà impostato il flag. Sostituisci NAMESPACE con gli spazi dei nomi corrispondenti dei cluster e crea i file SubcomponentOverride. Applica questa modifica utilizzando il comando seguente:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG_PATH apply -f SUBOVERRIDE_USER_FILE
Sostituisci quanto segue:
MANAGEMENT_API_SERVER_KUBECONFIG_PATH: il percorso del file kubeconfig del cluster del server API di gestione.SUBOVERRIDE_USER_FILE: il percorso del file YAMLSubcomponentOverrideper il cluster Kubernetes.
Per abilitare lo SKU ad alte prestazioni per i cluster Kubernetes, applica subcomponentOverride al cluster del server API di gestione.
Monitorare metriche e avvisi ad alte prestazioni
L'archiviazione ad alte prestazioni include anche metriche aggiuntive, come i dettagli QOSPolicy. Questa funzionalità consente di filtrare e aggregare le metriche in base a QOSPolicy in ONTAP, consentendo di distinguere i volumi ad alte prestazioni da quelli standard.
Osservare le metriche
Per lo stack di osservabilità dei file sono disponibili le seguenti metriche ad alte prestazioni:
metering_storage_allocated_capacity_bytesmetering_storage_used_capacity_bytes
Entrambe queste metriche sono state arricchite con le informazioni qos_policy di ONTAP.
Osservare le dashboard
Sulla base dei miglioramenti precedenti delle metriche, gli avvisi sono disponibili sia per l'archiviazione standard sia per quella ad alte prestazioni, consentendo un monitoraggio mirato e un rilevamento più rapido dei problemi in base alla classe di prestazioni. Per visualizzare questi dati, sono disponibili dashboard ad alte prestazioni che utilizzano le metriche arricchite per fornire approfondimenti sul rendimento e sull'utilizzo dei volumi ad alte prestazioni.
Per visualizzare queste dashboard, accedi a Grafana e vai a Dashboard> FILE and Dashboards> FILE/ONTAP.
Sono disponibili le seguenti dashboard ad alto rendimento:
- Dashboard relativa al bilanciamento delle prestazioni dell'archiviazione a blocchi dei file dell'organizzazione.
- Le dashboard FILE/ONTAP sono dashboard che eseguono lo scraping dei dati di Harvest. In questo modo puoi monitorare direttamente il rendimento di ONTAP da Grafana.
Osservare gli avvisi
Oltre alle metriche e alle dashboard, sono disponibili anche avvisi relativi alle prestazioni elevate. Questi avvisi aiutano a rilevare i problemi di archiviazione e guidano gli utenti ai runbook che contengono istruzioni per risolvere gli avvisi. Se viene attivato un avviso, questo fornirà un codice runbook che può essere visualizzato nel manuale di servizio. I PA devono seguire questi runbook per risolvere l'avviso. Questi avvisi possono essere visualizzati nella sezione Regole di avviso in Grafana andando a infra-obs > file-block-storage-perf-monitoring-rules.
Sono disponibili i seguenti avvisi di rendimento elevato:
fb_high_org_volume_latencyefb_high_org_avg_volume_latencyper monitorare rispettivamente la latenza media del volume in un'organizzazione e individualmente.fb_storage_node_too_busyper monitorare l'utilizzo della CPU di un nodo e invia avvisi se l'utilizzo della CPU è troppo elevato.fb_current_ops_higher_than_expectedper avvisare se la quantità di operazioni su un nodo corrente è superiore al previsto.
Eseguire query sulla fatturazione ad alte prestazioni
Lo SKU per l'archiviazione a blocchi ad alte prestazioni è C008-4FF2-45E7. La fatturazione per questo SKU viene eseguita con la seguente query Prometheus:
sum_over_time(metering_storage_allocated_capacity_bytes{sku_id='c008-4ff2-45e7'}[{{.RangeHalfOpen}}:1m]) / 2^30 / 60 / {{.Hours}}
L'utilizzo di metering_storage_allocated_capacity_bytes comporta la fatturazione in base ai byte allocati anziché ai byte effettivamente utilizzati.
La classe di archiviazione e il criterio QoS per i volumi vengono impostati al momento del primo provisioning. Poiché la norma QoS è una variabile che può essere modificata direttamente in ONTAP, impostiamo sku_id nelle metriche in base a qos_policy e poi fatturiamo in base a sku_id.
Flussi di lavoro di esempio
Puoi utilizzare gli SKU ad alte prestazioni nei tuoi flussi di lavoro tramite diversi tipi di dichiarazioni di volume. In definitiva, il meccanismo sottostante rimane lo stesso, ad esempio un PVC supportato da performance-*. Gli esempi seguenti mostrano i diversi modi in cui puoi creare un nuovo livello di volumi.
Applica le seguenti configurazioni YAML al cluster appropriato facendo riferimento al nome della classe di archiviazione performance-* accurato.
Montaggi di pod e PVC ad alte prestazioni:
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 e dischi VM ad alte prestazioni:
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 e ripristini di volumi ad alte prestazioni:
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
Sostituisci quanto segue:
BOOT_DISK_NAME: il nome del disco di avvio della macchina virtuale.CONTAINER_NAME: il nome del contenitore.DATA_DISK_NAME: il nome del disco dati della macchina virtuale.NAMESPACE: lo spazio dei nomi Kubernetes per le risorse.POD_NAME: il nome del pod.PVC_NAME: il nome della risorsaPersistentVolumeClaim.RESTORED_PVC_NAME: il nome della risorsaPersistentVolumeClaimripristinata.SOURCE_PVC_NAME: il nome della risorsaPersistentVolumeClaimdi origine per lo snapshot.VM_NAME: il nome della macchina virtuale.VOLUME_NAME: il nome del volume.VOLUME_SNAPSHOT_NAME: il nome della risorsaVolumeSnapshot.GKE_RELEASE: la versione di rilascio di GKE.