Vous êtes sur la page 1sur 46

2017

Copias de Seguridad cliente – servidor


con Bacula

Zhiwei Wu
Elías Alayón Paz
2º ASIR - I.E.S LAS GALLETAS
25/05/2017
INTRODUCCIÓN ................................................................................................................................. 3

OBJETIVOS DEL PROYECTO.......................................................................................................... 5

OBJETIVOS ESPECÍFICOS .............................................................................................................. 5

TAREAS ............................................................................................................................................... 5

1. INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR........................................................................... 5


1.1. Instalación del servidor. .................................................................................................... 6
1.2. Configuracion del servidor. ............................................................................................... 9
2. INSTALACIÓN Y CONFIGURACIÓN DE LOS CLIENTES LINUX Y W INDOWS. .................................... 16
2.1. Cliente Linux. .................................................................................................................... 16
2.2. Cliente Windows. ............................................................................................................. 19
2.3. Comprobación. ................................................................................................................. 23
3. REALIZACIÓN DE RESPALDO Y RESTAURACIÓN MEDIANTE LA CONSOLA (BCONSOLE). .............. 24
3.1. Antes de empezar ............................................................................................................ 24
3.2. Respaldo ........................................................................................................................... 26
3.3. Restauración..................................................................................................................... 28
4. INSTALACIÓN Y USO DE WEBMIN PARA BACULA. ......................................................................... 31
4.1. Introducción ...................................................................................................................... 31
4.2. Instalación ......................................................................................................................... 32
4.3. Uso ..................................................................................................................................... 33

RECURSO MATERIAL ............................................................................................................................ 46

PRESUPUESTO ..................................................................................................................................... 46

CRONOGRAMA .................................................................................................................................... 46

BIBLIOGRAFÍA ...................................................................................................................................... 46

Zhiwei Wu y Elías Alayón Paz


2
Introducción

¿Qué es Bacula?
Es un programa que gestiona backups, donde su potencial reside en lo que
bien que maneja y automatiza las tareas de respaldo. Se basa en una
arquitectura Cliente-Servidor que resulta eficaz y fácil de manejar dada las
funciones y características que contiene como:
 Realización de backup de ficheros o directorios de un cliente.
 Restaurar ficheros o directorios borrados.
Su desarrollo consta bajo licencia GPL, es decir que sus códigos fuentes
siempre estarán disponibles para cuando se quiera modificar y/o reutilizar.
Por otra parte su versión de servidor solo estará disponible para sistemas
operativos Linux, pero existen versiones de clientes para distintos sistemas
operativos.

Arquitectura y componentes de Bacula:


- Bacula consiste en 5 componentes:
o Bacula Director (DIR): es el que gestiona todas las operaciones
de backup. Supervisando los trabajos que se van a realizar,
¿Cuándo?,¿Donde? y ¿Cómo? Además de eso se encarga de
restaurar los ficheros que le pidamos y su verificación
o El Catalogo: es la BD donde el director guarda y registra sus
operaciones.
o Bacula Storage (SD): es el que recibe los datos de los clientes y
los envía al lugar donde posteriormente se almacenaran como por
ejemplo en discos duros, cintas, etc… .
o Cliente Bacula (FD): es el encargado de leer y transmitir los
ficheros que el director previamente le pida y/o restaurarlos.
o La Consola (bconsole): es el software que se encarga de
conectarse al director para dar órdenes, programar tareas, hacer
consultas, entre otros comandos administrativos.

Zhiwei Wu y Elías Alayón Paz


3
Funcionamiento:

En el director (DIR) definimos una series de trabajos (jobs) y se pone en


marcha a una hora y fecha definida previamente.

Después este contactara con el primer cliente (FD) que se tiene elegido con el
cual se comprobará los ficheros o directorios que estan definidos.

Y finalmente el o los clientes enviaran archivos que se han modificado al


storage (SD) que almacenará en un volumen los ficheros de los clientes.

Zhiwei Wu y Elías Alayón Paz


4
Objetivos del proyecto
El objetivo principal de este proyecto es familiarizarnos sobre el entorno de las
copias de seguridad tanto localmente como en red para obtener conocimientos
básicos acerca esta herramienta. Tanto como en modo gráfico como en modo
texto siguiendo la arquitectura mencionada anteriormente.

