sql >> Base de Datos >  >> NoSQL >> MongoDB

ClusterControl - Gestión avanzada de copias de seguridad - MongoDB

La recuperación ante desastres no se completa sin un sistema de respaldo adecuado. Cuando sucede algo malo, los datos pueden restaurarse utilizando la copia de seguridad, preferiblemente con la última. Es posible que queramos evitar restaurar los datos que no están actualizados. Probablemente puede haber alguna información que falta con la copia de seguridad anterior. Esa es la razón por la cual tener una buena práctica de respaldo es crucial para la mayoría de los sistemas hoy en día.

MongoDB se ha vuelto más popular año tras año. Hay muchas empresas que comenzaron a usar MongoDB como una de sus bases de datos. Una de las características y probablemente la razón por la que MongoDB es popular se debe a su velocidad y MongoDB es fácil de escalar. MongoDB es una de las bases de datos admitidas en ClusterControl. Puede implementar, importar, escalar e incluso realizar la copia de seguridad con ClusterControl. En esta publicación de blog, repasaremos la función de copia de seguridad avanzada para el conjunto de réplicas y el clúster fragmentado de MongoDB.

Tipos de copia de seguridad de MongoDB

MongoDB admite copias de seguridad tanto lógicas como físicas. Además de eso, MongoDB también es compatible con Point In Time Recovery (PITR). Veamos cuál es la diferencia entre los 3 tipos de copia de seguridad.

Copia de seguridad lógica

mongodump

Esta utilidad creará una exportación binaria del contenido de una base de datos. No solo eso, mongodump podría exportar datos desde instancias mongod o mongos, puede exportar datos desde implementaciones independientes, de conjuntos de réplicas y de clústeres fragmentados

Copia de seguridad física

NA

La copia de seguridad física en MongoDB solo se puede realizar a nivel del sistema. En este momento, no hay una copia de seguridad física disponible en ClusterControl. La forma en que funciona la copia de seguridad física es mediante la creación de una instantánea en LVM o dispositivo de almacenamiento.

PITR

Copia de seguridad Percona para MongoDB

Percona Backup for MongoDB heredó y reemplaza mongodb_consistent_backup, que ya está en desuso. Es una solución distribuida y de bajo impacto para lograr copias de seguridad coherentes tanto para conjuntos de réplicas como para clústeres fragmentados de MongoDB. Este tipo de copia de seguridad es lógica pero al mismo tiempo podría actuar como una copia de seguridad de PITR.

Ahora que sabemos cuál es la diferencia entre el tipo de copia de seguridad.

Gestión de copias de seguridad de MongoDB

ClusterControl le permite crear la copia de seguridad en tiempo real, así como programarla en el horario deseado. Una cosa que vale la pena mencionar, en caso de que desee programar, ClusterControl utilizará la zona horaria UTC. Por lo tanto, debe elegir la hora adecuada que se adapte a su zona horaria para que el horario se ejecute en el horario menos ocupado.

Sigamos adelante e intentemos usar la función de copia de seguridad en ClusterControl. Además de eso, también revisaremos una de las funciones avanzadas que es cargar la copia de seguridad en la nube. A partir de ClusterControl 1.9.0, MongoDB admite la carga en la nube que le permite cargar la copia de seguridad en su proveedor de almacenamiento en la nube preferido.

Copia de seguridad lógica de MongoDB

Comencemos con la copia de seguridad lógica. Antes de que se pueda usar la función cargar la copia de seguridad en la nube, debe integrarla con su proveedor de nube preferido. Para nuestro caso, lo integraremos con la nube de AWS. Para realizar la integración completa de AWS, puede seguir los siguientes pasos:

  • Use la dirección de correo electrónico y la contraseña de su cuenta de AWS para iniciar sesión en la Consola de administración de AWS como usuario raíz de la cuenta de AWS .

  • En la página Panel de control de IAM, elija el nombre de su cuenta en la barra de navegación y luego seleccione Mis credenciales de seguridad.

  • Si ve una advertencia sobre cómo acceder a las credenciales de seguridad de su cuenta de AWS, elija Continuar con Credenciales de seguridad.

  • Expanda la sección Claves de acceso (ID de clave de acceso y clave de acceso secreta).

  • Seleccione Crear nueva clave de acceso. Luego elija Descargar archivo de clave para guardar el ID de la clave de acceso y la clave de acceso secreta en un archivo en su computadora. Después de cerrar el cuadro de diálogo, no podrá volver a recuperar esta clave de acceso secreta.

Suponiendo que ya tiene listo el clúster de MongoDB, comenzaremos nuestro proceso de copia de seguridad. Primero, vaya al clúster de MongoDB -> Copia de seguridad -> Crear copia de seguridad

