En este artículo, revisaremos nuestra experiencia con CommVault para las copias de seguridad de PostgreSQL. Para hacer esto, analizaremos una pequeña parte de uno de nuestros proyectos anteriores, donde configuramos una copia de seguridad de la base de datos PostgreSQL del cliente.

Sobre CommVault
CommVault es una plataforma única escalable que proporciona protección integrada de datos y gestión de contenido. La plataforma admite módulos de software con funciones para realizar copias de seguridad y restaurar datos, su archivado, deduplicación, replicación, distribución jerárquica de medios y cifrado. Los módulos de la plataforma funcionan con contenido corporativo de varias fuentes y proporcionan recuperación de información de extremo a extremo en el entorno corporativo y su disponibilidad constante incluso desde archivos gracias a una indexación inteligente de documentos en un repositorio virtual. La plataforma también está equipada con herramientas analíticas avanzadas que generan informes sobre las acciones de los usuarios y las aplicaciones y sobre el funcionamiento de la infraestructura.
CommVault protege, restaura y gestiona datos y acceso a ellos en entornos físicos y virtuales.
Acerca de la copia de seguridad de PostgreSQL
Para realizar una copia de seguridad de la base de datos PostgreSQL, se utiliza un agente (iDataAgent), que se instala en el servidor donde se ejecuta la base de datos. El agente está diseñado para administrar y proteger de manera efectiva datos comerciales importantes en bases de datos PostgreSQL. Puede usar este agente para hacer una copia de seguridad y restaurar todo el servidor PostgreSQL o bases de datos individuales. Si es necesario, también puede restaurar tablas individuales.
Características clave:
PostgreSQL iDataAgent proporciona la flexibilidad para hacer una copia de seguridad de las bases de datos en varios modos y restaurarlas en un tiempo mínimo. Puede realizar una copia de seguridad o una copia de seguridad de todo el servidor PostgreSQL, bases de datos individuales o registros archivados en cualquier momento.
Las funciones de copia de seguridad y recuperación que se pueden realizar en diferentes modos:
- iDataAgent proporciona la capacidad de restaurar todo el servidor PostgreSQL. Todas las bases de datos ubicadas en el servidor de origen se pueden restaurar en el servidor de destino.
- Defina una única base de datos o grupo de bases de datos como datos de subcliente y realice una copia de seguridad y restauración.
- Haga una copia de seguridad solo de los registros en el servidor PostgreSQL. Estos archivos de registro se pueden usar para recuperar las transacciones de la base de datos perdidas debido a un sistema operativo o falla del disco.
- Restaure todo su servidor PostgreSQL en un momento específico para la Copia de seguridad basada en el sistema de archivos.
- Vea y verifique el estado de las operaciones de copia de seguridad y recuperación desde Job Controller y Event Viewer en la consola CommCell. Realice un seguimiento del estado de su trabajo con informes que puede guardar y distribuir.
- Utilice las copias de seguridad a nivel de bloque como una forma más rápida de hacer una copia de seguridad de los datos, ya que las copias de seguridad son solo para extensiones (o partes modificadas de la base de datos) y no para toda la base de datos PostgreSQL.
- Desduplicación a nivel de bloque La deduplicación proporciona una forma más inteligente de almacenar datos mediante la identificación y eliminación de duplicados en las operaciones de protección de datos.
Arquitectura
Esquema
Cómo funcionaLa plataforma CommVault se implementa en la red como parte del servidor de administración CommServe y un servidor MediaAgent separado (se recomienda usar un servidor físico).
Se instala un agente (iDataAgent) en el servidor con la base de datos PostgreSQL y sus políticas de respaldo se configuran de acuerdo con los requisitos. iDataAgent recopila los datos necesarios, comprime, deduplica, si es necesario, los cifra y los transfiere a MediaAgent.
Además, los datos se colocan en el sistema de almacenamiento, en una biblioteca de cintas o en el almacenamiento en la nube.
Para la recuperación, los datos se extraen del almacenamiento y se copian al servidor con PostgreSQL.
Configuración en la consola CommVaultAhora veamos cómo hacer esto en la consola de administración.
1. Para iniciar la copia de seguridad de la base de datos en este momento, seleccione en la consola del navegador CommCell:
Equipos cliente | El | PostgreSQL | El | DumpBasedBackupSet.
Haga clic derecho en la carpeta
predeterminada en el
subcliente y seleccione
Copia de seguridad .

2. Seleccione
Completo como tipo de copia de seguridad y seleccione
Inmediato .
3. Haga clic en
Aceptar .
Se inicia la copia de seguridad de
PostgreSQL .

4. Durante la ejecución del trabajo, su ventana de
trabajo de la consola
CommCell puede monitorear su estado.

5. Una vez que se complete la tarea, puede ver los detalles de la tarea completa desde la ventana
Historial de copia de seguridad . Seleccione la carpeta
predeterminada en el
subcliente y seleccione
Historial de copia de seguridad .

