Backup and Restore es parte del paquete MariaDB ColumnStore Tools. Se puede descargar desde:

https://mariadb.com/downloads/mariadb-ax/tools-ax

El paquete está disponible como rpm, deb y binary. Siga las instrucciones para instalar el paquete asociado:

RPM

rpm -ivh mariadb-columnstore-tools-x.x.x-x.rpm

DEBUTANTE

dpkg -i mariadb-columnstore-tools-x.x.x-x.deb

BINARIO

tar zxvf  mariadb-columnstore-tools-x.x.x-x.tar.gz

Los pasos de alto nivel involucrados en la realización de una copia de seguridad completa de MariaDB ColumnStore son:

  • Suspenda la actividad de escritura en el sistema.
  • Haga una copia de seguridad de los archivos de datos del servidor MariaDB.
  • Realice una copia de seguridad de los archivos de datos de ColumnStore.
  • Reanude la actividad de escritura en el sistema.

En MariaDB ColumnStore 1.1.0 se encuentra disponible una herramienta – ColumnStoreBackup para automatizar la copia de seguridad / restauración en los nodos MariaDB ColumnStore.

Nota: la herramienta ColumnStoreBackup es solo para copias de seguridad de datos de ColumnStore. Es posible que no se realice una copia de seguridad completa de otros motores y que los datos se pierdan durante la restauración.

Configuración de copia de seguridad

Para ejecutar ColumnStoreBackup, deberá configurar un servidor de respaldo con inicio de sesión ssh sin contraseña disponible para la cuenta de usuario que instaló MariaDB ColumnStore. (Por defecto: root). Necesitará un inicio de sesión ssh sin contraseña para todos los módulos MariaDB ColumnStore.

Copia el ejecutable almacén de columnas en el servidor de respaldo. Cree un directorio de destino en el servidor de respaldo para almacenar los archivos. Este directorio deberá tener suficiente espacio para almacenar todos los archivos de datos de ColumnStore. Ejemplo:

Backup Executable: /home/user/columnstoreBackup
Backup Data Directory: /home/user/columnstoreBackupData/

Existe un archivo columntoreBackup.config opcional que, cuando se coloca en el mismo directorio que el ejecutable columntoreBackup, le permitirá configurar una opción de copia de seguridad incremental que utiliza la opción rsync link-dest para habilitar copias de seguridad incrementales. Estos se almacenan en la copia de seguridad.1 a través de la copia de seguridad.[n-1] del más nuevo al más antiguo. El archivo columntoreBackup.config solo debe contener una sola línea:

NUMBER_BACKUPS=[n]

Donde “n” es el número de copias de seguridad incrementales para almacenar. (Predeterminado: 3)

Ejecución de almacén de columnas

columntoreBackup debe ejecutarse como usuario root, ya sea iniciando sesión como root o mediante el comando sudo.

Usage: [sudo] ./columnstoreBackup [options] activeParentOAM backupServerLocation

activeParentOAM           IP address of ColumnStore server
                             (Active parent OAM module on multi-node install)
backupServerLocation      Path to the directory for storing backup files.

OPTIONS:
-h,--help         Prints help and exits.
-v,--verbose      Print more verbose execution details.
-d,--dry-run      Dry run and executes rsync dry run with stats.
-z,--compress     Utilize the compression option for rsync.
-n [value]        Maximum number parallel rsync commands. (Default: 5)
--user=[user]     Change the user performing remote sessions. (Default: root)

--install-dir=[PATH]  Change the install directory of ColumnStore.
                          Default: /usr/local/mariadb/columnstore

Ejemplo:

Running from the directory /home/user/:

sudo ./columnstoreBackup -zv 192.168.1.2 home/user/columnstoreBackupData

Esto ejecutará una copia de seguridad para el sistema con un módulo OAM principal ubicado en 192.168.1.2 y almacenará todos los archivos de copia de seguridad dentro del directorio ubicado en home / user / columnstoreBackupData. La opción v imprimirá un registro más detallado de los comandos ejecutados y la opción z permitirá que rsync utilice la opción de compresión para transferencias de archivos.

Registro de respaldo

El registro se envía a la consola, así como a un archivo de columnastoreBackup.log que se encuentra en el directorio de columnastoreBackup. Esto contendrá algunos detalles adicionales sobre algunos problemas. La rotación del registro se deja al usuario para su manejo.

Códigos de retorno de respaldo

0 - success
1 - command line parameter or config file issue detected
2 - missing rsync or xmllint
3 - detected issue with disk space
4 - detected bad configuration file settings
5 - rsync command failed with an error
255 - could not connect via passwordless ssh

Notas sobre la operación de respaldo

columntoreBackup creará los siguientes directorios dentro del directorio de datos de copia de seguridad:

backup.[1-n] (n incremental backups)
cnf (my.cnf and my.cnf.d)
pm[moduleID]dbroot[DBRootID] (pm1dbroot1 contains PM data from dbroot 1 on pm 1)
um[moduleID] (NOTE: When UM/PM are combined on nodes UM1 is the mysql/db directory for PM1)

Estos directorios se crean si no existen y pueden crearse antes de que el usuario los ejecute.

