vCSA: Vacuum PostgreDB Storm-Cloud

Tabla de contenido

Buenas chic@s! En día de hoy vengo hablaros de como realizar un mantenimiento de la base de datos eliminando los registros obsoletos. En mi caso voy actualizar a la versión 8 de vSphere en breve, y me gustaría llevarme la base de datos lo mas limpia posible a la nueva versión.

¿Cuándo se debe realizar un vacuum?

Si tenemos falta de espacio en la partición “storage/seat“, la cual esta dedicada a la base de datos vCenter vPostgres en donde se almacenan los datos, tareas, estadísticas y eventos .

Si esta partición se llena, habría problemas de inestabilidad al acceder a vCenter; un problema que suele ocurrir es hay entradas obsoletas que no se suelen borrar, esta suelen encontrarse en la siguientes tablas como: “vumdbc.vci_scanresults_confresupd” y “vumdbc.vci_scanhistory_targets

. SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') AND C.relkind <> 'i' AND nspname !~ '^pg_toast' ORDER BY pg_total_relation_size(C.oid) DESC LIMIT 20;
 SELECT EVENT_TYPE, CAST(COUNT(0) AS INT) as EVENT_TYPE_CNT FROM VPXV_EVENT_ALL GROUP BY EVENT_TYPE ORDER BY COUNT(0) DESC;

Proceso

Antes de iniciar el proceso, tenemos que estar seguro de no haya ningún tipo de operación sensible, ya sean backups, restores, despliegue de maquinas,….

Una vez estemos seguros de eso, nos conectaremos por SSH a nuestro vCenter, y pararemos todos los servicios con el siguiente comando.

service-control --stop -all

Una vez tenemos todos los servicios parados, arrancaremos únicamente el servicio del Postgres.

service-control --start vmware-vpostgres

Ahora nos conectamos al Postgres SQL con el siguiente comando:

psql -U postgres -d VCDB

Ahora lanzamos los comandos ” vacuum full“, y “vacuum analyze” para que inicie el proceso de limpieza.

Si nos abrimos otra sesión paralelo, y nos vamos a la ruta “var/log/vmware/vpostgres“, lanzando el comando “tail -f postgresql-x.log“, ahí podremos ver en tiempo real todo lo que se esta haciendo.

Una vez haya terminado procederemos arrancar todos los servicios.

service-control --start -all

Conclusion

Bueno hasta aquí hemos llegado, esperemos que os sirva, nunca esta de mas un mantenimiento a nuestra base de datos, además los jobs que realiza el internamente. Nos vemos en el siguiente post, donde actualizaremos a vSphere 8.

INFORMACION DEL PUBLICADOR
Kamal Majaiti
Kamal Majaiti
Administrador de sistemas e informático por vocación.
COMPARTELO EN REDES
Publica un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.