Alto uso de almacenamiento
Si el uso de almacenamiento de una instancia DDS es demasiado alto o se usa completamente, la instancia no estará disponible.
En esta sección se describe cómo analizar y corregir el uso de almacenamiento elevado.
Comprobación del uso de almacenamiento
DDS proporciona los dos métodos siguientes para comprobar el uso de almacenamiento de una instancia:
- Compruebe el uso de almacenamiento en la consola DDS.
Puede iniciar sesión en la consola DDS y hacer clic en la instancia. En la página Basic Information, puede ver el espacio de almacenamiento de la instancia en el área Storage Space.
Figura 1 Comprobación del uso de almacenamiento
- Vea las métricas de monitoreo (uso de almacenamiento y almacenamiento usado).
Para ver las métricas de supervisión, consulte Consulta de métricas de monitoreo.
Figura 2 Comprobación del uso de almacenamiento
Solución
- Para las instancias de clúster, los datos pueden distribuirse de manera desigual porque la colección de la base de datos no está particionado. Como resultado, el uso de almacenamiento es alto.
Para particionar la colección de la base de datos correctamente, consulte ¿Cómo mejoro el rendimiento de la base de datos mediante la configuración de particionamiento?
- A medida que los datos de servicio aumentan, el almacenamiento de la base de datos original es insuficiente. Puede ampliar el espacio de almacenamiento para solucionar este problema.
- Para ampliar el almacenamiento de instancias de clúster, consulte Ampliar verticalmente una instancia de clúster.
- Para ampliar verticalmente el almacenamiento de instancias de conjuntos de réplicas, consulte Ampliación vertical de una instancia de conjunto de réplicas.
- Para ampliar verticalmente el almacenamiento de instancias de nodo único, consulte Ampliación vertical de una instancia de nodo único.
Si el espacio de almacenamiento ha alcanzado el límite superior de la clase de instancia, cambie primero la clase de instancia.
- Para cambiar la clase de instancia de clúster, consulte Cambio de una clase de instancia de clúster.
- Para cambiar la clase de instancia de conjunto de réplicas, consulte Cambio de una clase de instancia de conjunto de réplicas.
- Para cambiar la clase de instancia de nodo único, consulte Cambio de una clase de instancia de nodo único.
- Si un gran número de archivos caducados ocupa el espacio de almacenamiento, elimine los archivos caducados a tiempo. Por ejemplo, si ya no se usa toda la base de datos, ejecute dropDatabase para eliminarla.
- El mecanismo de procesamiento de datos en segundo plano es defectuoso.
Operaciones como escribir, actualizar y eliminar (incluidas la inserción y la eliminación de índices) se convierten en operaciones de escritura en segundo plano. Cuando se eliminan los datos de una instancia en uso, el espacio en disco no se recupera. Tal espacio de disco no reclamado se denomina fragmentos de disco. Cuando se insertan nuevos datos, estos fragmentos se reutilizan sin necesidad de aplicar un nuevo espacio en disco. Los diferentes motores de almacenamiento subyacentes (RocksDB y WiredTiger) varían según escenarios específicos.
Después de eliminar los datos, RocksDB convierte directamente la operación delete para agregar escritura. Cuando se acumula una cierta cantidad de datos redundantes, el subproceso compacto en segundo plano se activa automáticamente para fusionar y agregar datos de varias versiones con el fin de liberar espacio redundante en disco. Se recomienda esperar a que el sistema recupere automáticamente el espacio en disco. Si el uso de espacio en disco es alto y está cerca del umbral de solo lectura, póngase en contacto con el soporte técnico de Huawei.
Después de eliminar datos, el WiredTiger fusiona y agrega datos de varias versiones, causando fragmentos de espacio en disco. Sin embargo, WiredTiger no devuelve el espacio en disco al sistema operativo. WiredTiger marca el espacio de disco para escrituras posteriores de la colección actual, el espacio de disco reservado se usa preferentemente para escrituras posteriores de la colección. Para liberar el espacio en disco, ejecute el comando compact. (Nota: Este comando bloquea los servicios normales y está deshabilitado de forma predeterminada.)