Solución de BackUp U.N.L.P. Noviembre de 2009 Sofía Martin (Linti) Matias Banchoff (Cespi)
Agenda A) Tipos de Backup B) Tipos de raid C) Bacula – Instalación – Configuración D) Referencias
Tipos de Backup Full Backups Backupean todo lo que haya en el fileset Incremental Backups Backupean todo lo que haya cambiado desde el último backup (sea full, diferencial o incremental) Differential Backups Backupean todo lo que haya cambiado desde el último backup full. Restores más rápidos
Raid - ¿Qué es? A) Redundant Array of Inexpensive Disks B) Es un conjunto de discos rígidos (o particiones) que forman una única unidad lógica, el raid. C) Parámetros de los raids: ● Tipo. Opción de implementación ● Nivel. Dice la “seguridad/confiabilidad” ● que promete ● Tamaño del RAID
Programas de backup - Características deseables A) Multiplataforma – Metadata en Windows, Linux, BSD, Solaris – FileSystems B) Catálogo – Restaurar selectivamente – Contrastar atributos en FileSystem y Catálogo C) UI intuitiva y cómoda – Que no haya que saber mucho para backupear/restaurar D) Barato E) Comunidad de usuarios activa F) Configuración flexible G) Seguro H) Compatibilidad entre sistemas operativos
Bacula A) ¿Qué es? ● Solución distribuída y heterogenea de backup a disco y cinta ● Open Source ● Multiplataforma (red heterogenea) B) ¿Para qué NO sirve? ● Los usuarios no pueden restaurar (Usar BackupPC) ● Sistemas chicos
Bacula – Requerimientos A) Requerimientos de Hard/Software – Linux (RedHat, Ubuntu, Fedora, Suse, Debian) – Solaris – Windows (clientes, director y storage no soportados, aunque a veces andan!!) – OpenBSD (fd) – Irix (fd). – MacOS X/Darwin. – TapeDrives – Ver tabla de compatibilidad – manual/Supported_Tape_Drives.html
Bacula - Arquitectura A) Director – puerto 9101 – Inicia Backups/Restores – Atiende a la Bconsole B) Catálogo – Meta info, atributos. Restores selectivos. Bases de datos. C)Storage – puerto 9103 – Interactúa con el dispositivo real donde se guardan los datos – Recibe/Envía los datos a los clientes D)FileClientDaemon (fd) – puerto 9102 – Procesa los datos antes de enviárselos al storage (backup) y luego de recibirlos (restore) E)Bconsole – Interactúa con el Director – ACL - Modo Batch ● Hay otras interfaces más amigables en desarrollo
Bacula – Configuración A) Archivos – bacula-dir.conf ● Incluye definición de cada cliente – bacula-sd.conf ● Define los dispositivos de almacenamiento – bacula-fd.conf ● Define quien se puede conectar. NO establece lo que se backupea – bconsole.conf B) “Resources”. Recursos del sistema (Mensajería, Catálogo, Schedules, etc.)
Bacula - Director A) Es donde se implementa la política de Backup B) Se definen los clientes a backupear C) Se definen los pools, volúmenes y las rotaciones D) Para cada cliente, qué se backupea y cuándo – Jobs, schedules, pools, rotación de tapes, FileSets, etc.
Bacula - Storage A) Es donde se guardan los datos backupeados B) Donde se definen los dispositivos de almacenamiento (hd y/o tape)
Bacula - bConsole A) Interfaz de usuario amigable B) Permite correr jobs “al vuelo” C) Se pueden tener ACLs D) Permite ver el estado de Bacula – Director – Storage – Clientes – Pools y volumes
Bacula - Catálogo A) Almacena metadatos de cada archivo backupeado B) Permite restauraciones selectivas – Seleccionar en una consola cuáles archivos restaurar y cuáles no – ACLs para la bConsole
Bacula - Pools A) Entidades abstractas – Existen en la base de datos, pero no en el disco/cinta B) Sirven para agrupar volumenes – Los volumenes heredan las propiedades de su pool C) Implementan la rotación de los volumenes
Bacula - Volumes A) Donde se guardan los datos backupeados B) Tienen una fecha de expiración C) Tienen una etiqueta/label – Para los archivos, la etiqueta es el nombre del archivo -rw-r G :34 Syrah-Diff rw-r G :15 Syrah-Diff rw-r G :01 Syrah-Diff rw-r G :43 Syrah-Diff-0004
Bacula - Storage Storage { # definition of myself Name = silicio-sd SDPort = 9103 # Director's port SDAddress = direccion ip WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 } Director { name = silicio-dir password = "la password definida en el director" } Device { Name = FileStorage Media Type = File Archive Device = /un/directorio LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; }
bConsole – status director Connecting to Director : OK: silicio-dir Version: (22 April 2005) Enter a period to cancel a command. *status dir Using default Catalog name=catalogo DB=bacula silicio-dir Version: (22 April 2005) i486-pc-linux-gnu debian testing/unstable Daemon started 11-Nov-07 15:16, 35 Jobs run since started. Scheduled Jobs: Level Type Pri Scheduled Name Volume ===================================================== Incremental Backup Nov-07 00:30 backup_unlp Unlp-Inc-0002 Incremental Backup Nov-07 00:30 backup_isis Isis-Inc-0003 ==== Running Jobs: No Jobs running. ==== Terminated Jobs: JobId Level Files Bytes Status Finished Name ===================================================== 5197 Incr ,583,325 OK 13-Nov-07 01:07 backup_unlp_tape 5198 Incr 8,412 1,078,833,667 OK 13-Nov-07 01:23 backup_isis_tape ==== *
bConsole - run *run A job name must be specified. The defined Job resources are: 1: default_restore_job 2: backup_unlp 3: backup_unlp_tape 4: backup_isis Select Job resource (1-18): 2 Run Backup job JobName: backup_unlp FileSet: unlp-fs Level: Incremental Client: unlp-fd Storage: silicio-sd-disco Pool: unlp-inc When: :37:43 Priority: 10 OK to run? (yes/mod/no): mod Parameters to modify: 1: Level 2: Storage 3: Job 4: FileSet 5: Client 6: When 7: Priority 8: Pool Select parameter to modify (1-8):
bConsole - restore You are now entering file selection mode where you add (mark) and remove (unmark) files to be restored. No files are initially added, unless you used the "all" keyword on the command line. Enter "done" to leave this mode. cwd is: / $ ls etc/ home/ var/ $ cd etc cwd is: /etc/
Referencias A) B) C) D) E) F) G)