Anda di halaman 1dari 46

Curso de Administración de Bacula

V1.0 / Marzo 2010

www.bacula.org
1
Objetivos
 Analizar la estructura de Bacula
 Casos prácticos
 Aclaraciones y consultas

2
Introducción
 ¿Qué es Bacula?
 ¿Por qué usar Bacula?
 ¿Cómo usar Bacula?

3
Bacula - Componentes
 Bacula tiene seis componentes:
 1. Director (DIR)
 2. File Daemon o Cliente (FD)
 3. Storage Daemon (SD)
 4. Consola
 5. Base de Datos del Catálogo
 6. Tray Monitor

4
1. Director (DIR)
 1. Director (DIR)
 La administración y el control de todo está
centralizado
 Job como unidad básica de trabajo
 Inicia, programa y supervisa todos los Jobs
 Mantiene el catálogo
 Un solo Director excepto en sistemas muy
grandes

5
2. File Daemon o Cliente (FD)
 2. File Daemon o Cliente (FD)
 Realiza backups, restauraciones y verificaciones (a
petición del Director)
 Se instala en cada máquina como un servicio
(daemon)
 Se comunica a través de la red con el Director y
Storage daemon
 Necesita acceso a todos los ficheros para realizar
backups (root)
 El código es común pero se adapta a cada Sistema
Operativo
 Múltiples File Deamons por Director, una por cada
máquina

6
3. Storage Daemon (SD)
 3. Storage Daemon (SD)
 Lee y escribe datos a los medios físicos:
 Disco
 Cinta
 DVD
 USB
 Acepta órdenes y autorizaciones del Director
 Acepta y devuelve datos de/hacia los File Daemons
(FD)
 Envía la localización de los ficheros al Director ->
Catalog
 Típicamente uno por Director
7
4. Consola
 4. Consola
 Permite a un usuario o administrador controlar
Bacula
 Se comunica con el Director a través de la red
 Inicia y verifica Jobs, comprueba / modifica el
catálogo
 Consolas disponibles:
 TTY (bconsole)
 wxWidgets (GUI) - Linux, Unix, Win32
 Gnome (GUI)
 BAT
 Consolas restringidas (ACL) por seguridad
8
5. Base de datos del Catálogo
 5. Base de datos del Catálogo
 Único componente que no pertenece al software de
Bacula
 Base de datos SQL (MySQL, PostgreSQL o SQLite)
 Seguimiento de Jobs, Volúmenes usados,
Localización de ficheros
 Permite restaurar rápidamente
 Permite comprar cuándo y dónde se realizó el
backup de un determinado fichero
 Los datos antiguos se limpian automáticamente por
el Director
 Escalado: soporta múltiples BBDD del mismo tipo

9
6. Tray Monitor
 6. Tray Monitor
 Gnome/KDE/Win32 GUI tray applet
 Monitoriza el Director, los File Daemons, y
el Storage daemon
 Muestra la actividad casi a tiempo real

10
Características
 Un servidor central y un catálogo con backups
distribuidos
 Todos los componentes se comunican a través
de la red y se distribuyen de forma separada
 Scheduler interno para la ejecución automática
y simultánea de Jobs con prioridades
 Restauración interactiva para uno o varios
ficheros desde:
 Backup actual
 Backup a una cierta fecha
 Lista de ficheros / directorios a restaurar
 Restaurar por JobId
11
Características (cont.)
 Administración simple mediante consolas
 Volúmenes etiquetados
 Soporte para Unicode en Win32. UTF-8
en Unix.
 Intérprete Python para realizar scripts

12
Características hardware
 Los backups se pueden realizar en múltiples
volúmenes
 Múltiples backups por volumen
 Soporta la mayoría de las cintas en el mercado
 Soporta múltiples autochangers (librerías)
 Soporta lectores de códigos de barras
 Capacidad para un amplio catálogo de
volúmenes
 Rápidas restauraciones
13
Características de seguridad
 - Autorización de daemons con CRAM-MD5
 Director y Storage Daemon pueden ser
ejecutados como no-root
 MD5,SHA1... para firmar cada fichero
 CRC checksum para cada bloque de volumen
 Consolas y tray-monitors restringidos
 Encriptación en las comunicaciones (TLS)
 Encriptación de datos (PKI)

14
Detalles técnicos
 Sistemas Operativos soportados: Linux,
Win32, Solaris, *BSD, Mac OS X, Irix,
Tru64, AIX, HP-UX
 Restaura con los permisos que tenía
anteriormente
 Soporta ficheros grandes (>2GB) y
arquitecturas de 64 bits.
 Escrito en C++

15
Fichero de configuración de
Director
 Director {
 Name = bacula-dir
 Query File = "/usr/local/etc/query.sql"
 Working Directory = "/var/bacula"
 PID Directory = "/var/run"
 Maximum Current Jobs = 20
 Password = "secret"
 Messages = Standard
 }
16
Fichero de configuración de
console
 Console {
 Name = Monitor
 Password = "monitor-secret"
 CommandACL = status,status
 CatalogACL = BackupD0
}

17
Configuración de Bacula - Job
 Los jobs son la estructura básica unificada:
 Name: Un nombre único
 Type: Qué hacer, Backup, Migración, Restauración
 Level: Full, Diferencial, Incremental
 FileSet: De qué ficheros queremos realizar backups
 Cliente: De dónde obtener los ficheros (nombre de
la máquina)
 Storage: Dónde poner los ficheros (cabina de
cintas, p. ej)
 Pool: Conjunto de Volumenes (cintas, disco) a