Objetivos específicos
Lo que nos dedicaremos en este proyecto va a ser lo siguiente:
 Instalación y configuración del servidor.
 Instalación y configuración de los clientes Linux y Windows.
 Realización de respaldo y restauración mediante la consola (bconsole).
 Instalación y uso de webmin para Bacula.

Tareas
1. Instalación y configuración del servidor.

En este paso hacemos la instalación y configuración del servidor Bacula en


Linux. En nuestro caso nuestro servidor contiene todos los componentes, para
ahorrar recursos y si por otro lado esto se llevara a cabo en una empresa más
grande es recomendable separar los componentes para tener un mejor
rendimiento.

Zhiwei Wu y Elías Alayón Paz


5
1.1. Instalación del servidor.
Antes de empezar asignamos IP estática al servidor para facilitar el trabajo.

Seguidamente actualizaremos la lista de paquetes y actualizamos dichos


paquetes.

Ahora empezaremos con instalación de los paquetes como PHP, Apache y


MySQL ya que será necesaria para la utilización Bacula tanto en modo
texto como gráfico. Como por ejemplo necesitaremos el SGBD MySQL para
que Bacula lo use en sus bases de datos.

Zhiwei Wu y Elías Alayón Paz


6
Durante la instalación nos pedirán varias veces contraseñas para MySQL y
recomendamos usar contraseña distintas pero en nuestro caso usamos la
misma.
Ahora instalamos los paquetes necesarios de cliente y servidor de Bacula
para nuestro servidor Linux:

Nos preguntará si queremos configurar la base de datos que bacula-director


va a usar, decimos que sí.

Zhiwei Wu y Elías Alayón Paz


7
Más tarde nos pedirán varias veces contraseñas para el nuevo usuario y la
BD para Bacula.

Posteriormente comprobamos que realmente existe nuestra BD


conectándonos a ella para visualizar que se ha creado satisfactoriamente.

Zhiwei Wu y Elías Alayón Paz


8
1.2. Configuracion del servidor.
Antes de empezar debemos comprender las relaciones de coincidencia de
los ficheros de bacula.

Primero configuramos el fichero bacula-dir.conf que serefiere al director


Bacula y que se encuentra en la ruta:

/etc/bacula/bacula-dir.conf

Asignamos el nombre del director en la etiqueta Name de la sección


Director, la contraseña encriptado que nos aparece la cambiaremos por
una propia en la etiqueta Password y por último asignamos IP de nuestro
servidor en vez de localhost en la etiqueta DirAddress que en nuestro
caso sería la 192.168.30.28.

Zhiwei Wu y Elías Alayón Paz


9
Ahora vamos a la sección de Cliente donde pondremos el nombre de
nuestro cliente en este caso nuestra propia maquina. Vamos a modificar
name, password y address como antes como por ejemplo en la etiqueta
name lo dejaremos por defecto que sería “elias-Bacula-server-fd”, en la
etiqueta password se pondrá su propia contraseña y por último en la
etiqueta address pondremos la IP propia de la maquina.

Zhiwei Wu y Elías Alayón Paz


10
Y ahora en la sección storage lo que vamos a modificar serian las etiquetas
address y password donde ponemos nuestra IP y contraseña propias.

Por último en la sección de console editaremos la etiqueta password con


su correspondiente contraseña.

Zhiwei Wu y Elías Alayón Paz


11
Después de la configuración del bacula director (DIR) empezamos a
configurar el demonio del almacenamiento Bacula Storage (SD) y se
encuentra en la ruta:

/etc/bacula/bacula-sd.conf

Lo primero que vamos a modificar sería la etiqueta address de la sección


storage. El address por defecto sería localhost lo cambiamos por la IP de
nuestra maquina.

Zhiwei Wu y Elías Alayón Paz


12
Luego configuramos las etiquetas name y password de la sección Director.
El nombre debe coincidir con la sección director y la contraseña debe
coincidir con la sección storage del fichero bacula-dir.conf.

Zhiwei Wu y Elías Alayón Paz


