Sauvegarde et reprise après sinistre pour PostgreSQL sur un appareil de sauvegarde/récupération

Attention : À partir du 31 juillet 2027, la sauvegarde des bases de données PostgreSQL à l'aide de la console de gestion de l'appareil sera obsolète. Pour en savoir plus sur cet abandon et sur les solutions de sauvegarde alternatives, consultez Migrer à partir d'anciennes sauvegardes de base de données.

PostgreSQL est un système de base de données Open Source de type objet-relationnel à fort potentiel qui utilise et étend le langage SQL, combiné à de nombreuses fonctionnalités qui stockent et mettent à l'échelle de manière sécurisée les charges de travail de données les plus complexes.

API de sauvegarde PostgreSQL utilisée par Backup and DR

  • Sauvegardes au niveau du volume (suivi des blocs modifiés Linux et instantané LVM) : Backup and DR utilise les commandes PostgreSQL pg_start_backup(label) et pg_stop_backup() lors de l'exécution de sauvegardes avec le suivi des blocs modifiés Linux et l'instantané LVM.

  • Sauvegardes complètes et incrémentielles (traditionnelles, basées sur des fichiers) : Backup and DR utilise les commandes de sauvegarde basées sur des fichiers PostgreSQL pg_dump. La commande pg_dump ne dispose pas d'une option permettant de capturer les modifications incrémentielles d'une base de données. Par conséquent, chaque sauvegarde est une sauvegarde complète de la base de données.

    La restauration de la base de données récupère la base de données en écrasant physiquement la zone de données.

  • Sauvegarde des journaux PostgreSQL : lors d'une sauvegarde des journaux, Backup and DR copie physiquement tous les WAL PostgreSQL (WriteAheadLog). Pour purger les journaux, Backup and DR utilise une commande au niveau de l'OS.

Fonctionnement : Sauvegarde basée sur les volumes Backup and DR avec Linux CBT

Seuls les blocs modifiés sont suivis dans le bitmap : pas de copie sur écriture, pas d'opérations d'E/S intensives.

Les étapes suivantes décrivent le processus de sauvegarde et de récupération des données :

  1. L'agent Backup and DR dispose de la fonctionnalité CBT pour suivre les blocs modifiés dans la zone de données de la base de données.

  2. L'agent appelle l'API de la base de données pour figer ou suspendre la base de données pour la sauvegarde des données.

  3. L'agent crée un instantané LVM de la zone de données de la base de données et synthétise un bitmap.

  4. L'agent appelle l'API de la base de données pour la débloquer.

  5. L'agent copie les blocs modifiés sur l'appareil de sauvegarde/restauration, qui supprime ensuite l'instantané et catalogue la sauvegarde.

  6. L'appareil émet un instantané interne et synthétise une sauvegarde complète virtuelle à un moment précis.

  7. Pour la récupération de données, Backup and DR installe instantanément un disque de préproduction réinscriptible et met la base de données en ligne.

La commande de mise au repos ou de reprise est exécutée sur l'instance principale pour un job d'instantané au niveau du volume :

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

Les commandes de mise au repos et de reprise sont exécutées sur un nœud de secours pour un job d'instantané au niveau du volume :

Si la version de PostgreSQL est 10.x ou ultérieure :

select pg_wal_replay_pause();
select pg_wal_replay_resume();

Si la version de PostgreSQL est 9.x :

select pg_xlog_replay_pause();
select pg_xlog_replay_resume();

Fonctionnement : sauvegarde basée sur les fichiers

Les étapes suivantes décrivent le processus de sauvegarde et de récupération des données avec des sauvegardes basées sur des fichiers :

  1. L'agent Backup and DR est déployé sur le serveur de base de données.

  2. Installez le disque de préproduction sur le serveur de base de données.

  3. Appelez la sauvegarde complète à l'aide de la commande de sauvegarde de vidage, en écrivant la sauvegarde sur le disque installé.

  4. Backup and DR prend un instantané interne. Les sauvegardes de journaux sont effectuées de la même manière, directement à partir du système de fichiers, selon la programmation que vous configurez.

  5. Pour la récupération de données, Backup and DR installe instantanément le disque de préproduction sur le serveur de base de données et lance l'opération de restauration de la base de données. Les journaux peuvent être lus à tout moment après la restauration de la base de données.

Étapes suivantes

Préparer la base de données pour Backup and DR

Autre documentation sur Backup and DR pour PostgreSQL