6. En la ventana
Historial de copia de seguridad , puede ver los siguientes datos sobre las tareas completadas:
- Errores de copia de seguridad al completar una tarea;
- Elementos que fueron respaldados con éxito;
- Detalles de la tarea;
- eventos;
- archivos de registro;
- Medios en los que se almacenan los datos.
¿Por qué puedes retroceder?Copia de seguridad basada en volcado:
- Bases de datos del sistema PostgreSQL;
- Bases de datos de usuarios de PostgreSQL
- Copia de seguridad de un sistema de archivos (Copia de seguridad basada en el sistema de archivos).
Bases de datos PostgreSQL (datos y registros) (datos y registros):
Lo que no se copia:
- Archivos de aplicación PostgreSQL (archivos de aplicación);
- Datos del sistema operativo.
Use el Agente de datos del sistema de archivos para hacer una copia de seguridad de los componentes anteriores.
Desafío
El cliente necesitaba implementar la plataforma CommVault para hacer una copia de seguridad de sus servicios. Uno de los servicios fue la base de datos PostgreSQL, que se implementó en una configuración de clúster de 2 nodos: Master y Standby. Ambos trabajaron en servidores físicos.
Características de configuración del cliente PostgreSQLLa configuración del clúster PostgreSQL se eligió para garantizar la tolerancia a errores del servidor de la base de datos.
El cliente realizó la copia de seguridad de la base de datos PostgreSQL usando pg_dump.
El esquema de trabajo se presenta en la siguiente figura:

Configurar copia de seguridad con CommVault
Para unificar la plataforma de respaldo y aprovechar el almacenamiento de respaldo, decidimos usar CommVault para respaldar la base de datos PostgreSQL.
Porque el cliente usó la configuración de clúster PostgreSQL, para la copia de seguridad decidimos usar la opción Copia de seguridad basada en el sistema de archivos para la copia de seguridad de archivos. Al mismo tiempo, tuve que abandonar el uso de la copia de seguridad de bloque (Block Level Backup), porque La versión del kernel de Linux utilizada en la que se implementa PostgreSQL es más alta que la CommVault oficialmente compatible. Debido al hecho de que el servicio es crítico para la organización, decidieron hacer un cronograma de respaldo de acuerdo con la tabla:
| Copia completa
| Registros de transacciones
|
---|
Graph
| Una vez al día, a las 23 horas.
| Cada hora durante 24 horas |
Periodo de almacenamiento de copias
| 7 dias
| 1 dia
|
El volumen total de la base de datos era más de 1.5 Tb y para mantenerse dentro de los RTO y RPO requeridos, se utilizó una red LAN separada para el respaldo a una velocidad de 10 Gb / s.
La copia de seguridad se realizó de acuerdo con el siguiente diagrama:

Las copias de seguridad se tomaron de un servidor PostgreSQL Standby y se almacenaron en un servidor con MediaAgent instalado. A continuación, una vez al mes, se cargaron copias completas en la nube de Amazon para una vida útil de un año.
Se realizaron todos los ajustes necesarios y la copia de seguridad se realizó correctamente.
Características de configuración de respaldo de PostgreSQLAl instalar y configurar la copia de seguridad, encontramos algunas dificultades, que se enumeran a continuación. Creo que será útil tener en cuenta estas características al realizar proyectos similares y al configurar los administradores de bases de datos PostgreSQL.
- Verifique que los nodos Master y Standby tengan la misma configuración de servicio PostgreSQL establecida de acuerdo con la documentación de CommVault:
documentation.commvault.com/commvault/v11_sp14/article?p=21491.htm - Compruebe que los parámetros especificados en Solución de problemas de copia de seguridad son consistentes con los especificados por los enlaces:
documentation.commvault.com/commvault/v11_sp14/article?p=21723.htm
documentation.commvault.com/commvault/v11_sp14/article?p=21518.htm - Asegúrese de que los derechos de acceso al servidor de base de datos y las bases de datos se establecieron de acuerdo con los siguientes requisitos:
documentation.commvault.com/commvault/v11_sp14/article?p=21523.htm
RecuperaciónRetroceder es bueno. Naturalmente, estamos interesados no solo en el proceso de su creación, sino también en la restauración. Por lo que está hecho.
En esta situación, la restauración, basada en nuestra experiencia, puede ser necesaria para el cliente en 2 casos:
- Restaurar la base de datos en un momento determinado para acceder a datos que, por ejemplo, podrían eliminarse de la base de datos;
- En caso de pérdida de todo el clúster de base de datos PostgreSQL.
Para restaurar la base de datos, solo lea la documentación en este enlace:
documentation.commvault.com/commvault/v11_sp14/article?p=21502.htmTambién enfocaríamos su atención en las siguientes características y pasos durante la recuperación:
- SIEMPRE siga el procedimiento de recuperación con el DBA PostgreSQL. Esto lo ayudará a evitar acciones incorrectas y resolver rápidamente los problemas que surjan durante el proceso de recuperación;
- La recuperación debe realizarse en un nodo con el rol de Maestro;
- Al restaurar, asegúrese de verificar que los servicios de PostgreSQL no se inicien después de que se complete la operación;
- En el nodo restaurado, cambie la configuración al rol Maestro, porque en nuestro caso, respaldamos los nodos en espera;
- Deshabilite los servicios en el nodo En espera, habilítelos en el nodo Maestro, luego habilite el nodo En espera y configure la replicación nuevamente.
Conclusión
En este artículo, no tomamos en cuenta la copia de seguridad del sistema operativo Linux y otros sistemas. Debe hacerse por separado. La documentación de CommVault describe esto en detalle. Si nuestro artículo despierta interés y hay muchos deseos, definitivamente describiremos cómo hacer una copia de seguridad de otros sistemas. Escriba en los comentarios qué sistemas serían de su interés.
Esperamos que nuestra experiencia lo ayude a configurar una copia de seguridad mediante el DBA PostgreSQL.
Autores
Sergey Alexandrov, jefe del grupo de respaldo, Softline
Artyom Khmelenko, ingeniero jefe, Softline