13
En la sección device modificamos la etiqueta Archive device que es sitio
donde se almacenará las copias en nuestro caso hemos creado un directorio
denominado copias en la raíz con permisos 777.

Luego empezamos a configurar la configuración del bacula cliente (FD) y se


encuentra en la ruta:

/etc/bacula/bacula-fd.conf

De la imagen de abajo lo que configuramos sería la etiqueta name para


coincidir con la sección director. Y password con la sección client del
fichero bacula-dir.conf

Zhiwei Wu y Elías Alayón Paz


14
En la sección FileDaemon editamos la etiqueta FDAddress con la ip de la
maquina servidor.

Por último vamos a configurar bconsole que sería la consola de bacula y se


encuentra en la ruta:

/etc/bacula/bconsole.conf

Solo tenemos que modificar la etiqueta name que debe coincidir con la
sección director y password con la sección console del fichero bacula-dir.
Y address debe coincidir con la IP del servidor.

Zhiwei Wu y Elías Alayón Paz


15
Para terminar la configuración debemos reiniciar servicios siguientes:
 bacula-director
 bacula-fd
 bacula-sd

2. Instalación y configuración de los clientes Linux y Windows.

En este paso hacemos la instalación y configuración de los clientes Bacula


en Linux y Windows. Como hemos citado anteriormente aunque el servidor
solo está disponible en SO Linux pero existen varias recompilaciones de la
versión cliente para distintos SO.

2.1. Cliente Linux.


Para que funcione este cliente bacula solo tenemos que instalar bacula-
client.

Zhiwei Wu y Elías Alayón Paz


16
La configuración del cliente es parecido a lo que hemos hecho
anteriormente en el servidor lo que tenemos que cambiar serían:
 Director
o Name: Debe coincidir con el nombre director del servidor.
o Password: La contraseña del cliente, que debe
corresponder a la etiqueta password que debe ser la
misma que la sección cliente la cual se añadirá
posteriormente al crear este cliente en el bacula-dir.conf
del servidor.
 Director
o Name: Nombre de la consola del director.
o Password: Contraseña de la consola.
 FileDaemon
o Name: Nombre del cliente.

Zhiwei Wu y Elías Alayón Paz


17
Para que las configuraciones que hemos hecho funciona siempre
necesitamos reiniciarlo.

Tras la configuración en el cliente linux vamos a comenzar la


configuración en el servidor. Lo primero que tenemos que hacer es
copiar el cliente que hemos creado anteriormente y modificamos las
etiquetas name, address y password para corresponder a lo que
hemos configurado en el cliente.

Y como siempre reiniciaremos el servicio.

Zhiwei Wu y Elías Alayón Paz


18
2.2. Cliente Windows.
Primero debemos ir a este link:

https://sourceforge.net/projects/bacula/files/Win32_64/

Descargamos la versión más reciente en este caso 5.2.10,


procederemos con la ejecución y acto seguido se nos abre un asistente
que debemos seguir.

Y cuando nos salga la siguiente imagen elegimos el tipo de instalación


automática.

Zhiwei Wu y Elías Alayón Paz


19
Seleccionamos todo porque que queríamos administrar el servidor
desde Windows si solo se quiere realizar el funcionamiento del cliente
solo seleccionamos las casillas correspondientes con client.

DIR Name ponemos el nombre del director del servidor por lo tanto en
los campos siguientes se pondrán la password y la ip correspondiente
al director. En este caso el cliente Windows pertenece al otro servidor
con nombre del director zhiwei-VirtualBox-dir y ip 192.168.30.26.

Zhiwei Wu y Elías Alayón Paz


20
Para configurar el cliente abrimos desde el Menú de inicio>Todos los
programas>Bacula>Configuration y editamos el fichero Edit Client
Configuration como administrador.

Como hemos configurado anteriormente en los ficheros bacula-fd.conf


sobre Linux modificaremos lo mismo y añadirlo en el servidor zhiwei-
VirtualBox-dir.

Zhiwei Wu y Elías Alayón Paz


21
Para reiniciar el servicio de bacula iremos al menú de inicio y buscamos
services.msc que es donde se reinician los servicios.

Zhiwei Wu y Elías Alayón Paz


