En esta página, se muestra cómo restablecer un clúster de AlloyDB Omni con una copia de seguridad creada con pgBackRest, la solución de copia de seguridad de código abierto incluida con el contenedor de Docker de AlloyDB Omni.
Debido a que AlloyDB Omni es compatible con PostgreSQL, los comandos y las técnicas de restablecimiento de datos que se describen en el manual de pgBackRest también se aplican a AlloyDB Omni. En esta página, se muestra una selección de tareas de recuperación comunes, con ejemplos de comandos relevantes.
Para obtener más información sobre cómo configurar pgBackRest para que funcione con AlloyDB Omni, consulta Configura pgBackRest para AlloyDB Omni.
Antes de comenzar
Antes de configurar AlloyDB Omni para que funcione con pgBackrest, debes tener AlloyDB Omni instalado y en ejecución en un servidor que controles.
Un servidor de base de datos de destino que ejecute la misma versión principal de AlloyDB Omni que el servidor de base de datos de origen Para obtener más información sobre cómo instalar AlloyDB Omni, consulta Cómo instalar AlloyDB Omni.
El servidor de destino puede ser la misma máquina que el servidor de origen.
Un repositorio de copias de seguridad de pgBackRest que contenga al menos una copia de seguridad de la base de datos de AlloyDB Omni de origen
Suficiente espacio en el disco libre en el servidor de destino para contener la base de datos restablecida
Descripción general
Para realizar un restablecimiento de AlloyDB Omni con pgBackRest, ejecuta el comando pgbackrest restore
. Los argumentos que le proporcionas al comando varían según tu situación.
En general, debes ejecutar el comando pgbackrest restore
con marcas que proporcionan la siguiente información:
- La ubicación de tu archivo
pgbackrest.conf
. - Es el nombre del repositorio de copias de seguridad de pgBackRest desde el que deseas restablecer. Estos repositorios se nombran y definen en el archivo
pgbackest.conf
. - Es la ubicación en el sistema de archivos local a la que se escribirán los datos restablecidos.
- Un identificador de la copia de seguridad o el momento en particular desde el que deseas restablecer.
Cuando ejecutes los comandos pgbackrest restore
en contenedores, recuerda usar las rutas de acceso del sistema de archivos desde el punto de vista del contenedor. Por ejemplo, la ruta de acceso al directorio de datos de AlloyDB Omni siempre es /mnt/disks/pgsql
, independientemente de su ubicación en el servidor host. Para obtener más información, consulta Nota sobre las rutas de acceso del sistema de archivos.
Realiza un restablecimiento de un momento determinado
En este ejemplo, se restablecen datos de un repositorio de pgBackRest y se asigna un nombre a un momento determinado desde el que se restablecerán. Si definiste varios repositorios en el archivo pgbackrest.conf
del entorno de destino, pgBackRest elige el repositorio desde el que se restablecerá en función de la disponibilidad, la velocidad esperada y otros factores.
En el ejemplo, se da por sentado lo siguiente:
Tienes un archivo
pgbackrest.conf
ubicado en el nivel superior del directorio de datos de AlloyDB Omni de destino. Esto hace que el archivo esté disponible para elpgbackrest
creado en contenedor como/mnt/disks/pgsql/pgbackrest.conf
.Habilitaste las copias de seguridad continuas con tu configuración de pgBackRest.
En el entorno de destino, realiza un restablecimiento de PITR y especifica una marca de tiempo desde la que restablecer:
sudo docker exec pg-service pgbackrest \ --config-path=/mnt/disks/pgsql \ --stanza=STANZA \ --type=time \ --pg1-path=/mnt/disks/pgsql/data-RESTORED \ --target="TIMESTAMP" \ restore
Reemplaza lo siguiente:
STANZA
: Es la estrofa de configuración, definida por el archivopgbackrest.conf
, que se aplicará a este restablecimiento, por ejemplo,omni
.TIMESTAMP
: Es la hora a partir de la que se debe realizar el restablecimiento, por ejemplo,2024-02-22 19:50:00
.
En el entorno de destino, detén el servidor de base de datos:
sudo alloydb database-server stop
Como medida de precaución, cambia el nombre del subdirectorio
data
de tu directorio de datos:cd DATA_DIR
sudo mv data data-OLD
Reemplaza
DATA_DIR
por la ruta de acceso del sistema de archivos al directorio de datos de AlloyDB Omni.Mueve los datos restablecidos a su lugar y limpia
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Inicia el servidor de la base de datos:
sudo alloydb database-server start
Ahora puedes conectarte a tu base de datos con psql
y confirmar que los datos se restablecieron como esperabas. Si es así, puedes borrar la copia de data-OLD
del subdirectorio data
que creaste antes.
Para obtener más información sobre la PITR en pgBackRest, consulta Recuperación de un momento determinado.
Para obtener más información sobre cómo preparar un archivo pgbackrest.conf
para usarlo con AlloyDB Omni, consulta Cómo configurar pgBackRest para AlloyDB Omni.
Otras opciones
El comando pgbackrest restore
es muy flexible, con un conjunto de opciones y funciones que puedes controlar pasando diferentes opciones de línea de comandos. Se incluyen las siguientes:
- Limitar un restablecimiento solo a los archivos modificados
- Restablecer solo las bases de datos seleccionadas
Para obtener una guía completa sobre cómo realizar restablecimientos en pgBackRest, consulta Restablece.