sql >> Base de Datos >  >> RDS >> Database

Sugerencias de administración de copias de seguridad para TimescaleDB

La información es uno de los activos más valiosos de una empresa, y no hace falta decir que se debe contar con un Plan de Recuperación de Desastres (DRP) para evitar la pérdida de datos en caso de accidente o falla del hardware. Una copia de seguridad es la forma más simple de DR. Puede que no siempre sea suficiente para garantizar un objetivo de punto de recuperación (RPO) aceptable, pero es un buen primer enfoque.

Ya sea que se trate de un servidor altamente cargado las 24 horas del día, los 7 días de la semana, o de un entorno de bajo volumen de transacciones, deberá hacer que las copias de seguridad sean un procedimiento fluido sin interrumpir el rendimiento del servidor en un entorno de producción.

Si hablamos de TimescaleDB, existen diferentes tipos de respaldo para este nuevo motor para datos de series temporales. El tipo de copia de seguridad que debemos utilizar depende de muchos factores, como el entorno, la infraestructura, la carga, etc.

En este blog, veremos estos diferentes tipos de copias de seguridad disponibles y cómo ClusterControl puede ayudarnos a centralizar nuestra administración de copias de seguridad para TimescaleDB.

Tipos de copia de seguridad

Existen diferentes tipos de copias de seguridad para bases de datos. Veamos cada uno de ellos en detalle.

  • Lógico:la copia de seguridad se almacena en un formato legible por humanos como SQL.
  • Físico:la copia de seguridad contiene datos binarios.
  • Completo/Incremental/Diferencial:la definición de estos tres tipos de copias de seguridad está implícita en el nombre. La copia de seguridad completa es una copia completa de todos sus datos. La copia de seguridad incremental solo realiza una copia de seguridad de los datos que han cambiado desde la copia de seguridad anterior y la copia de seguridad diferencial solo contiene los datos que han cambiado desde la última copia de seguridad completa ejecutada. Las copias de seguridad incrementales y diferenciales se introdujeron como una forma de reducir la cantidad de tiempo y el uso de espacio en disco que se necesita para realizar una copia de seguridad completa.
  • Compatible con la recuperación a un punto en el tiempo:PITR Implica restaurar la base de datos en cualquier momento del pasado. Para poder hacer esto, necesitaremos restaurar una copia de seguridad completa y luego aplicar todos los cambios que ocurrieron después de la copia de seguridad hasta justo antes de la falla.

Función de gestión de copias de seguridad de ClusterControl

Veamos cómo ClusterControl puede ayudarnos a administrar diferentes tipos de copias de seguridad.

Crear una copia de seguridad

Para esta tarea, vaya a ClusterControl -> Seleccione Clúster de TimescaleDB -> Copia de seguridad -> Crear copia de seguridad .

Podemos crear una nueva copia de seguridad o configurar una programada. Para nuestro ejemplo, crearemos una única copia de seguridad al instante.

Aquí tenemos un método para cada tipo de copia de seguridad que mencionamos anteriormente.

Tipo de copia de seguridad Herramienta Definición
Lógico pg_dumpall Es una utilidad para escribir todas las bases de datos TimescaleDB de un clúster en un archivo de secuencia de comandos. El archivo de script contiene comandos SQL que se pueden usar para restaurar las bases de datos.
Físico pg_basebackup Se utiliza para hacer una copia binaria de los archivos del clúster de la base de datos, mientras se asegura de que el sistema entre y salga del modo de copia de seguridad automáticamente. Siempre se realizan copias de seguridad del clúster de base de datos completo de un clúster de base de datos TimescaleDB en ejecución. Estos se toman sin afectar a otros clientes a la base de datos.
Completo/Incr/Dif pgrespaldo Es una solución de respaldo y restauración simple y confiable que puede escalar sin problemas a las bases de datos y cargas de trabajo más grandes mediante el uso de algoritmos que están optimizados para los requisitos específicos de la base de datos. Una de las funciones más importantes es la compatibilidad con copias de seguridad completas, incrementales y diferenciales.
PITR pg_basebackup+WAL Para crear una copia de seguridad compatible con PITR, ClusterControl utilizará pg_basebackup y los archivos WAL, para poder restaurar la base de datos en cualquier momento del pasado.

Debemos elegir un método, el servidor desde el que se realizará la copia de seguridad y dónde queremos almacenar la copia de seguridad. También podemos subir nuestra copia de seguridad a la nube (AWS, Google o Azure) habilitando el botón correspondiente.

