Tareas #6199

Tareas #6160: Implementación de la solución tecnológica

Implementación BackupPC

Added by Diego Morales 7 months ago. Updated 4 months ago.

Status:ResueltaStart date:05/16/2019
Priority:NormalDue date:
Assignee:TLecom% Done:

93%

Category:-Estimated time:1.00 hour
Target version:-Spent time:-

Description

Instalar y configurar BackupPC.

100.png (104 KB) Junhor Archondo, 05/16/2019 09:33 PM

101.png (88.4 KB) Junhor Archondo, 05/16/2019 09:33 PM

102.png (81.7 KB) Junhor Archondo, 05/16/2019 09:33 PM

103.png (108 KB) Junhor Archondo, 05/16/2019 09:38 PM

105.png (141 KB) Junhor Archondo, 06/26/2019 05:42 PM

backuppc.png (76.5 KB) Leonardo Olivera, 06/28/2019 10:42 AM

backuppclisa.png (79.5 KB) Leonardo Olivera, 06/28/2019 11:43 AM

backuppclisa1.png (75.7 KB) Leonardo Olivera, 06/28/2019 11:43 AM

backuppclisa2.png (68.2 KB) Leonardo Olivera, 06/28/2019 11:43 AM

db.png (87.6 KB) Junhor Archondo, 07/13/2019 01:42 PM

db2.png (87 KB) Junhor Archondo, 07/13/2019 01:45 PM

4212
4213
4214
4215
4330
4361
4365
4366
4367
4386
4387

Subtasks

Tareas #6217: Respaldar el router en backuppcResueltaTLecom

Tareas #6243: Todos los equipos (físicos, VMs y CTs) tienen que tener r...ResueltaTLecom

Tareas #6245: Ensayar reconstrucción de serviciosNuevaTLecom

History

#1 Updated by Victor Alem 7 months ago

  • Assignee set to TLecom

#2 Updated by Victor Alem 7 months ago

  • Parent task set to #6160

#3 Updated by Junhor Archondo 7 months ago

Backuppc:

Instalación:

Necesitamos que nuestro servidor de respaldos tenga una IP fija, la cual ya la tiene.
El servidor a respaldar también tiene una IP fija.

En el servidor de respaldos, lo primero que hacemos es actualizar el servidor, utilizamos el siguiente comando:

$ apt-get update

Luego, instalamos Backuppc y dependencias requeridas, con el siguiente comando:

$ apt-get install backuppc apache2-utils

Nos saldrá una ventana para ver si queremos instalar apache2, le damos enter.

El instalador creó una contraseña para el usuario backuppc y nos dio el link de acceso via web de backuppc. Presionamos Enter

Cambiamos la contraseña para el usuario backuppc, utilizando el siguiente comando:

$ sudo htpasswd /etc/backuppc/htpasswd backuppc

Paramos el servicio de backuppc utilizando el siguiente comando:

$ service backuppc stop

Configuración:

Configuración del servidor a respaldar:

Accedemos a nuestro servidor a respaldar, con el siguiente comando le instalamos rsync, que es una aplicación que permite copiar directorios y archivos.

$ apt-get install rsync

Creamos el usuario respaldo, utilizamos el siguiente comando:

$ adduser respaldo

Nosotros accederemos con clave ssh, entonces queremos bloquear el uso de contraseña.

Con el siguiente comando bloqueas el uso de la contraseña:

$ passwd -l respaldo

El siguiente paso es darle privilegios al usuario respaldo para ejecutar rsync sin pedido de contraseñas.

Para esto tenemos que tener el paquete "sudo". Si no está instalado en el servidor debemos hacerlo.
El paquete sudo permite flexibilizar y administrar las tareas del usuario root, delegando tareas (comandos) a usuarios o grupos, para ejecutarlas como el usuario administrador. Debemos editar el archivo "/etc/sudoers", es recomendable editarlo con la herramienta "visudo", ya que ésta realiza algunas comprobaciones antes de modificar el archivo. Hay que tener en cuenta que si modificamos directamente el archivo (con el comando vi /etc/sudoers) y nos equivocamos, podemos perder los privilegios de administración de la máquina. Entonces, ejecutamos el comando visudo como root para editar el archivo sudoers:

