linux-client-backup-remote-host-cloud

Adam Russak
Computación en la nube
September 4, 2023

Contenido

Introducción .......... 2

El escenario .................... 2

La copia de seguridad que necesitaba hacer era: ...... .... 2

Las limitaciones son: .......... 2

Mi solución .......... 3

Diagrama de flujo .......... 3

1) Copia de seguridad- Ninja .......... 3

2) rdiff-backup .......... 3

3) rclone .......... 4

Prerrequisito ..... ..... 5

Instalación "Backup-Host": .......... 5 Instalación

"Target-VM": .......... 6

Configuración del plan de copia de seguridad: .. ........ 6

Creación de un archivo SA JSON en GCP .......... 14

Configuración de rclone .......... 18 Requisito

previo ...... .... 18

Configuraciones: .......... 18

Creación del script de copia de seguridad .......... 21

Prueba en seco de la tarea de copia de seguridad .......... 22

Prueba de la tarea Backup-ninja .......... 22

Prueba de la configuración de rclone .......... 23

Prueba de la secuencia de comandos .......... 23

Colocación de la tarea en crontab ..........24

..........Recursos 24



Introducción

Hace poco tuvo la tarea de copia de seguridad de un conjunto de datos críticos en un (servidor de Ubuntu Linux 14) VM,medida que

aiba descubrí que hay muchas formas de ba ckup, pero no encontré "The One" que me dará

la solución que necesito. Después de algunas investigaciones y pruebas y errores, esta es la solución que terminé

usando, espero que ayude a alguien.

El

escenario de

la copia de seguridad que se necesita para hacer era:

una máquina virtual Linux en-prim que necesita para hacer copias de seguridad todos los días: 1 completo cada semana y otras copias de seguridad

incrementales. Todas las copias de seguridad deben ser tanto locales como externas.

Las

limitaciones son:

1. Como poca transferencia de datos como sea posible

2. tan poco tiempo de inactividad posible

3. Recuperación rápida y fiable.


Mila solución

carta dedel flujo


Entonces,

¿qué hice? ¡Buena pregunta! Usé 3 soluciones diferentes para construir 1 buena (¡para mí!).

1) Backup-Ninja,

un administrador de copias de seguridad que tiene muchas cualidades excelentes, pero lo que necesitaba era: una configuración simple, un resultado claro y una gran comprensión de los procedimientos de copia de seguridad. es un "administrador" porque en realidad no hace una copia de seguridad de nada, el Programa pasa comandos: "cómo" "cuándo" "qué" y así sucesivamente a otro Programa (rdiff-backup en mi caso).

2) rdiff-backup

un servicio de respaldo que permite hacer muchas cosas buenas, como el respaldo incremental al host remoto. Y una gran característica que me encantó en ese programa es que puede restaurarlo mediante un comando en cada punto de copia de seguridad que haya guardado (por ejemplo, si desea los hace 6 días y no durar).

3) rclone

Este servicio es de código abierto que le permite conectarse y transferir datos desde su host a un depósito en la nube, en mi caso permite que el host remoto realice una sincronización con GCP. Lo configuré para sincronizar la ubicación de la copia de seguridad con un depósito de GCP que creé (no abordaré esta parte aquí).


Pre-requisito

“Backup-Host” Instalación:

1. crear una máquina virtual / anfitrión para servir como un "Backup-Host" (creamos un Ubuntu 16)

2. Instalar abierto SSH en “Copia de 

seguridad-Host”

1. sudo apto instalar openssh-server -y

título de la imagen Tipo aquí

(opcional)

3. Después de la instalación, podemos empezar a trabajar con un Clint ssh (utilizo Putty)

4. instalar rclone en el "Backup-Host" 

1. rizo https: / /rclone.org/install.sh | sudo fiesta

5.

la creación de directorios de ubicación de copia de seguridad en "Copia de seguridad-Host" 

mkdir 1. Copia de seguridad de copia de seguridad && mkdir /

ubu14-t-rdiff

6. Instalación de copia de seguridad 

1. sudo apt-get update && sudo apt-get install librsync-dev rdiff -backup -y

“Target-VM”

Instalación:

1. instalar ninja copia de seguridad en el "Target-VM" 1. apt-get update && apt-get install backupninja duplicidad rdiff-backup-pitón pitón paramiko-gobject-2 - y

2. cuando la opción de correo Prompt: prensa local de sólo

3. Abrir instalar-SSH en “Copia de

seguridad-Host”

Configuración del plan de reserva:

4. creación de claves SSH para Auto Conexión de “Backup-Host” a “Destino- VM "

4.1. en “Target-VM” crear SSH-claves: 

1. ssh-keygen

4.2.

