DWS_2000000006 El uso del disco de datos de nodo supera el umbral
Descripción
GaussDB(DWS) recopila el uso de todos los discos en cada nodo de un clúster cada 30 segundos.
- Si el uso máximo del disco en los últimos 10 minutos (configurable) supera el 80% (configurable), se reporta una alarma importante. Si el uso promedio del disco es inferior al 75% (es decir, el umbral de alarma menos el 5%), esta alarma principal se borra.
- Si el uso máximo del disco en los últimos 10 minutos (configurable) supera el 85% (configurable), se notifica una alarma crítica. Si el uso promedio del disco es inferior al 85% (es decir, el umbral de alarma menos el 5%), esta alarma crítica se borra.
Si el uso máximo del disco es siempre mayor que el umbral de alarma, el sistema genera una alarma de nuevo 24 horas después (configurable).
Atributos
ID de alarma |
Gravedad de alarma |
Borrar automáticamente |
---|---|---|
DWS_2000000006 |
Crítico/Grave |
Sí |
Parámetros
Parámetro |
Descripción |
---|---|
Source |
Nombre del sistema para el que se genera la alarma, por ejemplo, GaussDB(DWS). |
Cluster Name |
Clúster para el que se genera la alarma. |
Location Information |
ID y nombres del clúster y la instancia para la que se genera la alarma, por ejemplo, cluster_id: xxxx-xxxx-xxxx-xxxx, cluster_name: test_dws, instance_id: xxxx-xxxx-xxxx-xxxx, instance_name: test_dws-dws-cn-cn-1-1. |
Detail Information |
Información detallada sobre la alarma, incluida la información del clúster, la instancia, el disco y el umbral. Ejemplo: CloudService=DWS, resourceId: xxxx-xxxx-xxxx-xxxx, resourceIdName: test_dws, instance_id: xxxx-xxxx-xxxx-xxxx, instance_name: test_dws-dws-cn-cn-2-1, host_name: host-192-168-1-122, disk_name: /dev/vdb, first_alarm_time: 2022-11-26 11:14:58; El uso promedio del disco de datos del nodo en 10 minutos es 84%, que excede el umbral del 80%. |
Generated |
Hora de generación de la alarma. |
Status |
Estado de la alarma actual. |
Impacto en el sistema
Si el volumen de datos del clúster o el tamaño temporal del derrame de datos aumenta y el uso de cualquier disco único supera el 90%, el clúster pasa a ser de sólo lectura, lo que afecta a los servicios al cliente.
Causas posibles
- El volumen de datos de servicio aumenta rápidamente y la configuración de capacidad de disco del clúster no puede cumplir con los requisitos de servicio.
- Los datos sucios no se borran de manera oportuna.
- Hay tablas sesgadas.
Procedimiento de manejo
- Comprobar el uso de disco de cada nodo.
- Inicie sesión en la consola de GaussDB(DWS).
- En la página Alarms, seleccione el clúster actual en la lista desplegable de selección de clúster en la esquina superior derecha y vea la información de alarma del clúster en los últimos siete días. Localice el nombre del nodo para el que se genera la alarma y la información del disco basada en la información de ubicación.
- En la página Clusters, busque la fila que contiene el clúster para el que se genera la alarma y haga clic en Monitoring Panel en la columna Operation.
- Elija Monitoring > Node Monitoring > Disks para ver el uso de cada disco en el nodo de clúster actual. Si desea ver la información de monitoreo histórico sobre un disco en un nodo, haga clic en a la derecha para ver las métricas de rendimiento del disco en las últimas 1, 3, 12 o 24 horas.
- Si el uso del disco de datos aumenta con frecuencia y luego vuelve a la normalidad en un corto período de tiempo, indica que el uso del disco aumenta temporalmente debido a la ejecución del servicio. En este caso, puede ajustar el umbral de alarma a través de 2 para reducir el número de alarmas notificadas.
- Si el uso de un disco de datos supera el 90%, se activa solo lectura y se informa de error cannot execute INSERT in a read-only transaction para los servicios relacionados con la escritura. En este caso, puede consultar 3 para eliminar datos innecesarios.
- Si el uso de más de la mitad de los discos de datos en el clúster supera el 70%, el volumen de datos en el clúster es grande. En este caso, consulte 4 para borrar datos o realizar ampliación de capacidad de disco.
- Si la diferencia entre el uso más alto y el más bajo del disco de datos en el clúster supera el 10%, consulte 5 para manejar el sesgo de datos.
- Comprobar si la configuración de alarma es apropiado.
- Vuelva a la consola de gestión de GaussDB(DWS) y elija Alarms > Alarm Rule.
- Busque la fila que contiene Node Data Disk Usage Exceeds the Threshold y haga clic en Modify en la columna Operation. En la página Modifying an Alarm Rule, vea los parámetros de configuración de la alarma actual.
- Ajuste el umbral de alarma y el período de detección. Un umbral de alarma más alto y un periodo de detección más largo indican una sensibilidad de alarma más baja. Para obtener más información sobre la configuración de la interfaz gráfica de usuario, consulte Reglas de alarma.
- Si la especificación del disco de datos es alta, se recomienda aumentar el umbral en función de las métricas históricas de monitoreo del disco. De lo contrario, realice otros pasos. Si el problema persiste, se recomienda realizar ampliación de capacidad de disco.
- Vuelva a la consola de gestión de GaussDB(DWS) y elija Alarms > Alarm Rule.
- Comprobar si el clúster estar en el estado de solo lectura.
- Cuando un clúster está en estado de sólo lectura, detenga las tareas de escritura para evitar la pérdida de datos causada por el agotamiento del espacio en disco.
- Vuelva a la consola de gestión de GaussDB(DWS), haga clic en Clusters, busque la fila que contiene el clúster anormal y elija More > Cancel Read-Only en la columna Operation.
- En el cuadro de diálogo mostrado, confirme la información y haga clic en OK para cancelar el estado de sólo lectura del clúster. Para obtener más información, consulte Quitar el estado de solo lectura.
- Después de deshabilitar el modo de solo lectura, utilice el cliente para conectarse a la base de datos y ejecute el comando DROP / TRUNCATE para eliminar datos innecesarios.
- Comprobar si la utilización de más de la mitad de los discos de datos del clúster supera el 70%.
- Ejecute el comando VACUUM FULL para borrar los datos. Para obtener más información, consulte Solución para el uso de alto disco y el clúster de solo lectura. Conéctese a la base de datos, ejecute la siguiente sentencia SQL para consultar tablas cuya tasa de página sucia supere el 30% y ordene las tablas por tamaño en orden descendente:
1 2 3 4 5
SELECT schemaname AS schema, relname AS table_name, n_live_tup AS analyze_count, pg_size_pretty(pg_table_size(relid)) as table_size, dirty_page_rate FROM PGXC_GET_STAT_ALL_TABLES WHERE schemaName NOT IN ('pg_toast', 'pg_catalog', 'information_schema', 'cstore', 'pmk') AND dirty_page_rate > 30 ORDER BY table_size DESC, dirty_page_rate DESC;
A continuación se muestra un ejemplo del posible resultado de ejecución de la sentencia SQL (la tasa de página sucia de una tabla es alta):1 2 3 4
schema | table_name | analyze_count | table_size | dirty_page_rate --------+------------+---------------+------------+----------------- public | test_table | 4333 | 656 KB | 71.11 (1 row)
- Si se muestra algún resultado en la salida del comando, borre las tablas con una tasa de página sucia alta en modo serie.
1
VACUUM FULL ANALYZE schema.table_name
La operación VACUUM FULL ocupa espacio de desfragmentación adicional, que es el tamaño de la tabla x (1 - Velocidad de página sucia). Como resultado, el uso del disco aumenta temporalmente y luego disminuye. Asegúrese de que el espacio restante del clúster es suficiente y no activará sólo lectura cuando se realice la operación VACUUM FULL. Le aconsejamos que comience desde tablas pequeñas. Además, la operación VACUUM FULL contiene una cerradura exclusiva, durante la cual se bloquea el acceso a la tabla operada. Es necesario organizar correctamente el tiempo de ejecución para evitar que los servicios se vean afectados.
- Si no se muestra ningún resultado del comando, no existe ninguna tabla con una tasa de página sucia alta. Puede ampliar la capacidad de nodo o disco del clúster en función de los siguientes tipos de almacén de datos para evitar la interrupción del servicio causada por un aumento del uso del disco de sólo lectura.
- Almacén de datos estándar + disco en la nube SSD, almacén de datos de flujo y almacén de datos híbrido: Consulte Expansión de capacidad de disco.
- Almacén de datos estándar + disco local de SSD y antiguo almacén de datos estándar (no se admite la ampliación de disco): Consulte Ampliación de un clúster.
- Ejecute el comando VACUUM FULL para borrar los datos. Para obtener más información, consulte Solución para el uso de alto disco y el clúster de solo lectura. Conéctese a la base de datos, ejecute la siguiente sentencia SQL para consultar tablas cuya tasa de página sucia supere el 30% y ordene las tablas por tamaño en orden descendente:
- Comprobar si la diferencia entre el uso más alto y el más bajo de los discos de datos del clúster supera el 10%.
- Si el uso del disco de datos difiere mucho, conéctese a la base de datos y ejecute la siguiente sentencia SQL para comprobar que hay tablas de sesgo en el clúster:
1
SELECT schemaname, tablename, pg_size_pretty(totalsize), skewratio FROM pgxc_get_table_skewness WHERE skewratio > 0.05 ORDER BY totalsize desc;
A continuación se muestra un ejemplo del posible resultado de ejecución de la sentencia SQL:1 2 3 4 5 6 7
schemaname | tablename | pg_size_pretty | skewratio ------------+---------------------+----------------+----------- scheduler | workload_collection | 428 MB | .500 public | test_table | 672 KB | .429 public | tbl_col | 104 KB | .154 scheduler | scheduler_storage | 32 KB | .250 (4 rows)
- Si se muestra el resultado de la sentencia SQL, seleccione otra columna de distribución para la tabla con sesgo severo basado en el tamaño de la tabla y la tasa de sesgo. Para las versiones 8.1.0 y posteriores, utilice la sintaxis ALTER TABLE para ajustar la columna de distribución. Para otras versiones, vea ¿Cómo ajusto las columnas de distribución?
- Si el uso del disco de datos difiere mucho, conéctese a la base de datos y ejecute la siguiente sentencia SQL para comprobar que hay tablas de sesgo en el clúster:
Borrar alarmas.
Después de que el uso del disco disminuye, la alarma se borra automáticamente.