$ visudo

En el archivo agregamos las siguientes líneas, le damos permisos al usuario respaldo para ejecutar el comando rsync como root:

#Cmnd alias Specification
Cmnd_Alias RESPALDO = /usr/bin/rsync

El nombre “RESPALDO” abarca una serie de comandos (en este caso, uno solo) que después en la parte de definición de reglas serán aplicados bajo ciertos criterios.

#User privilege specification
respaldo ALL=NOPASSWD: RESPALDO

El usuario respaldo puede ejecutar desde cualquier host (ALL), sin necesidad de contraseña (NOPASSWD), el conjunto de comandos definidos en el Cmnd_Alias RESPALDO.

Creamos una clave pública/privada para hacer posible la comunicación entre el servidor de respaldos y el servidor a respaldar sin hacer uso de una contraseña.

Accedemos al servidor de respaldos:
Dentro del servidor de respaldos (Willy), en el usuario backuppc generamos la clave pública/privada con el siguiente comando:

$ ssh-keygen 

Mostramos la clave en la terminal con el siguiente comando y la copiamos:

$ cat .ssh/id_rsa.pub

Accedemos al usuario respaldo del servidor a respaldar, creamos la carpeta .ssh, con el siguiente comando:

$ mkdir .ssh

Creamos el archivo authorized_keys con el siguiente comando:

$ touch authorized_keys

Pegamos la clave en el siguiente archivo:

$ vim authorized_keys

Vamos al directorio “/home/respaldos” y cambiamos permisos de la siguiente manera:

$ chown respaldo:respaldo .ssh
$ chmod 700 .ssh
$ chmod 644 .ssh/authorized_keys
  • chown respaldo:respaldo .ssh → el siguiente comando cambiará la propiedad del directorio .ssh a un nuevo propietario llamado respaldo y el grupo es respaldo.
  • 700 (RWX /---) → Con este permiso el propietario tiene el control total del archivo mientras que los demás usuarios no tendrán acceso de ningún tipo al archivo.
  • chmod 644 (RW / R / R) →Con este permiso el propietario puede leer y escribir en el archivo mientras los demás solo pueden leer.

Nota: el directorio .ssh es un directorio oculto, se puede ver utilizando el comando ls -a

Scripts:

Una vez que tenemos la clave pública y lo previamente configurado, comenzamos con la creación de dos scripts.
Creamos scripts para respaldar los servicios que tienen base de datos.
La idea de los scripts es dejar en alguna carpeta los respaldos de las bases de datos y después respaldar en esa carpeta con el backuppc.
Luego, en backuppc le indicas que carpeta quieres respaldar.
En el caso de los servicios que no cuentan con base de datos, en backuppc solo elegimos la carpeta que queremos respaldar.

Los scripts están ubicados en el servidor a respaldar, en el directorio “/var/respaldo/scripts”.

El primer script respalda todas las bases de datos (mysqldump --all-databases), crea una imagen de las bases de datos y guarda el archivo generado (All_Database.sql) dentro de la carpeta “/var/respaldo/mysql”

Nota: tener en cuenta que esta imagen debe ser guardada en una carpeta dentro de los directorios que serán respaldados.

El segundo script se encarga de borrar la imagen que se creo anteriormente. Entonces, este script se ejecutará después de terminado el proceso de respaldo.

Nota: es necesario darles permisos a ambos scripts para su ejecución.

Le dimos los permisos a ambos scripts para su ejecución, con los siguientes comandos:


$chmod +x respaldoTotal.sh

$chmod +x borrarRespaldo.sh

Modificamos el archivo “/etc/sudoers” agregando los scripts

#4 Updated by Victor Alem 6 months ago

Hola Junhor, ¿puedes entrar al servidor y ejecutar el comando "lvs" como administrador y pegar aquí la salida?

#5 Updated by Junhor Archondo 6 months ago

root@Willy:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
Backuppc LVM wi-ao--- 200,00g
Root LVM wi-ao--- 11,18g
Var LVM wi-ao--- 18,62g
root@Willy:~#