después de la creación enviar las llaves de la copia de seguridad de host 

1. ssh-copy-id adam @ <copia de seguridad de servidor IP / nombre de

host>

4.3. cuando se le solicite, haga clic en Sí

4.4. introducir la contraseña cuando se le preguntó

5.

comprobar la conexión 

6. Adam ssh @ <copia de seguridad de servidor IP / nombre de host>

6.1. si funcionaba, sin contraseña se le pedirá

7.

Creación de una copia de seguridad de tareas en Ninja GUI ayudante.

7.1. Toda tarea Ninja debe hacerse bajo sudo 

Sudo 1. Ninjahelper

7.2.

Seleccione el nuevo


7.3.

Seleccione su método apropiado de / copia de seguridad (vamos a utilizar para copia de seguridad incremental


rdiff)

7.4. Seleccionar src para iniciar la configuración de su plan de copia de seguridad


7.5.

En src vamos a establecer la ruta a las carpetas que desea copia de seguridad (que se copia de seguridad de la carpeta FilesToBackup en / home / adam


/)

7.6. Pulse OK

7.7.

En la siguiente ventana vamos a configurar qué archivos o carpetas que ignoran (se puede agregar y quitar según sea


necesario)

7.8. Pulse OK cuando haya terminado

7.9.

Nos pedirá con el menú de nuevo (esta vez src estará marcado Done), optó por dest


8.

dest  En las ventanas, vamos a configurar todos los ajustes host remoto

8.1. Mantenemos: ¿hasta dónde se guardará el incremento (vamos a establecer a

30d)

8.2. Dest_directory: la ubicación en la que desea guardar su copia de seguridad (la configuraremos en la ubicación que creamos anteriormente / home / adam / Backup / ubu14-t /)

8.3. Dest_host: la IP o FQDN

8.4. Dest_user: las credenciales de usuario que usaremos para conectarnos al Backup-Host (usaremos adam cuando creamos el ssh para ese usuario anteriormente)

8.5. Dest_type: lo dejaremos como remoto

8.6. Pulse OK


9.

Pulse conn para configurar el ssh para host remoto (ya lo hicimos, así que esto sólo va a comprobar que todo está bien para


ir)

10. En la siguiente ventana pulsaremos Aceptar para permitir la copia de seguridad ninja para verifique la conexión que configuramos y configure una nueva clave ssh para ello.


11.

Hemos recibido un error que indica que necesitamos permisos al dest_folder


12.

En función de respaldo-Host: 

1. Sudo chown -R Adam: la raíz de copia de seguridad

/

(Esto cambiará el propietario de la carpeta a Adam, -R le permitirá ejecutar esta configuración de forma recursiva en la carpeta)

13. Después de que el propietario de la carpeta cambia vamos a intentar conectarse de nuevo (si se hace bien este será su


salida)

14. Pulse Finalizar


15.

Ahora tenemos la tarea en la lista, si queremos hacer cambios / editar la tarea podemos pulsar esa tarea


16.

para agregar un Banderas a la tarea de seleccionar nuestro formulario de tareas en el menú

17.

En este menú eligió el 'xedit' a edite nuestra copia de seguridad tarea de configuración


18.

Un editor externo se abrirá con la configuracióntarea


de

19.vamos a añadir nuestra bandera en la parte de opciones y quitar el # (--preserve-numéricos-ids de la bandera a la tarea de copia de


seguridad-Ninja)

• El indicador es diferente para cada tarea que seleccionará (utilizamos rdiff-backup)

Creación de un archivo JSON SA en GCP

1. Conectar a su cuenta de GCP (lo haremos a través de la consola web, pero es desechable que hacerlo a través del SDK)

2. Tengo que IAM y admin>  servicio


Las cuentas de

3. Pulse 'CUENTA DE SERVICIO


CREAT'

4. archivo todos los

datos:

4.1. Nombre de la cuenta de servicio: el nombre de su certificado SA

4.2. PAPEL: qué permisos tendrá esta SA (le daremos la administración de GCP Storage Object)

4.3. Eligió para descargar el archivo JSON (una clave de aligustre del


SA)

5. Si todo fue hecho Aceptar, recibirá el archivo JSON y el mensaje


siguiente:

6. Ir al almacenamiento: Menú (a la derecha)> Almacenamiento


7.

Crear una nueva cuchara.


8.

Dar su cubo eligieron un nombre y su plano de almacenamiento y Ubicación (vamos a utilizar 'nearline' y Cubo de Estados


Unidos)

9. Después de crear el nuevo Cubo, tenemos que crear nuestro destino Directorio (lo llamamos:

Linux-dest-Bucket)

Configuración

de rclone

requisito previo

