servicio Backup and DR para PostgreSQL en un dispositivo de copia de seguridad y recuperación

PostgreSQL es un sistema de base de datos relacional de objetos de código abierto y potente que usa y extiende el lenguaje SQL combinado con muchas funciones que almacenan y escalan de forma segura las cargas de trabajo de datos más complicadas.

API de copia de seguridad de PostgreSQL que usa Backup and DR

  • Copias de seguridad a nivel del volumen (seguimiento de bloques modificados de Linux y instantánea de LVM): Backup and DR usa los comandos pg_start_backup(label) y pg_stop_backup() de PostgreSQL cuando realiza copias de seguridad con el seguimiento de bloques modificados de Linux y la instantánea de LVM.

  • Copias de seguridad completas e incrementales (tradicionales basadas en archivos): Backup and DR usa los comandos de copias de seguridad basadas en archivos pg_dump de PostgreSQL. El comando pg_dump no tiene una opción para capturar cambios incrementales de una base de datos, por lo que cada copia de seguridad es una copia de seguridad completa de volcado de la base de datos.

    El restablecimiento de la base de datos la recupera mediante la sobrescritura física del área de datos.

  • Copia de seguridad de registros de PostgreSQL: Durante una copia de seguridad de registros, Backup and DR copia físicamente todos los WAL de PostgreSQL (WriteAheadLog). Para purgar registros, Backup and DR usa un comando a nivel del SO.

Cómo funciona: Copia de seguridad basada en volúmenes de Backup and DR con CBT de Linux

Solo se realiza un seguimiento de los bloques modificados en el mapa de bits: no hay operaciones de copia en escritura ni operaciones con uso intensivo de E/S.

En los siguientes pasos, se describe el proceso para la copia de seguridad y la recuperación de datos:

  1. El agente de Backup and DR tiene CBT para hacer un seguimiento de los bloques modificados en el área de datos de la base de datos.

  2. El agente llama a la API de la base de datos para congelar o pausar la base de datos para la copia de seguridad de datos.

  3. El agente crea una instantánea de LVM del área de datos de la base de datos y sintetiza un mapa de bits.

  4. El agente llama a la API de la base de datos para descongelar la base de datos.

  5. El agente copia los bloques modificados al dispositivo de copia de seguridad o recuperación, que luego borra la instantánea y cataloga la copia de seguridad.

  6. El dispositivo emite una instantánea interna y sintetiza una copia de seguridad completa virtual de un momento determinado.

  7. Para la recuperación de datos, Backup and DR activa de inmediato un disco de etapa de pruebas reescribible y pone en línea la base de datos.

El comando quiesce o unquiesce se ejecuta en el principal para un trabajo de instantánea a nivel del volumen:

select pg_start_backup(<label>);
select pg_stop_backup();

Los comandos quiesce y unquiesce se ejecutan en un nodo en espera para un trabajo de instantánea a nivel del volumen:

Si la versión de PostgreSQL es 10.x o posterior, haz lo siguiente:

select pg_wal_replay_pause();
select pg_wal_replay_resume();

Si la versión de PostgreSQL es 9.x, haz lo siguiente:

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

Cómo funciona: Copia de seguridad basada en archivos

En los siguientes pasos, se describe el proceso para realizar la copia de seguridad y la recuperación de datos con copias de seguridad basadas en archivos:

  1. El agente de Backup and DR se implementa en el servidor de bases de datos.

  2. Activa el disco de etapa de pruebas en el servidor de bases de datos.

  3. Invoca la copia de seguridad completa con el comando de copia de seguridad de volcado y escribe la copia de seguridad en el disco activado.

  4. Backup and DR toma una instantánea interna. Las copias de seguridad de registros se realizan de manera similar directamente desde el sistema de archivos en cualquier programación que configures.

  5. Para la recuperación de datos, Backup and DR activa de inmediato el disco de etapa de pruebas en el servidor de bases de datos y comienza la operación de restablecimiento de la base de datos. Los registros se pueden reproducir en cualquier momento después de que se restablece la base de datos.

¿Qué sigue?

Prepara la base de datos para Backup and DR

Otra documentación para Backup and DR para PostgreSQL