22
Podemos tener problemas con el firewall de Windows y la solución sería
agregar una nueva regla para así poder permitir el tráfico hacia el
servidor.

2.3. Comprobación.

Empezamos a realizar una serie de comprobaciones sobre el


funcionamiento de los clientes que hemos configurado anteriormente.

Primero empezamos con el cliente Linux que pertenece al servidor


elias-Bacula-server-dir. Usaremos el software bconsole para la
comprobación del estado del cliente mediante el comando status
client. Si todo va bien debe mostrar algo como esto.

Luego empezamos con el cliente Windows que pertenece al servidor


zhiwei-VirtualBox-dir. Y esta vez usaremos el software bconsole que
hemos instalado en Windows, usaremos el mismo comando de antes.

Zhiwei Wu y Elías Alayón Paz


23
3. Realización de respaldo y restauración mediante la consola (bconsole).

3.1. Antes de empezar


Como hemos visto anteriormente en la creación del cliente Linux en
servidor, pues esta vez vamos a añadir nuevo fileset, pool, schedule y
job, y vamos a explicar un poco sobre ello.
Fileset: Es el sitio que queremos proteger, es decir sitio donde hace el
backup. En nuestro caso creamos un nuevo fileset con nombre
respaldo_linux y la carpeta datos dentro de la ruta /home/elias sería donde
queremos realizar el respaldo, además de estos vamos a realizar el backup
con el tipo de firma SHA1 y tipo de compresión GZIP9.
Pool: Especie de capsulas o unidades virtuales que solo son entendidas por
bacula, donde se guardan las copias de seguridad comprimidas y
encriptadas.
Creamos un nuevo volumen con nombre copia_diaria, de tipo backup, con
un periodo de retención de un año y autoprune = yes que significa que
puede eliminar los registros de trabajo que son más antiguos que el periodo
de retención.
Por otra parte dedicamos que este volumen es reciclable. Por último el
labelFormat es el tipo de plantilla para crear nuevos nombres de volumen
durante el etiquetado automático de volumen.

Zhiwei Wu y Elías Alayón Paz


24
Schedule: Programación de respaldo. Le daremos como nombre respaldo-
Linux, haremos una copia total en el volumen copia_diaria a las 17:00.
Job: Trabajo de respaldo. Le daremos como nombre respaldo_Linux,
cliente a respaldar elias-bacula-cliente-fd, el respaldo programado respaldo
Linux, y el volumen copia_diaria que hemos creado anteriormente, conjunto
de archivos a respaldar respaldo_linux ,y copia total.

Y una vez guardado este fichero reiniciamos el servicio correspondiente que


seria bacula-director.

Zhiwei Wu y Elías Alayón Paz


25
3.2. Respaldo
Llegado a este momento empezaremos con las pruebas de respaldo lo
cual comenzaremos a ejecutar el comando run dentro de bconsole. Una
vez ejecutamos run nos saldrá un menú en el cual nos permite elegir los
trabajos que hemos creado en bacula-dir.conf y en este caso elegimos
la opción número 4 correspondiente con respaldo_linux que hemos
creado anteriormente.

Como podemos ver tras la selección del número nos saldrá los detalles
del trabajo y tenemos tres opciones (yes/mod/no). Como ya sabemos la
opciones yes y no nos indicara si permitimos o rechazamos el respaldo
y por otra parte la opción mod nos permite modificar los detalles del
respaldo como veremos en la siguiente imagen.

Zhiwei Wu y Elías Alayón Paz


26
En nuestro caso como hemos configurado lo que queremos no
modificaremos nada. Y pulsamos el número 9 para salir y esta vez
elegimos la opción yes para realizar esta tarea de respaldo.

Zhiwei Wu y Elías Alayón Paz


27
Tenemos que consultar el resultado del respaldo con la orden message
con la cual nos informará si hay o no algún error o si todo ha ido bien, si
es así el resultado será el que se muestra en la imagen siguiente.

3.3. Restauración
Una vez que tengamos la copia finalizada podemos empezar con la
restauración para ello ejecutaremos la orden restore dentro de
bconsole y elegimos el número 5 que corresponde con la selección del
backup más reciente con el que se ha realizado el respaldo. En nuestro
caso elegimos la opción 2 correspondiente al cliente Linux.

