GNU/Linux >> Tutoriales Linux >  >> Linux

Sincronizar instantáneas de LVM con el servidor de copia de seguridad

Solución 1:

Aunque existen parches de 'dispositivo de escritura' y 'dispositivo de copia' para RSync, solo funcionan bien en imágenes pequeñas (1-2 GB). RSync pasará mucho tiempo buscando bloques coincidentes en imágenes más grandes y es casi inútil con dispositivos/archivos de 40 GB o más.

Usamos lo siguiente para realizar una comparación de suma de verificación por 1 MB y luego simplemente copiamos el contenido si no coincide. Usamos esto para respaldar servidores en un host virtual en los EE. UU. a un sistema de respaldo en el Reino Unido, a través de Internet público. Muy poca actividad de la CPU y el rendimiento de las instantáneas solo ocurre después de horas:

Crear instantánea:

lvcreate -i 2 -L 25G /dev/vg_kvm/company-exchange -n company-exchange-snap1

export dev1='/dev/mapper/vg_kvm-company--exchange--snap1';
export dev2='/dev/mapper/vg_kvm-company--exchange';
export remote='[email protected]';

Siembra inicial:

dd if=$dev1 bs=100M | gzip -c -9 | ssh -i /root/.ssh/rsync_rsa $remote "gzip -dc | dd of=$dev2"

Copia de seguridad nocturna incremental (solo envía bloques modificados):

ssh -i /root/.ssh/rsync_rsa $remote "
  perl -'MDigest::MD5 md5' -ne 'BEGIN{\$/=\1024};print md5(\$_)' $dev2 | lzop -c" |
  lzop -dc | perl -'MDigest::MD5 md5' -ne 'BEGIN{$/=\1024};$b=md5($_);
    read STDIN,$a,16;if ($a eq $b) {print "s"} else {print "c" . $_}' $dev1 | lzop -c |
ssh -i /root/.ssh/rsync_rsa $remote "lzop -dc |
  perl -ne 'BEGIN{\$/=\1} if (\$_ eq\"s\") {\$s++} else {if (\$s) {
    seek STDOUT,\$s*1024,1; \$s=0}; read ARGV,\$buf,1024; print \$buf}' 1<> $dev2"

Eliminar instantánea:

lvremove -f company-exchange-snap1

Solución 2:

A rsync estándar le falta esta función, pero hay un parche para ello en el tarball de rsync-patches (copy-devices.diff) que se puede descargar desde http://rsync.samba.org/ftp/rsync/Después de aplicar y volver a compilar , puede sincronizar dispositivos con la opción --copy-devices.

Solución 3:

A las personas interesadas en hacer esto específicamente con instantáneas de LVM les puede gustar mi herramienta lvmsync, que lee la lista de bloques modificados en una instantánea y envía solo esos cambios.

Solución 4:

Eche un vistazo a Zumastor Linux Storage Project, implementa una copia de seguridad de "instantánea" utilizando "rsync" binario a través de la herramienta ddsnap.

Desde la página del manual:

ddsnap proporciona replicación de dispositivos de bloque dada una instalación de instantáneas a nivel de bloque capaz de mantener múltiples instantáneas simultáneas de manera eficiente. ddsnap puede generar una lista de fragmentos de instantáneas que difieren entre dos instantáneas y luego enviar esa diferencia por cable. En un servidor descendente, escriba los datos actualizados en un dispositivo de bloque con instantánea.

Solución 5:

Hay un script de python llamado blocksync que es una forma sencilla de sincronizar dos dispositivos de bloque a través de una red a través de ssh, solo transfiriendo los cambios.

  • Copie blocksync.py en el directorio de inicio del host remoto
  • Asegúrese de que su usuario remoto pueda sudo o sea root mismo
  • Asegúrese de que su usuario local (¿root?) pueda leer el dispositivo de origen y ssh al host remoto
  • Invocar:python blocksync.py /dev/source [email protected] /dev/dest

Recientemente lo pirateé para limpiarlo y cambiarlo para que use el mismo algoritmo de suma de comprobación rápida que rsync (Adler-32).


Linux
  1. Cómo crear una copia de seguridad

  2. Prepárese para migrar un servidor de Windows

  3. Instantánea de LVM:copia de seguridad y restauración de la partición LVM en Linux

  4. ¿Es así como funcionan las instantáneas de LVM?

  5. ¿Confirmar o revertir una instantánea LVM de Linux?

Una guía sobre instantáneas de LVM con ext4 en CentOS 7

Configuración de la partición LVM en el servidor Linux

Cómo crear y restaurar instantáneas de máquinas virtuales en VirtualBox

Instale Firefox Sync Server en Debian 11

Copia de seguridad y restauración de instantáneas LVM en Linux

Usar NTP para sincronizar la hora