En la página siguiente, puede especificar si desea habilitar el cifrado o no. Para el cifrado, ClusterControl utilizará OpenSSL para cifrar la copia de seguridad mediante el algoritmo AES-256 CBC. El cifrado se produce en el nodo de copia de seguridad. Si elige almacenar la copia de seguridad en el nodo del controlador, los archivos de copia de seguridad se transmiten en formato cifrado a través de socat o netcat. El cifrado se considera una de las funciones avanzadas de copia de seguridad que podría utilizarse, por lo que, en nuestro caso, habilitaremos esta opción. También puede definir el período de retención de su copia de seguridad en esta página. Para nuestro caso, utilizaremos la configuración predeterminada de 31 días.

En la tercera página, debe especificar el inicio de sesión para el proveedor de la nube , elija/cree el depósito. También puede especificar la retención de su copia de seguridad en la nube, la configuración predeterminada es de 180 días.

Una vez que haga clic en el botón Crear copia de seguridad, el trabajo se iniciará instantáneamente y tomará un tiempo dependiendo del tamaño de su base de datos. Al mismo tiempo, la copia de seguridad se cargará en el almacenamiento en la nube (AWS). Es posible que observe que los íconos de "clave" y "nube" se resaltan después de completar la copia de seguridad de la siguiente manera:

Ahora que tiene la copia de seguridad lista, para restaurar la copia de seguridad el paso es muy simple. Todo lo que tiene que hacer es hacer clic en el enlace "Restaurar" y hacer clic en el botón "Finalizar" en la página de restauración como la siguiente:

Copia de seguridad PITR de MongoDB

Como se mencionó anteriormente, Percona Backup for MongoDB es un tipo de copia de seguridad PITR. Antes de poder utilizar este tipo de copia de seguridad, debe instalar el agente (pbm-agent) en todos los nodos/instancias de MongoDB. Antes de eso, también debe montar un directorio compartido en todos los nodos. ¡Empecemos!

Primero, debe configurar el servidor NFS. Para instalar un servidor NFS, debe elegir o implementar cualquier máquina virtual, para nuestro caso instalaremos el servidor NFS en el nodo ClusterControl (Centos):

[[email protected] ~]# dnf install nfs-utils

Una vez que se instala la utilidad NFS, puede iniciar el servicio y habilitarlo en el arranque del sistema:

[[email protected] ~]# # systemctl start nfs-server.service

[[email protected] ~]# # systemctl habilitar nfs-server.service

[[email protected] ~]# # systemctl status nfs-server.service

El siguiente paso es configurar el archivo /etc/exports para que los clientes NFS puedan acceder al directorio:

[[email protected] ~]# vi /etc/exportaciones

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

En el nodo de clientes, que son nuestros nodos de base de datos, también debemos instalar los paquetes NFS necesarios:

[[email protected] ~]# dnf install nfs-utils nfs4-acl-tools

Una vez instalados los paquetes, podemos crear el directorio y montarlo:

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Asegúrese de realizar el montaje en todos los nodos de la base de datos para que podamos instalar pbm-agent. Teniendo en cuenta que todos los nodos ya tienen el directorio NFS montado, procederemos a instalar el agente ahora. Vaya al clúster de MongoDB -> Copia de seguridad -> Configuración -> Copia de seguridad de Percona

Una vez que haga clic en el botón Install Percona Backup, aparecerá la siguiente pantalla . Aquí, debe especificar el directorio compartido. Nuevamente, asegúrese de que el directorio se haya montado en todos sus nodos de MongoDB. Una vez que se haya especificado el directorio de copia de seguridad, puede hacer clic en el botón Instalar y esperar a que se complete la instalación.

La instalación exitosa debería ser como la siguiente captura de pantalla. Ahora podríamos continuar con el proceso de copia de seguridad:

Para crear la copia de seguridad usando Percona Backup, los pasos son simples. Desafortunadamente, no pudo usar la opción para cifrar la copia de seguridad con este método. Para usar la función para cargar a la nube, debe habilitar la opción antes de elegir el tipo de copia de seguridad; de lo contrario, su copia de seguridad no se cargará. Notará que la función de carga desaparecerá una vez que elija "percona-backup-mongodb".

En la segunda página puede especificar la retención local:

En cuanto a la última página, puede especificar los detalles de la nube y la retención como en el ejemplo anterior. El proceso de restauración es el mismo que el del ejemplo anterior, todo lo que necesita hacer es hacer clic en el enlace "Restaurar" y seguir los pasos en la página de restauración:

Conclusión

Con ClusterControl, puede crear y cargar su copia de seguridad de MongoDB en la nube. La carga en la nube es una de las características nuevas y avanzadas de MongoDB que se introdujo a partir de ClusterControl 1.9.0, siempre que la integración con el proveedor de la nube se haya realizado correctamente. También puede cifrar su copia de seguridad usando ClusterControl si desea proteger su copia de seguridad.