Zhiwei Wu y Elías Alayón Paz


28
Tras elegir el cliente tenemos que marcar el fichero que queremos
restaurar y utilizamos cd para cambiar archivo y mark para marcar el
directorio adecuado.

Zhiwei Wu y Elías Alayón Paz


29
Después de marcar el directorio nos saldrá los detalles del trabajo que
va a realizarse y esta vez usamos la opción mod para editar el sitio que
restauraremos que pondremos el signo / para indicar su ruta original.

Zhiwei Wu y Elías Alayón Paz


30
Como hemos citado anteriormente para la consulta del resultado
usaremos el comando message y podemos ver que ha salido
satisfactoriamente.

4. Instalación y uso de webmin para Bacula.

4.1. Introducción
Configurar ciertos servicios o tareas a veces es costosa, tenemos que
editar archivos complejos, dedicar mucho tiempo en aprender cómo
funciona una herramienta desde la consola y como configurar sus
ficheros, a veces el software de Linux no cuenta con una interface de
usuario intuitiva que nos facilite el trabajo, etc.

Webmin es una herramienta que permite la configuración del sistema


vía Web para sistemas Linux.

Con Webmin podemos configurar y administrar cualquier cosa referente


al sistema, herramientas o servicios.

Quizá configurar y controlar en su totalidad Bacula puede ser algo


complejo y poco intuitivo ya que no cuenta con una interface gráfica, por
ello la mejor opción para facilitarnos el trabajo con Bacula es usar
Webmin.

Zhiwei Wu y Elías Alayón Paz


31
4.2. Instalación
Para instalar Webmin tenemos que descarlo desde su web oficial
http://www.webmin.com/download.html y descargar la versión para
Debian.
wget https://sourceforge.net/projects/webadmin/files/webmin/1.831/webmin_1.831_all.deb

Una vez finalizada la descarga entramos al directorio donde se ha


descargado e instalamos el paquete:

dpkg -i webmin_1.831_all.deb

Es posible que nos aparezcan errores por la falta de dependencias, si


este es el caso instalamos los paquetes faltantes:
apt-get install -f

Zhiwei Wu y Elías Alayón Paz


32
4.3. Uso
Una vez finalizada la instalación ya tenemos acceso desde la dirección
https://localhost:10000 con el usuario y la contraseña que tenga este
en el sistema.
Al conectarse nos saldrá que una página que nos indica que la
conexión es insegura por el problema del certificado y la solución es
añadirnos esta página en excepción.

Zhiwei Wu y Elías Alayón Paz


33
Tras añadir la página en excepción nos saldrá la página de inicio de webmin
para logearnos con el usuario que tenga privilegio root en este caso zhiwei y
su propia contraseña del sistema.

Al logearnos nos mostraran información del sistema como se puede


apreciar debajo en la imagen.

Zhiwei Wu y Elías Alayón Paz


34
Webmin por defecto nos sale con un idioma predefinido que seria en este
caso el inglés. Así que lo cambiaremos a nuestro idioma.

Aquí nos dirigiremos a la configuración para cambiar en la configuración de


Bacula database y marcar la opción de MySQL y su respectiva contraseña.
Una vez modificado pulsamos salvar.

Zhiwei Wu y Elías Alayón Paz


35
Cuando terminemos esto nos aparecerá un panel que en el cual podemos
configurar y administrar casi cualquier cosa de bacula.

Lo primero que vamos a realizar es crear un nuevo cliente para ello nos
dirigiremos en la sección de configuración del director (DIR) para ir al
apartado clientes.

Para ello pulsamos sobre agregar un nuevo cliente.

Zhiwei Wu y Elías Alayón Paz


36
Y se nos abre un nuevo formulario donde rellenaremos los datos necesarios
del nuevo cliente y que son los mismos que hemos visto anteriormente
como por ejemplo el nombre del cliente, contraseña, IP, etc… .

Cuando acabemos de rellenar los datos le daremos al botón crear y


volvemos al apartado anterior donde veremos nuestro nuevo cliente creado.

