Presentación del sistema de backup Bacula en la Escuela Tecnica superior Ingeneria Informatica y Telecomunicaciones de Granada de la Universidad de Granada durante los talleres promovidos por la Oficina de Software Libre de la Universidad de Granada.
La presentación corrió a cargo de Francisco Javier Funes Nieto (http://es.linkedin.com/pub/francisco-javier-funes-nieto/16/985/539) de la empresa CANONIGOS.
3. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Proyecto de Software Libre
Bacula es una solución de backup en red centralizado diseñado para funcionar
en distintos sistemas operativos (*BSD, Linux, Mac OSX, Unix y Windows).
Tiene funciones de tipo empresarial y se distribuye bajo licencia AGPL v3.
El proyecto es liderado por su creador Kern Sibbald y actualmente cuenta con
una amplia comunidad de desarrolladores y colaboradores, así como de
usuarios.
7. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Solución: Bacula
Gestión
Centralizada
Software Libre
(AGPLv3)
Backup y
Restauración en
Red
Múltiples
Plataformas (*BSD,
Linux, Mac OSX,
Unix y Windows)
Distintos tipos de
medios (Cinta,
Disco, USB, CD/
DVD)
Confiable, seguro y
estable
Sabe Qué, Dónde,
y Cuándo fue
guardado nuestro
backup
Te permite
restaurar sólo los
ficheros que tú
quieres
Restauración en un
punto del tiempo
Fácilmente
escalable
Sistema de alertas
e informes vía
correo electrónico
8. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Componentes
File
Daemon
(FD)
Console
Director
(DIR)
Storage
Daemon
(SD)
Catalog
Database
Comandos de Usuario
Autorización
Atributos de Fichero
Localización Almacenamiento
Atributos de Fichero
Localización Almacenamiento
Comandos
Atributos de Fichero
+ Datos
PostgreSQL
MySQL
SQLite
Medios físicos
9. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Director (DIR)
Controla y gestiona
todo el proceso de
Backup
La entidad básica es el
Job (Un cliente, un
conjunto de ficheros,
una agenda, un
destino…)
Programa, inicia y
supervisa todos los
Jobs
Mantiene el Catalog
(Base de datos)
Normalmente solo
existe uno, pero puede
haber más según
envergadura de la
instalación
10. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
File Daemon ó Cliente (FD)
Ejecuta el backup, la
restauración y la
verificación ordenadas
por el Director
Instalado en cada
máquina cliente como
servicio (daemon)
Se comunica a través
de red con el Director y
Storage Daemon
Necesita acceso a
todos los ficheros que
vayan a ser copiados
(root, SYSTEM)
Normalmente un FD
por máquina, múltiples
FD’s por Director
11. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Storage Daemon (SD)
Lee y escribe datos
en el medio físico
(Disco, Cinta,USB,
etc)
Acepta órdenes y
autorizaciones del
Director
Acepta y devuelve
datos desde/hacia
los File Daemons (FD)
Envía información de
dónde está guardada
la información al
Director -> Catalog
Normalmente uno
por Director pero
con distintos Devices
(Dispositivos)
12. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Console
Permite a los usuarios
y al administrador
gestionar Bacula
Se comunica con el
Director mediante la
red
Permite iniciar Jobs,
revisar la salida de un
Job, y mandar
consultas y modificar el
Catalog
Disponibles:
• bconsole
• bat
• bacula-web
• bweb
Consolas con
restricciones de
acceso permiten a los
usuarios restaurar sus
propios archivos
13. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Catalog
Es el único componente
no escrito por el equipo
de Bacula
Base de datos SQL
(MySQL, PostgreSQL,
SQLite)
Guarda el resultado de la
ejecución de los Jobs, el
uso de los volúmenes, la
localización de los
ficheros, etc…
Permite una rápida
restauración de datos
Permite la ejecución de
consultas para saber
dónde y cuándo fueron
guardados nuestros
datos
Los datos que caducan
son borrrados
automáticamente por el
Director
Soporta varias bases de
datos para poder escalar
14. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Características
Servidor centralizado
con base de datos y
backup distribuído
Todos los
componentes se
comunidad vía red
Agenda interna para
automatizar la
ejecución del backup
y su prioridad
Restauración
Interactiva
• Copia Actual
• Copia de la fecha DD/
MM/AAAA
Restauración
Interactiva (cont).
• Lista de ficheros y
directorios
• Restaurar un JobId
15. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Características (cont.)
Administración
simplificada mediante
distintas consolas
Volúmenes con nombre
para prevenir
sobreescritura de
backup
Soporte de etiquetas
ANSI/IBM
Volúmenes con formato
independiente de la
máquina/sistema
operativo, extensibles.
Soporte Unicode en
Win32 / UTF-8 en Unix/
Linux
16. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Características Hardware
Los Backups pueden
ocupar varios
Volúmenes
Múltiples backups por
volumen (Distintos
Jobs, Clients y
Sistemas Operativos)
Soporte de gran
cantidad de
dispositivos de cinta
Soporte de gran
cantidad de Librerías
de Cinta
Soporte de lectura de
código de de barras
Amplia gestión de
Pools y Volúmenes
Rápida restauración en
comparación con otros
métodos (tiempos <<
tar)
17. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Características de Seguridad
Autorización entre
servicios (daemons)
mediante CRAM-MD5
Tanto Director como
Storage Daemon
pueden funcionar con
usuarios no-
privilegiados (non-root)
Firmas MD5 o SHA1
por cada fichero en el
sistema
Suma de control CRC
para cada Volumen
Consolas y monitores
del sistema de acceso
restringido.
Comunicaciones
encriptadas mediante
TLS
Datos encriptados
mediante PKI
Verificación de la
integridad de los datos
18. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Bacula: Qué es un Job
Un Job o trabajo de copia es la unidad básica de trabajo dentro de Bacula y
consta de los siguientes elementos:
Name (único)
• Es el nombre
del trabajo,
nos sirve para
definir el
trabajo de
copia. (p.ej.:
htdocs_www)
Type
• Tipo de
Trabajo:
Backup,
Migrate,
Admin,
Restore, Copy
Level
• Nivel del tipo
de copia: Full,
Differential,
Incremental,
VirtualFull
FileSet
• Qué ficheros
guardaremos
Storage
• Dónde
guardaremos
los ficheros
Pool
• Qué conjunto
de volúmenes
usaremos
(Disk, Tape)
Schedule
• Cuándo
haremos la
copia
19. It comes by night and sucks the vital essence from your computers.
Bacula: The Network Backup Solution
Configuración de Bacula: bacula-dir.conf
Director {
Name = bacula‐dir
Query File = “/usr/local/etc/query.sql”
Working Directory = “/var/bacula”
PID Directory = “/var/run”
Maximum Concurrent Jobs = 20
Password = “secret”
Messages = Standard
}
Job {
Name = ”htdocs_www”
Type = Backup
Client = www‐fd
FileSet = “htdocs_var”
Storage = File
Schedule = “CicloSemanal”
Pool = Standard
Messages = Standard
Write Bootstrap = “/var/bacula/www.bsr”
}
Definición del Director, contraseña y
otras características del mismo.
Definición del Job:
- Nombre = “htdocs_www”
- Tipo = Backup
- Cliente = Equipo www
- Storage = File
- Cuando = “CicloSemanal”
- Conjunto de Volúmenes = Standard
- Mensajes = Standard
- Log = Fichero www.bsr
20. Bacula: The Network Backup Solution
Configuración de Bacula (cont.): bacula-dir.conf
Client {
Name = www‐fd
Address = www.canonigos.es
Catalog = MyCatalog
Password = “mipassword”
File RetenRon = 30 days
Job RetenRon = 6 months
AutoPrune = yes
Maximum Concurrent Jobs = 20
}
Definición del Cliente, dirección,
contraseña, Catalog que usará,
tiempos de retención en Catalog de
los datos acerca de los ficheros y
trabajos de copia, auto borrado de
datos cuando cumplan requisitos y
número máximo de trabajos
concurrentes que acepta el FD
It comes by night and sucks the vital essence from your computers.
21. Bacula: The Network Backup Solution
Configuración de Bacula (cont.): bacula-dir.conf
It comes by night and sucks the vital essence from your computers.
FileSet {
Name = ”htdocs_var”
Include {
Options {
signature = SHA1
}
File = /var/www
}
}
Definición del FileSet, nombre, incluye
el directorio /var/www y crearemos
una firma SHA1 por cada fichero.
FileSet {
Name = ”Documentos_Usuario”
Enable VSS = yes
Include {
Options {
signature = SHA1
}
File = “C:/Users/usuario/Documentos”
}
}
Definición del FileSet, nombre, incluye
el directorio C:/Users/usuario/
Documents y crearemos una firma
SHA1 por cada fichero. También
habilitamos el soporte para
VolumeShadowCopyService de
sistemas Win9x/WinXP *
http://en.wikipedia.org/wiki/Shadow_Copy
22. Bacula: The Network Backup Solution
Configuración de Bacula (cont.): bacula-dir.conf
It comes by night and sucks the vital essence from your computers.
Schedule {
Name = ”CicloSemanal”
Run = Level=Full 1st sun at 2:05
Run = Level=Differential 2nd-5th sun at 2:05
Run = Level=Incremental mon-sat at 2:05
}
Nuestro Job con el Schedule “CicloSemanal” se ejecutara:
- Con un nivel de copia completa: El primer domingo de cada mes a las 2:05
- Con un nivel diferencial: Desde el segundo al quinto domingo de cada mes a las 2:05
- Con un nivel incremental: De lunes a sábado a las 2:05
23. Bacula: The Network Backup Solution
Configuración de Bacula (cont.): bacula-sd.conf
Device {
Name = File
Archive Device = /var/backup
Device Type = File
Media Type = File
Label Media = yes
Label Format = “Backup‐”
Random Access = yes
}
Definición de un dispositivo (Device)
con nombre File que guardará las
copias en /var/backup, con acceso
aleatorio y capaz de auto nombrar
sus volúmenes mediante la etiqueta
“Backup-” (Backup-001,
Backup-002)
It comes by night and sucks the vital essence from your computers.
Device {
Name = HP_STORAGEWORKS_920
Archive Device = /var/backup
Device Type = /dev/nst0
Media Type = LTO3
Label Media = yes
Random Access = no
AutomaRcMount = yes
RemovableMedia = yes
AlwaysOpen = no
}
Definición de un dispositivo (Device)
con nombre HP_STORAGEWORKS_920
que guardará las copias en el
dispositivo /dev/nst0 (Unidad de
Cinta) sin acceso aleatorio
(secuencial) y capaz de nombrar sus
volúmenes, es un dispositivo que
permite extraer sus medios físicos y
que no siempre está abierto (necesita
montaje aunque puede ser
automático).
24. Bacula: The Network Backup Solution
It comes by night and sucks the vital essence from your computers.
Configuración de Bacula (cont.): bacula-fd.conf
Director {
Name = bacula‐dir
Password = “secret”
}
Definición del Director al que voy a
dejar interactuar con el FD.
FileDaemon {
Name = www‐fd
FDPort = 9102
WorkingDirectory = /var/lib/bacula
Pid Directory = /var/run
Maximum Concurrent Jobs = 20
}
Definición del FD, nombre, puerto de
trabajo y número máximo de trabajos
concurrentes.
25. Bacula: The Network Backup Solution
It comes by night and sucks the vital essence from your computers.
Desarrollo del Proyecto
SiRo Web
• h]p://www.bacula.org
EsRlo de desarrollo
• Proyecto en SourceForge
• Guía para desarrolladores con pautas de esRlo
• Acceso a código para desarrolladores mediante SVN/GIT
• Parches y Commits revisados por Kern Sibbald
• Código testeado por una suite de regresión
• Lista de correo para desarrolladores (bacula‐devel)
Licencia
• AGPLv3 (h]p://www.gnu.org/licenses/agpl.html)
• The Freedom Task Force ( h]p://www.fsfe.org/projects/ef/ef.es.html)
26. Bacula: The Network Backup Solution
It comes by night and sucks the vital essence from your computers.
Recursos
Para usuarios y administradores de sistemas
• Manual: h]p://www.bacula.org/en/rel‐manual/index.html
• Reporte de errores: h]p://bugs.bacula.org/
• Lista de soporte: bacula‐users@lists.sourceforge.net
• Wiki: h]p://wiki.bacula.org
Para desarrolladores
• Documentación: h]p://www.bacula.org/en/developers/index.html
• Lista de correo para desarrolladores bacula‐
devel@lists.sourceforge.net , bacula‐commits@lists.sourceforge.net
• SVN/GIT en SourceForge
27. Bacula: The Network Backup Solution
It comes by night and sucks the vital essence from your computers.
Créditos
Gracias a:
Dan Langlille que
creó la
presentación
original
Karl Cunningham
que la actualizó
Oficina de
Soeware Libre
de la
Universidad de
Granada
Kern Sibbald
creador del
proyecto Bacula
Una copia de ésta presentación puede encontrarse en el sitio de Bacula (bacula.org) en la sección de Presentaciones (Presentations)