Un artículo sobre cómo CommVault respalda PostgreSQL

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 funciona

La 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 CommVault

Ahora 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):

  • Archivos de registro.

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 PostgreSQL

La 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 PostgreSQL

Al 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.

  1. 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
  2. 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
  3. 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ón

Retroceder 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:

  1. Restaurar la base de datos en un momento determinado para acceder a datos que, por ejemplo, podrían eliminarse de la base de datos;
  2. 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.htm

También enfocaríamos su atención en las siguientes características y pasos durante la recuperación:

  1. 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;
  2. La recuperación debe realizarse en un nodo con el rol de Maestro;
  3. Al restaurar, asegúrese de verificar que los servicios de PostgreSQL no se inicien después de que se complete la operación;
  4. En el nodo restaurado, cambie la configuración al rol Maestro, porque en nuestro caso, respaldamos los nodos en espera;
  5. 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

Source: https://habr.com/ru/post/442760/


All Articles