#6 Updated by Victor Alem 6 months ago

Junhor Archondo escribió:

root@Willy:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
Backuppc LVM wi-ao--- 200,00g
Root LVM wi-ao--- 11,18g
Var LVM wi-ao--- 18,62g
root@Willy:~#

De este comando vemos que existe un volumen lógico para backuppc con 200 GB. ¿Los respaldos se están haciendo allí?

#7 Updated by Junhor Archondo 6 months ago

Los respaldos los realizaremos en la web de backuppc (164.73.226.194/backuppc), en breves vamos a subir esa documentación

#8 Updated by Victor Alem 6 months ago

Junhor Archondo escribió:

Los respaldos los realizaremos en la web de backuppc (164.73.226.194/backuppc), en breves vamos a subir esa documentación

Junhor, lo que estoy preguntando es en qué directorio se están guardando los respaldos. Lo vemos mejor hoy en clase.

#9 Updated by Junhor Archondo 6 months ago

Los respaldos se están guardando en el servidor de respaldo (willy), en el directorio /var/lib/backuppc/pc/

#10 Updated by Junhor Archondo 6 months ago

#11 Updated by Leonardo Olivera 5 months ago

Configuracion de Backuppc

El siguiente paso es crear los host dentro de la web de Backuppc que van a ser respaldados, para esto iremos a edit host, presionamos en add (agrega otro host), le ponemos un nombre y user.

Después de tener los hosts creados, vamos a editar su configuración. Lo primero que haremos aca es agregar los script creados en los host que tienen base de datos:


Vemos como tenemos seleccionadas dos opciones, estas son las que editamos, el resto esta por defecto. En la opción DumpPreUserCmd tenemos la ejecución del primer script, el que se encarga de generar la imagen de la base de datos. En la opción DumpPostUserCmd tenemos el script que se encarga de eliminar la imagen creada, de este modo, antes de ejecutarse el mismo, se va a generar la imagen y una vez terminado, se eliminará para evitar que se acumulen junten imágenes innecesarias.

NOTA: En los host que no tienen base de datos no se hace el paso anteriror.

Los siguientes cambios que haremos serán en la solapa Xfer, donde vamos a elegir el método que vamos a usar (rsync), los directorios que vamos a respaldar (/etc) y por último, la forma en la cual se ejecutan los comandos, agregando sudo al comienzo en RsyncClientPath para que se ejecuten como root las líneas siguientes, en RsyncClientCmd y RsyncClientRestoreCmd cambiamos el usuario, simplemente sustituyéndolo por respaldo.

Como último paso, dentro de las configuraciones, iremos a la solapa Schedule. En esta solapa se configura todo lo necesario para pactar el estilo de respaldo que se hará, cada cuánto tiempo, cada cuánto se borrará, etc. Detallaremos a continuación los campos editados:

FullPeriod: es cada cuánto tiempo se hará un respaldo completo. La medida es en días y se recomienda que no sea un número entero, por eso se elige el 13.97, logrando así el respaldo completo cada dos semanas.
FullKeepCnt: cuántas copias de seguridad completas se mantendrán en el servidor de respaldos. En nuestro caso serán dos.
IncrKeepCnt: cuántas copias incrementales serán guardadas, en nuestro caso serán seis.
IncrAgeMax: cual será el numero máximo de copias incrementales que se conservaran. En nuestro caso serán quince.

Nota: el tipo de respaldo que decidimos utilizar es incremental, crea respaldos completos solo cada dos semanas y todos los días hace uno incremental que guardará sólo los datos que han cambiado con respecto al último respaldo hecho, ya sea incremental o total. Todos los datos que elegimos pueden cambiarse.

Con esto ya estamos en condiciones de empezar el primer respaldo completo, Backuppc se encargará de ejecutarse sólo cuando sea el momento, dependiendo de los datos que le ingresamos.

#12 Updated by Junhor Archondo 5 months ago

#13 Updated by Junhor Archondo 5 months ago

#14 Updated by Junhor Archondo 4 months ago

  • Status changed from Nueva to Resuelta

Also available in: Atom PDF