meta data de esta página
  •  

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
aplicaciones:backup:veeam [2018/05/16 12:25] – [Referencias] lcaplicaciones:backup:veeam [2023/07/21 11:55] (actual) – [Referencias] lc
Línea 8: Línea 8:
   - Realizar una copia a otro repositorio del backup que realiza de su propio catálogo   - Realizar una copia a otro repositorio del backup que realiza de su propio catálogo
   - Activar CBT (Change block truck). Antes de aplicarlos no tener snapshots abiertos previamente   - Activar CBT (Change block truck). Antes de aplicarlos no tener snapshots abiertos previamente
 +
 +https://www.veeam.com/blog/how-to-avoid-misconfigurations-setting-up-veeam.html
  
 ===== Backup consistente de una base de datos mysql/mariadb ==== ===== Backup consistente de una base de datos mysql/mariadb ====
Línea 17: Línea 19:
 Nosotros vamos a optar por el último ya que implica no parar el recurso, aunque tampoco podemos realizar modificaciones mientras la bdd está bloqueada en modo lectura.  Nosotros vamos a optar por el último ya que implica no parar el recurso, aunque tampoco podemos realizar modificaciones mientras la bdd está bloqueada en modo lectura. 
 Además el tiempo de congelación de la BDD es corto ya que sólo dura el tiempo que veeam backup tarda en hacer el snapshot previo a la copia. Además el tiempo de congelación de la BDD es corto ya que sólo dura el tiempo que veeam backup tarda en hacer el snapshot previo a la copia.
 +
 +=== Paso 1 ===
 +Lo primero que tenemos que hacer es definir una cuenta que tenga permisos en la mv destino para poder ejecutar el script. Para eso vamos al Veeam Backup -> Manage Credentials{{ :aplicaciones:backup:manage_credentials.png?nolink&600 |}}
 +Añadimos una nueva, en mi caso  del tipo Linux Account {{ :aplicaciones:backup:add_user.png?nolink&600 |}}
 +
 +=== Paso 2 ===
 +Una vez creada la cuenta que vamos a utilizar para ejecutar los scripts, lo siguiente será crear los scripts. Recomiendo crearlos con el Notepad++ ya que tenemos que guardarlos aplicando la compatibilidad para linux.  Es decir, antes de guardar el fichero deberemos ir al Notepad+++->Edit->EOL Conversion y elegir la opción **UNIX/OSF Format**
 +Crearemos dos scripts uno para bloquear la BDD y el otro para desbloquearla una vez creado el snapshot
 +
 +== precongelarmysql.sh ==
 +<sxh bash>
 +#!/bin/bash
 +# config:
 +# Por defecto usamos el usuario y la clave que hay que definir en  /etc/my.cnf
 +# En caso contrario, descomentar la línea inferior y poner usuario y contraseña para la bdd
 +#use_credentials="-uroot -pcontraseña"
 +defaults_file="/etc/my.cnf"
 +timeout=300
 +lock_file=/tmp/mysql_tables_read_lock
 +###
 +if [ -f $defaults_file ]; then
 +opts="--defaults-file=$defaults_file"
 +fi
 +if [ -n $use_credentials ]; then
 +opts="$opts $use_credentials"
 +fi
 +sleep_time=$((timeout+10))
 +rm -f $lock_file
 +echo "$0 executing FLUSH TABLES WITH READ LOCK" | logger
 +mysql $opts -e "FLUSH TABLES WITH READ LOCK; system touch $lock_file; system nohup sleep
 +$sleep_time; system echo\ lock released|logger; " > /dev/null &
 +mysql_pid=$!
 +echo "$0 child pid $mysql_pid" | logger
 +c=0
 +while [ ! -f $lock_file ]
 +do
 +# check if mysql is running
 +if ! ps -p $mysql_pid 1>/dev/null ; then
 +echo "$0 mysql command has failed (bad credentials?)" | logger
 +exit 1
 +fi
 +sleep 1
 +c=$((c+1))
 +if [ $c -gt $timeout ]; then
 +echo "$0 timed out waiting for lock" | logger
 +touch $lock_file
 +kill $mysql_pid
 +fi
 +done
 +echo $mysql_pid > $lock_file
 +exit 0
 +</sxh>
 +== post-congelarmysql.sh ==
 +<sxh bash>
 +#!/bin/bash
 +lock_file=/tmp/mysql_tables_read_lock
 +###
 +mysql_pid=$(cat $lock_file)
 +echo "$0 sending sigterm to $mysql_pid" | logger
 +pkill -9 -P $mysql_pid
 +rm -f $lock_file
 +exit 0
 +</sxh>
 +
 +Los ficheros creados los copiamos a un directorio del servidor donde tenemos instalado el Veeam Backup.
 +
 +== Paso 3 ==
 +Si vamos a usar la validación a la bdd desde el fichero de configuración, editamos el fichero /etc/my.cnf de la mv donde tenemos instalada la BDD y añadimos lo siguiente:
 +<sxh bash>
 +[client]
 +user = usuario de mi bdd
 +password = contraseña usuario
 +</sxh>
 +
 +En caso contrario debemos de modificar el script de pre para poner el usuario y la constraseña para validarse en la bdd
  
  
Línea 22: Línea 99:
   * https://www.virtuallifestyle.nl/2013/03/back-up-mysql-on-linux-without-stopping-services-or-dumping-the-database/   * https://www.virtuallifestyle.nl/2013/03/back-up-mysql-on-linux-without-stopping-services-or-dumping-the-database/
   * https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html   * https://www.veeam.com/wp-consistent-protection-mysql-mariadb.html
 +  * Best practices -> https://www.veeambp.com/   https://www.veeam.com/es/videos.html
 +  * https://patriciocerda.com/veeam-backup-and-replication-metodos-de-backup-y-politicas-de-retencion/
 +  * https://www.jorgedelacruz.es/2018/10/09/veeam-como-proteger-ficheros-y-carpetas-que-se-encuentran-en-unidades-de-red-con-veeam-backup-file-to-tape/
 +  * https://www.veeam.com/blog/es/our-journey-to-gdpr-compliant.html