Tenga en cuenta que si desea crear una copia de seguridad compatible con PITR, debemos usar pg_basebackup en este paso y debemos tomar la copia de seguridad del nodo maestro.

Luego especificamos el uso de compresión, encriptación y la retención de nuestra copia de seguridad.

En la sección de copia de seguridad, podemos ver el progreso de la copia de seguridad e información como el método, el tamaño, la ubicación y más.

Habilitación de la recuperación de un punto en el tiempo

Si queremos utilizar la función PITR, debemos tener habilitado el archivado WAL. Para ello podemos ir a ClusterControl -> Seleccionar clúster de TimescaleDB -> Acciones de nodo -> Habilitar archivo WAL , o simplemente vaya a ClusterControl -> Seleccione Clúster de TimescaleDB -> Copia de seguridad -> Configuración y habilite la opción "Habilitar la recuperación de un momento dado (archivo WAL) ” como veremos en la siguiente imagen.

Debemos tener en cuenta que para habilitar el Archivado WAL, debemos reiniciar nuestra base de datos. ClusterControl también puede hacer esto por nosotros.

Además de las opciones comunes a todas las copias de seguridad como el “Directorio de copias de seguridad ” y el “Período de retención de copia de seguridad ”, aquí también podemos especificar el Período de Retención WAL. Por defecto es 0, lo que significa para siempre.

Para confirmar que tenemos habilitado el archivado WAL, podemos seleccionar nuestro nodo maestro en ClusterControl -> Seleccionar clúster de TimescaleDB -> Nodos , y deberíamos ver el mensaje WAL Archiving Enabled, como podemos ver en la siguiente imagen.

Restauración de una copia de seguridad

Una vez finalizada la copia de seguridad, podemos restaurarla usando ClusterControl. Para ello, en nuestra sección de copias de seguridad (ClusterControl -> Select TimescaleDB Cluster -> Backup ), podemos seleccionar "Restaurar copia de seguridad", o directamente "Restaurar" sobre la copia de seguridad que queremos restaurar.

Tenemos tres opciones para restaurar la copia de seguridad. Podemos restaurar la copia de seguridad en un nodo de base de datos existente, restaurar y verificar la copia de seguridad en un host independiente o crear un nuevo clúster a partir de la copia de seguridad.

Si estamos tratando de restaurar una copia de seguridad compatible con PITR, también debemos especificar la hora.

Los datos se restaurarán como estaban en el momento especificado. Tenga en cuenta que se utiliza la zona horaria UTC y que nuestro servicio TimescaleDB en el maestro se reiniciará.

Podemos monitorear el progreso de nuestra restauración desde la sección Actividad en nuestro ClusterControl.

Verificación de copia de seguridad automática

Una copia de seguridad no es una copia de seguridad si no es restaurable. La verificación de las copias de seguridad es algo que muchos suelen descuidar. Veamos cómo ClusterControl puede automatizar la verificación de las copias de seguridad de TimescaleDB y ayudar a evitar sorpresas.

En ClusterControl, seleccione su clúster y vaya a "Copia de seguridad ", luego seleccione "Crear copia de seguridad ”.

La función de copia de seguridad de verificación automática está disponible para las copias de seguridad programadas. Entonces, elijamos la opción “Copia de seguridad programada ” opción.

Al programar una copia de seguridad, además de seleccionar las opciones comunes como el método o el almacenamiento, también debemos especificar la programación/frecuencia.

En el siguiente paso, podemos comprimir y cifrar nuestra copia de seguridad y especificar el período de retención. Aquí, también tenemos la opción "Verificar copia de seguridad ” característica.

Para usar esta característica, necesitamos un host dedicado (o VM) que no sea parte del clúster.

ClusterControl instalará el software y restaurará la copia de seguridad en este host. Después de la restauración, podemos ver el icono de verificación en la sección Copia de seguridad de ClusterControl.

Conclusión

Hoy en día, las copias de seguridad son obligatorias en cualquier entorno. Le ayudan a proteger sus datos. Las copias de seguridad incrementales pueden ayudar a reducir la cantidad de tiempo y espacio de almacenamiento utilizado para el proceso de copia de seguridad. Los registros de transacciones son importantes para la recuperación puntual. ClusterControl puede ayudar a automatizar el proceso de copia de seguridad de sus bases de datos TimescaleDB y, en caso de falla, restaurarlo con unos pocos clics. Además, puede minimizar el RPO utilizando la copia de seguridad compatible con PITR y mejorar su Plan de recuperación ante desastres.