Google Distributed Cloud (GDC) aislado ofrece un nivel de almacenamiento de alto rendimiento diseñado para cargas de trabajo exigentes. Este nivel ofrece un rendimiento que se escala hasta 30 IOPS por GB, lo que representa un aumento en comparación con el nivel de almacenamiento en bloque estándar, que ofrece hasta 3 IOPS por GB. En este documento, se describe cómo habilitar el almacenamiento en bloque de alto rendimiento y cómo supervisar sus métricas, alertas y detalles de facturación asociados. Está destinado a públicos dentro del grupo de administradores de la plataforma (como administradores de TI) o del grupo de operadores de la aplicación (como desarrolladores de aplicaciones).
La clase de almacenamiento de alto rendimiento performance-rwo está disponible para el clúster de Kubernetes.
Con la incorporación del SKU de alto rendimiento, para los volúmenes que usan clases de almacenamiento performance-*, el proceso de instantáneas y restablecimiento de volúmenes es similar al de las clases de almacenamiento standard-*. Puedes tomar una instantánea de volumen y restablecer un PVC similar sin cambiar la clase de almacenamiento ni los valores subyacentes de la calidad de servicio (QoS) estándar. El performance volumesnapshotclass captura el tipo de volumen y, con este volumesnapshot, puedes restablecer el volumen con la misma clase de almacenamiento.
Antes de comenzar
Antes de comenzar, asegúrate de cumplir con los siguientes requisitos previos:
Entorno y versión de GDC
- Una instancia de GDC en ejecución que se haya actualizado a la versión 1.15.1 o posterior.
Proyecto
- Es un proyecto de GDC dentro de una organización en el que planeas aprovisionar volúmenes de alto rendimiento.
Acceso y permisos
- Permisos de Kubernetes suficientes para crear, administrar y usar recursos de PersistentVolumeClaim (PVC) para cargas de trabajo de contenedores, o recursos de
VirtualMachineDiskpara máquinas virtuales dentro del espacio de nombres del proyecto de destino Entre los roles comunes que se necesitan, se incluyen los siguientes:project-vm-adminpara administrar VMs y discos de VM- Roles que permiten la administración de PVC, que a menudo se incluyen en roles personalizados o de edición
- Por lo general, no se requieren roles especiales a nivel de la organización para que un usuario final consuma el almacenamiento si las clases de almacenamiento de alto rendimiento ya están disponibles en el clúster de su proyecto. La configuración y la exposición de estas clases son responsabilidad del operador de infraestructura (IO) o del PA.
- Permisos de Kubernetes suficientes para crear, administrar y usar recursos de PersistentVolumeClaim (PVC) para cargas de trabajo de contenedores, o recursos de
Información sobre las clases de almacenamiento
- Conocimiento del concepto de objetos
StorageClassde Kubernetes Los niveles de rendimiento alto se exponen a través de clases de almacenamiento específicas. - Debes especificar una clase de almacenamiento de alto rendimiento cuando crees un PVC o un disco de máquina virtual.
- Conocimiento del concepto de objetos
Capacidad y cuotas
- Asegúrate de que la organización y el proyecto tengan suficiente cuota de almacenamiento asignada para el nivel de alto rendimiento.
- Ten en cuenta las limitaciones de capacidad o las medidas de protección del rendimiento en el hardware y el entorno de GDC específicos.
Aplica subcomponentOverride a los clústeres requeridos
De forma predeterminada, el valor de FeatureGate para el SKU de alto rendimiento se establece en State: TEST. Para habilitar las clases de almacenamiento performance-*, el administrador de la plataforma (PA) o el operador de la aplicación (AO) deben aplicar un subcomponentOverride a los clústeres requeridos con un valor de FileHighPerformanceStorageClassStage más alto en comparación con el value predeterminado. En el siguiente ejemplo, se usa el valor más alto de production.
apiVersion: lcm.private.gdc.goog/v1
kind: SubcomponentOverride
metadata:
name: file-common
namespace: NAMESPACE
spec:
features:
operableParameters:
FileHighPerformanceStorageClassStage: production
subComponentRef: file-common
El espacio de nombres en SubcomponentOverride especifica el espacio de nombres del clúster (por ejemplo, cluster-1) en el que se establecerá la marca. Reemplaza NAMESPACE por los espacios de nombres correspondientes de los clústeres y crea los archivos SubcomponentOverride. Aplica este cambio con el siguiente comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG_PATH apply -f SUBOVERRIDE_USER_FILE
Reemplaza lo siguiente:
MANAGEMENT_API_SERVER_KUBECONFIG_PATH: Es la ruta al archivo kubeconfig del clúster del servidor de la API de administración.SUBOVERRIDE_USER_FILE: Es la ruta de acceso al archivo YAML deSubcomponentOverridepara el clúster de Kubernetes.
Para habilitar el SKU de alto rendimiento para los clústeres de Kubernetes, aplica subcomponentOverride al clúster del servidor de la API de administración.
Supervisa las métricas y las alertas de alto rendimiento
El almacenamiento de alto rendimiento también incluye métricas adicionales, como los detalles de QOSPolicy. Esta función permite filtrar y agregar métricas según el QOSPolicy en ONTAP, lo que permite distinguir los volúmenes de alto rendimiento de los estándares.
Observa las métricas
Las siguientes métricas de alto rendimiento están disponibles para la pila de observabilidad de archivos:
metering_storage_allocated_capacity_bytesmetering_storage_used_capacity_bytes
Ambas métricas se enriquecieron con información de qos_policy de ONTAP.
Observa los paneles
Además de las mejoras en las métricas anteriores, las alertas están disponibles para el almacenamiento estándar y de alto rendimiento, lo que permite una supervisión segmentada y una detección de problemas más rápida según la clase de rendimiento. Para visualizar estos datos, hay disponibles paneles de alto rendimiento que utilizan las métricas enriquecidas para proporcionar estadísticas sobre el rendimiento y el uso de los volúmenes de alto rendimiento.
Para ver estos paneles, accede a Grafana y navega a Paneles>FILE y Paneles>FILE/ONTAP.
Están disponibles los siguientes paneles de alto rendimiento:
- Panel de rendimiento del almacenamiento en bloque de archivos de la organización.
- Los paneles de FILE/ONTAP son paneles que extraen datos de Harvest. Esto te permite supervisar directamente el rendimiento de ONTAP desde Grafana.
Observa las alertas
Junto con las métricas y los paneles, también hay disponibles alertas relacionadas con el alto rendimiento. Estas alertas ayudan a detectar problemas de almacenamiento y guían a los usuarios a los runbooks que tienen instrucciones para resolver las alertas. Si se activa una alerta, esta proporcionará un código de runbook que se puede ver en el manual de servicio. Los PAs deben seguir estos manuales de ejecución para resolver la alerta. Para ver estas alertas en la sección Alert Rules de Grafana, navega a infra-obs > file-block-storage-perf-monitoring-rules.
Están disponibles las siguientes alertas de alto rendimiento:
fb_high_org_volume_latencyyfb_high_org_avg_volume_latencypara hacer un seguimiento de la latencia promedio del volumen en una organización y de forma individual, respectivamente.fb_storage_node_too_busypara hacer un seguimiento del uso de CPU de un nodo y generar alertas si el uso de CPU es demasiado altofb_current_ops_higher_than_expectedpara generar una alerta si la cantidad de operaciones en un nodo actual es mayor de lo esperado.
Consultar la facturación de alto rendimiento
El SKU para el almacenamiento en bloque de alto rendimiento es C008-4FF2-45E7. La facturación de este SKU se realiza con la siguiente consulta de Prometheus:
sum_over_time(metering_storage_allocated_capacity_bytes{sku_id='c008-4ff2-45e7'}[{{.RangeHalfOpen}}:1m]) / 2^30 / 60 / {{.Hours}}
Usar metering_storage_allocated_capacity_bytes significa que la facturación se basa en los bytes asignados y no en los bytes reales utilizados.
La clase de almacenamiento y la política de QoS para los volúmenes se establecen cuando se aprovisionan por primera vez. Dado que la política de QoS es una variable que se puede cambiar directamente en ONTAP, establecemos sku_id en las métricas según qos_policy y, luego, facturamos según sku_id.
Flujos de trabajo de ejemplo
Puedes usar el SKU de alto rendimiento en tus flujos de trabajo a través de diferentes tipos de declaraciones de volumen. En última instancia, el mecanismo subyacente sigue siendo el mismo, por ejemplo, un PVC respaldado por performance-*. En los siguientes ejemplos, se muestran las diferentes formas en que puedes crear un nuevo nivel de volúmenes.
Aplica las siguientes configuraciones de YAML al clúster adecuado haciendo referencia al nombre exacto de la clase de almacenamiento performance-*.
PVC y montajes de Pod de alto rendimiento:
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"
Discos y VMs de alto rendimiento:
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
Instantáneas y restablecimientos de volúmenes de alto rendimiento:
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
Reemplaza lo siguiente:
BOOT_DISK_NAME: Es el nombre del disco de arranque de la máquina virtual.CONTAINER_NAME: Es el nombre del contenedor.DATA_DISK_NAME: Es el nombre del disco de datos de la máquina virtual.NAMESPACE: Es el espacio de nombres de Kubernetes para los recursos.POD_NAME: Es el nombre del Pod.PVC_NAME: El nombre del recursoPersistentVolumeClaim.RESTORED_PVC_NAME: Es el nombre del recursoPersistentVolumeClaimrestablecido.SOURCE_PVC_NAME: Es el nombre del recursoPersistentVolumeClaimde origen para la instantánea.VM_NAME: el nombre de la máquina virtual.VOLUME_NAME: el nombre del volumenVOLUME_SNAPSHOT_NAME: El nombre del recursoVolumeSnapshot.GKE_RELEASE: Es la versión de lanzamiento de GKE.