La opción de copia de seguridad de almacén de columnas -n [value] limita el número de comandos rsync en paralelo ejecutados en un momento dado. El valor predeterminado de 5 significa que hasta 5 DBRoots iniciarán los comandos rysnc a varios PM y el sistema de respaldo esperará hasta que todos estén completos y se verifiquen correctamente. En este momento, iniciará otros 5 DBRoots. El indicador de progreso debe reflejar el porcentaje de finalización total y no los comandos rysnc individuales. Este valor se puede establecer más alto mediante el comando -n, pero si el número de DBRoots presentes en el sistema es lo suficientemente grande, puede haber un impacto en el rendimiento del procesamiento del sistema o limitaciones de ancho de banda de la red.

La herramienta está diseñada para ejecutarse en el sistema que almacena las copias de seguridad. Esto automatizará la restauración a partir de las copias de seguridad creadas por la herramienta de copia de seguridad de almacén de columnas.

Restaurar configuración

Para ejecutar columntoreRestore, deberá configurar un servidor de respaldo con inicio de sesión ssh sin contraseña disponible para la cuenta de usuario que instaló MariaDB ColumnStore. (Predeterminado: root)

columntoreRestore debe ejecutarse como root o con sudo.

columntoreRestore espera que MariaDB Columnstore se apague en un estado de instalación nuevo.

Siga los siguientes pasos para preparar el sistema para la restauración de almacén de columnas:

  • En el módulo OAM padre activo, ejecute el comando
mcsadmin shutdownsystem y
  • Ejecutar en todos los módulos PM:
rm -rf [INSTALL_DIR]/data*/000.dir
rm -rf [INSTALL_DIR]/data1/systemFiles/dbrm/*
  • Ejecutar en todos los nodos front-end de UM o PM combo
cd [INSTALL_DIR]/mysql/db 
delete all directories except:
calpontsys
infinidb_querystats
infinidb_infinidb_vtable
mysql
performance_schema
test
  • En el módulo OAM padre activo, ejecute el comando
[INSTALL_DIR]/bin/clearShm
  • En el sistema de copia de seguridad, ejecute el script columntoreRestore

Ejecutando columnastoreRestore

columntoreRestore debe ejecutarse como usuario root, ya sea iniciando sesión como root o mediante el comando sudo.

Usage: ./columnstoreRestore [options] backupServerLocation restoreServerPM1

restoreServerPM1          IP address of ColumnStore server
                             (Assumes PM1 = Active Parent OAM Module)
backupServerLocation      Path to the directory for storing backup files.

OPTIONS:
-h,--help         Print this message and exit.
-v,--verbose      Print more verbose execution details.
-d,--dry-run      Dry run and executes rsync dry run with stats.
-z,--compress     Utilize the compression option for rsync.
-n [value]        Maximum number parallel rsync commands. (Default: 5).
--user=[user]     Change the user performing remote sessions. (Default: root)

--install-dir=[PATH]  Change the install directory of ColumnStore.
                          Default: /usr/local/mariadb/columnstore

EJEMPLO: Ejecutando desde el directorio / home / user / con el directorio de datos de respaldo de almacén de columnas creado en el ejemplo de respaldo de almacén de columnas anterior:

sudo ./columnstoreRestore -zv home/user/columnstoreBackupData 192.168.1.100

Esto ejecutará una restauración para el sistema MariaDB ColumnStore con un módulo OAM principal ubicado en 192.168.1.100 desde el directorio ubicado en home / user / columnstoreBackupData. La opción v imprimirá un registro más detallado de los comandos ejecutados y la opción z permitirá que rsync utilice la opción de compresión para transferencias de archivos.

Restaurar registro

El registro se envía a la consola, así como a un columntoreRestore.log que se encuentra en el directorio en el que se ejecuta columntoreRestore. Esto contendrá algunos detalles adicionales sobre algunos problemas. La rotación del registro se deja al usuario para su manejo.

Restaurar códigos de retorno

0 - success
1 - command line parameter or config file issue detected
2 - missing rsync or xmllint
3 - detected issue with disk space
4 - detected bad configuration file settings
5 - rsync command failed with an error
255 - could not connect via passwordless ssh

Restaurar notas de operación

columntoreRestore creará un directorio restoreConfig dentro del backupServerLocation definido en la línea de comando. Esto solo está destinado a almacenar una copia de la versión del sistema restaurado y el archivo de configuración para verificar que la restauración sea posible.

La opción columntoreRestore -n [value] limita el número de comandos rsync en paralelo ejecutados en un momento dado. El valor predeterminado de 5 significa que hasta 5 DBRoots iniciarán los comandos rysnc a varios PM y el sistema de respaldo esperará hasta que todos estén completos y se verifiquen correctamente. En este momento, iniciará otros 5 DBRoots. El indicador de progreso debe reflejar el porcentaje de finalización total y no los comandos rysnc individuales. Este valor se puede establecer más alto mediante el comando -n, pero si el número de DBRoots presentes en el sistema es lo suficientemente grande, puede haber un impacto en el rendimiento del procesamiento del sistema o limitaciones de ancho de banda de la red.

El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.