¿Qué se almacena en el almacenamiento local compatible con Aurora MySQL y cómo puedo solucionar los problemas de almacenamiento local?

4 minutos de lectura
0

¿Qué almacena en el almacenamiento local en caso de compatibilidad con Amazon Aurora MySQL y cómo puedo solucionar los problemas de capacidad de almacenamiento?

Breve descripción

Las instancias en los clústeres de Aurora tienen dos tipos de almacenamiento:

  • Almacenamiento de datos persistentes (denominado volumen de clúster). Este tipo de almacenamiento aumenta automáticamente cuando se necesita más espacio. Para obtener más información, consulte Qué contiene el volumen del clúster.
  • Almacenamiento local para cada instancia de Aurora en el clúster, según la clase de instancia. Este tipo y tamaño de almacenamiento están vinculados a la clase de instancia y solo se pueden cambiar si se pasa a una clase de instancia de base de datos más grande. Aurora para MySQL utiliza el almacenamiento local para almacenar registros de errores, registros generales, registros de consultas lentas, registros de auditoría y tablas temporales que no son de InnoDB.

Para obtener más información sobre el tamaño del almacenamiento local y ver la cantidad máxima de almacenamiento disponible para cada tamaño de instancia, consulte Límites de almacenamiento temporal de Aurora MySQL.

Solución

Error de baja capacidad de almacenamiento libre

Cuando se acerque al límite de capacidad de almacenamiento libre, es posible que se muestre el siguiente error:

«La capacidad de almacenamiento libre de la instancia de base de datos: instance-name es baja, de un x % del almacenamiento aprovisionado. [Almacenamiento aprovisionado: xx GB, almacenamiento libre: xx GB]. Quizás desee aumentar el almacenamiento aprovisionado para solucionar este problema.»

El almacenamiento local puede alcanzar su capacidad máxima cuando se almacenan en él datos no persistentes, como tablas temporales y archivos de registro. Compruebe si tiene comandos ALTER TABLE en ejecución o si está almacenando demasiadas tablas temporales. Con la optimización de los comandos ALTER y las tablas temporales puede reducir el uso del almacenamiento local. Ejecute un comando como este varias veces para ver el número de tablas temporales de su instancia:

SHOW GLOBAL STATUS LIKE 'created_tmp%tables';

Para monitorizar la cantidad de tablas temporales creadas en un intervalo de tiempo concreto, puede habilitar GoSH. Esto le permite almacenar las variables de estado del servidor en tablas que puede volver a consultar más adelante para continuar analizándolas.

Revise la métrica de Amazon CloudWatch correspondiente a FreeableMemory para determinar la cantidad de memoria libre disponible. A continuación, compruebe si los registros de auditoría, los registros generales o los registros de consultas lentas consumen espacio. Puede monitorizar el espacio de almacenamiento local asociado a la instancia de Aurora mediante la métrica de CloudWatch para FreeLocalStorage. Para obtener más información, consulte Supervisión de métricas en un clúster de Amazon Aurora.

Si necesita más espacio de almacenamiento, puede aumentar la cantidad de almacenamiento local. Para aumentar el almacenamiento local, debe incrementar la clase de instancia de base de datos. Para obtener más información, consulte Clases de instancia de base de datos de Aurora.

También puede incrementar los valores para los parámetros max_heap_table_size y tmp_table_size. La modificación de estos parámetros puede reducir la cantidad de datos que se vuelcan en el disco, lo que puede reducir la cantidad de almacenamiento local utilizada. Puede modificar estos parámetros en el grupo de parámetros asociado a la instancia. Para obtener más información, consulte Trabajo con grupos de parámetros.

Nota: Si incrementa los valores de max_heap_table_size y tmp_table_size, las tablas consumirán más memoria en la instancia. Si aumenta estos valores, asegúrese de que haya suficiente memoria disponible en la instancia. Puede monitorizar la memoria disponible mediante la métrica de CloudWatch para FreeableMemory.

ERROR 1114 tabla llena

Cuando MySQL realiza operaciones, como ALTER TABLE, crea una tabla temporal intermedia con el nuevo esquema. Luego, MySQL carga los datos en la tabla intermedia antes de eliminar la tabla anterior. Es posible que la tabla intermedia utilice almacenamiento local. Si la tabla intermedia requiere más espacio de almacenamiento del disponible, es posible que se muestre el siguiente error:

«ERROR 1114 (HY000): la tabla "table-name" está llena»

Para solucionar este error, escale la instancia temporalmente con el fin de aumentar el almacenamiento local. Una vez completada la operación ALTER TABLE, puede desescalar la clase de instancia. Para aumentar el almacenamiento local, debe incrementar la clase de instancia de Aurora. Para obtener más información, consulte Clases de instancia de base de datos de Aurora.


Información relacionada

¿Cómo puedo ver el almacenamiento utilizado en mi clúster de base de datos de Amazon Aurora MySQL?

Límites de almacenamiento temporal de Aurora MySQL

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años