utilizar
 Schedule: Cuándo hacerlo

18
Jobs
 Job {
 Name = "Laptop"
 Type = Backup
 Client = laptop-fd
 FileSet = "Full Set"
 Schedule = "Weekly Cycle"
 Storage = File
 Messages = Standard
 Pool = Standard
 Write Bootstrap = "/var/bacula/laptop.bsr"
 Priority = 10
 }
19
Client
 Client {
 Name = laptop-fd
 Address = laptop.example.org
 Catalog = MyCatalog
 Password = "secret-fd"
 File Retention = 30 days
 Job Retention = 6 months
 AutoPrune = yes
 Maximum Current Jobs = 20
 }
20
Configuración de Bacula - File Set
 Incluye / Excluye ficheros y/o directorios
 Soporte para expresiones regulares
(regex)
 Soporte para compresión usando criterio
de selección similares
 Tipo de sistema de ficheros a hacer
backups
 Firmas (MD5,SHA1,...)

21
File Set
 FileSet {
 Name = "Full Set"
 Include {
 Options {
 signature = SHA1; sparse = yes
 exclude = yes
 }
 File = /
 File = /usr
 File = /var
 }
 Exclude {
 File = /proc; File = /tmp; File = /sys; File = /journal
 }
 }

22
Schedule
 Schedule {
 Name = "Weekly Cycle"
 Run = Level = Full 1st sun at 2:05
 Run = Level = Differential 2nd-5st sun at
2:05
 Run = Level = Incremental mon-sat at 2:05

 }

23
Configuración de File Daemon
 FileDaemon {
 Name = laptop-fd
 Working Directory = /var/bacula
 PID Directory = /var/run
 }

 Director {
 Name = bacula-dir
 Password = "secret-fd"
 }
24
Configuración de Storage (SD)
 Storage {
 Name = bacula-sd
 Working Directory = /var/bacula
 PID Directory = /var/run
 }

 Director {
 Name = bacula-dir
 Password = "secret-sd"
 }
25
Configuración de Devices
 Device {
 Name = File
 Archive Device = /var/bacula/backups
 Device Type = File #DVD, Cinta...
 Media Type = File
 Label Media = yes
 Random Access = yes
 ...
 }
26
Autochanger
 AutoChanger {
 Name = LTO-Changer
 Device = Drive-0, Drive-1
 Changer Device = /dev/sg0
 ...

 }

27
Device (usando autochanger)
 Device {
 Name = Drive-0
 Archive Device = /dev/nst0
 Device Type = Tape #DVD,File
 Media Type = LTO-2
 Autochanger = yes
 ...

 }

28
Futuras implementaciones:
 Seguimiento de ficheros renombrados
 Herramienta GUI oficial de Bacula
 Permitir a FD iniciar un backup
 Unir múltiples backups (synthetic Backup
o Consolidation)
 Eliminación de Volumenes de Bacula
basados en disco
 Mejorar la gestión de la limpieza de
cintas de Bacula
29
Recursos:
 Para usuarios y administradores de sistemas:
 Manual: http://www.bacula.org/rel-manual/index.html
 Listas de compatibilidad del SO y Hardware (en el manual)
 Reporte de bugs: http://bugs.bacula.org
 Lista de correo para soporte: bacula-
users@lists.sourceforge.net

 Para desarrolladores:
 Documentación:
http://www.bacula.org/developers/index.html
 Lista de email: bacula-devel@lists.sourceforge.net, bacula-
commits@lists.sourceforge.net
 SVN en Source Forge

30
Casos prácticos
 Caso práctico 1:
 Instalación de clientes Bacula

31
Casos prácticos
 Caso práctico 2:
 Configuración de clientes Bacula para
conectarse con el servidor Bacula.

32
Casos prácticos
 Caso práctico 3:
 Realización de un backup local a disco

33
Casos prácticos
 Caso práctico 4:
 Realización de un backup de un cliente a
disco.

34
Casos prácticos
 Caso práctico 5:
 Creación de Schedulers personalizados

35
Casos prácticos
 Caso práctico 6:
 Cómo etiquetar una nueva cinta.

36
Casos prácticos
 Caso práctico 7:
 Realizar una restauración desde disco

37
Casos prácticos
 Caso práctico 8:
 Realizar un backup del catálogo

38
Casos prácticos
 Caso práctico 9:
 Realizar una restauración desde cinta.

39
Casos prácticos
 Caso práctico 10:
 Realizar una restauración del catálogo de
Bacula

40
Casos prácticos
 Caso práctico 11:
 Limpiar manualmente una cinta

41
Casos prácticos
 Caso práctico 12:
 Configurar la limpieza automática de las
cintas.

42
Casos prácticos
 Caso práctico 13:
 Realizar un backup full, y a continuación
dos incrementales consecutivos.

43
Casos prácticos
 Caso práctico 14:
 Restaurar el último backup incremental

44
Ruegos y preguntas
 ¿Dudas?
 ¿Más casos prácticos?
 ¿Consultas?

45
Mario Alcaide
Administrador de Bases de Datos
mario.alcaide@fujitsu.es
mario.alcaide.ext@juntadeandalucia.es

46

Anda mungkin juga menyukai