para crear un usuario GCP en rclone tendrá que recoger los datos siguientes:

1. identificación del proyecto: prueba-adam

2. Número del Proyecto: 14699330635992

3. Transferencia de archivos para JSON Backup-Host

3.1. Abrir WinSCP y de inicio de sesión de copia de seguridad a-Host


3.2.

JSON transferir archivos a una posición predeterminada Ubicación (vamos a colocarlo en / home / adam / Copia de


seguridad)


Configuraciones:

1. rclone Inicio de la copia de seguridad de host

1. rclone config

2.

Vamos a crear un nuevo usuario y darle un nombre (nombraremos la host2gcp


usuario)

3. En primer lugar vamos a configurar nuestro usuario para nuestro plan de copia de seguridad (usaremos un cubo


GCP)

4. En el siguiente paso vamos a presionar entrar y salir del ID de cliente de vaciar

5. El secreto del cliente también lo dejaremos vacío

6. Cuando se nos solicite el número de proyecto, ingresaremos el número: (14699330635992)solicite

7. Cuando se nosla ruta del archivo JSON, les daremos la ruta donde guardamos el archivo JSON ( /home/adam/Backup/Testing-Adam-080a0a91846d.json)

8. Cuando pidió permiso object_acl vacío (4 utilizará por

defecto)

9. Cuando se le preguntó por Bucket_acl dejar en blanco (se utilizará por defecto


2)

10. Cuando se le preguntó por la ubicación de almacenamiento presione 4 (4 = US, utilice la ubicación de su


cubo)

11. para el almacenamiento de clase usaremos 4


(nearline)

12. el paso final es revisar la configuración de, comprobar todo está bien y si lo es, pulse Y


Edificio

la copia de seguridad de secuencias de comandos

• Nuestro script tendrá sólo 2 líneas, pero cada sistema y / o necesidad de servicio de su propio conjunto de comandos (en el ejemplo - ciertas aplicaciones necesitan detener los servicios para una copia de seguridad funcional, por lo que tendremos que detener y después de que el servicio los inicie nuevamente)

1. Abra un nuevo archivo de texto con un editor de texto en Target-VM: 

$ nano backup-script.sh

2 . ingrese nuestros comandos de script:

 #! / bin / bash $ sudo backupninja –d --run /etc/backup.d/90.rdiff $ ssh adam@192.168.47.133 "rclone sync / home / adam / Backup / ubu14-t. host2gcp: adam-backup / Linux-dest-Bucket / -v "

3. Guarde el script y salga.

4. Para terminar el guión vamos a cambiar sus permisos del defecto de 664 a 760 

$ sudo chmod 760 backup-script.sh

seco-Prueba

de la copia de seguridad de tareas

Probaremos cada etapa para ver que funciona correctamente y después de la prueba En ellos realizaremos la tarea para ver que todo funcione en conjunto.

Prueba de

la tarea de copia de seguridad-ninja

1. Para la prueba de copia de seguridad-ninja que se ejecutará una forma 'hacer una prueba' ninjahelper interfaz gráfica de usuario.


2.

Si se ejecutan correctamente va a reactivar una línea de fondo con 1 RAN acción y no hay errores.


Prueba

de la configuraciónrclone

1. Pararclone prueba que se ejecuta el comando de sincronización con el '-dry-run' Bandera


2.

Si la tarea es éxito obtendrá una suma de los archivos que se han cargado y sin errores


Prueba

de la secuencia de comandos

1. Prueba de la secuencia de comandos será la primera “en vivo” de gestión que estamos haciendo, ya que ejecutará el script sin banderas.

2. En nuestro Target-VM, vaya a la carpeta donde se encuentra el script

$ cd / home / adam / FilesToBackup /

3. Ejecute el script.

$. / backup-script.sh

4. Si tiene éxito, verá que la misma salida de la prueba anterior se ejecutó 1 después de la otra.

La colocación de

la tarea en Crontab

Después del registro de nuestro plan, vamos a colocarlo en el crontab para ejecutar de forma automática, ya que necesitamos (lo haremos una tarea diaria)

1. En blanco-VM ir a sudo crontab.

sudo crontab –e

2. Si es la primera vez que tendrá que elegir un editor (vamos con nano)

3. En Crontab, vaya al final y agregue la nueva tarea (haremos que la tarea se ejecute cada mañana a las 5 Estoy todos los días)

$ 0 5 * * * /home/adam/FilesToBackup/backup-script.sh

4. Guarde y salga del editor.


Recursos

https://rclone.org/install/ http://bit.ly/2KlqM2o


http://bit.ly/2I4nXSn


Adam Russak

DevOps Engineer at Antelliq Innovation Center

Related Posts

Boletin informativo SpainClouds.com

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form