Ahora haremos clic sobre el cliente que hemos creado para ver su estado
de conexión haciendo clic sobre el botón mostrar estado.

Zhiwei Wu y Elías Alayón Paz


37
Podemos ver en la imagen siguiente que el estado del cliente esta correcto.

Esta vez vamos a añadir un nuevo conjunto de archivo.Pulsaremos sobre el


apartado conjuntos de archivos (FileSets).

Realizamos lo mismo que antes para añadir un cliente pero esta vez
agregaremos un nuevo conjunto de archivos.

Zhiwei Wu y Elías Alayón Paz


38
Crearemos un conjunto de archivo con el nombre Windows_respaldo que
hacemos referencia a la ruta:

C:/Users/zhiwei/Desktop

Con el tippo de firma del archivo SHA1 y tipo de compresion Gzip nivel 9 y
pulsamos el boton crear.

Ahora nos dirigiremos al apartado de grupos de volumenes (pool) para


crear un nuevo volumen.

Zhiwei Wu y Elías Alayón Paz


39
Donde ahora le daremos clic sobre el botón add a new volumen pool.

Para así rellenar los siguientes campos como el de volumen pool name
con copia_diaria, en el campo volumen pool type como backup y donde
automatically label volumes prefix con copia_diaria. Y una vez terminado
pulsamos sobre crear.

Luego nos iremos a programación de respaldos donde planteamos


asignar el tiempo para el respaldo.

Zhiwei Wu y Elías Alayón Paz


40
Una vez hecho lo anterior haremos clic sobre agregar nueva
programación.

A continuación pondremos como nombre de programación del respaldo


ponemos Windows_respaldo, como nivel de backup pondremos full y
luego en el campo siguiente pondremos un horario que para ello
pulsaremos sobre el icono . Y cuando terminemos le daremos clic
sobre crear.

Zhiwei Wu y Elías Alayón Paz


41
Por último vamos a crear el trabajo de respaldo.

Y en la nueva ventana haremos clic sobre agregar un nuevo trabajo de


respaldo.

En el nuevo formulario que se nos abre rellenamos el nombre del trabajo


de respaldo, el tipo de trabajo, el nivel de respaldo, cliente a respaldar,
respaldo programado y el pool de volúmenes que hemos creado
anteriormente. Y una vez terminado hacemos clic sobre crear.

Zhiwei Wu y Elías Alayón Paz


42
Y ya podemos empezar con el respaldo y restauración. Ahora hacemos
clic en correr trabajo de respaldo para ejecutar el respaldo.

Donde elegimos el trabajo correspondiente que sería el de


Windows_respaldo (File set on zhiwei-pc-fd). Y clicamos en backup now.

Tras la acción se nos muestran los detalles del respaldo

Zhiwei Wu y Elías Alayón Paz


43
Bueno es hora de ponernos con la recuperación del respaldo para ello
seleccionamos recuperar backup.

Elegimos el respaldo que hemos creado anteriormente, donde ponemos la


ruta del archivo que vamos a recuperar dentro del respaldo y seguidamente
elegimos el cliente correspondiente con la ruta de otro directorio / que
significa la ruta original. Y hacemos clic sobre recuperar ahora.

Zhiwei Wu y Elías Alayón Paz


44
Por último solo tenemos que esperar a que termine la restauración y
podemos ver que la restauración se ha completado.

Zhiwei Wu y Elías Alayón Paz


45
Recurso Material
 2 Servidores (Linux) virtualizados.
 2 Clientes virtualizados:
o Windows.
o Linux.

Presupuesto
Ninguno ya puesto que todo lo que hemos usado es de licencia GNU.

Cronograma

Bibliografía
- http://victorroblesweb.es/2013/11/04/backups-red-bacula-funcionamiento/
- http://webmodelling.com/webbits/miscellaneous/bacula.aspx
- http://vivaubuntu.com/bacula-backup-instalacion-del-servidor/
- http://2009.encuentrolinux.cl/wp-content/uploads/2009/09/bacula.pdf
- http://www.bacula.org/5.2.x-manuals/en/main/main.pdf

Zhiwei Wu y Elías Alayón Paz


46

Vous aimerez peut-être aussi