Subsections
El estado actual de Bacula
En otras palabras, que está y que no está implementado y funcional..
?
- Control de trabajos (jobs)
- Respaldos y restauraciones en red con un director centralizado.
- Scheduler interno para ejecución automática de los
JobsJobDef.
- Scheduling de múltiples jobs al mismo tiempo.
- Se puede correr uno o múltiples jobs en forma simultánea
(algunas veces, esto se denomina multiplexado (multiplexing)).
- Uso de prioridades para la secuencialidad de los jobs.
- Interfaz de ConsolaUADef con el director, permitiendo un control completo
de las operaciones. Diferentes versiones de programas de consola están disponibles,
tales como línea de comandos, Qt4 GUI, GNOME GUI y wxWidgets. Hay que destacar, que
el programa de Qt4 GUI, se denomina bacula administration tool o bat, y ofrece mas
funcionalidades adicionales al programa de shell.
- Seguridad
- Verificación de archivos, que han sido previamente catalogados, permitiendo con esto,
un conjunto de funcionalidadaes como las ofrecidas con Tripwire (sistema de detección
de vulnerabilidades)(http://es.wikipedia.org/wiki/Tripwire ).
- Autenticación con password CRAM-MD5 entre cada uno de los componentes (demonios).
- Encriptación configurable de comunicaciones
TLS (SSL)CommEncryption entre cada uno de los componentes.
- Encriptación configurable de la
Data (en un Volumen)DataEncryption
definidas cliente por cliente.
- Firmas de MD5 y SHA1 de la data de los archivos, de ser necesaria.
- Funcionalidades para las restauraciones
- Recuperación de uno o más archivos, seleccionados interativamente desde el backup
actual o previos a una hora y fecha indicada.
- Restauración de un sistema completo, para un equipo nuevo (bare metal).
Este procedimiento está completamente automatizado para sistemas Linux y
parcialmente automatizado para Solaris. Vea el capítulo de
Disaster Recovery utilizando BaculaRescueChapter. También se ha reportado que
funciona en sistemas con Win2K/XP.
- Listado y recuperación de archivos stand-alone, utilizando programas utilitarios como bls and
bextract. Entre otras cosas, estos permiten la extracción
de archivos cuando bacula y/o el catálogo no están disponibles. Hay que tener presente,
que la manera adecuada para recuperar archivos es utilizando el comando restore en
la consola. Estos programas están diseñados para ser usados como un último recurso.
- Capacidad para restaurar la base de datos del catálogo de manera rápida con el uso
de archivos bootstrap (grabados previamente).
- Capacidad para restaurar la base de datos del catalogo utilizando el programa
bscan, a traves del escaneo de los volúmenes de backup.
- Catálogo SQL
- Base de datos de catálogo para almacenar información de: volúmenes, pools, jobs y
archivos respaldados.
- Soporte para el catálogo con bases de datos MySQL, PostgreSQL y SQLite.
- Consultas de usuario extensibles a las bases de datos MySQL, PostgreSQL y SQLite.
- Administración avanzada de pools y de volúmenes
- Etiquetado de volúmenes, para prevenir la sobreescritura accidental de los mismos
(al menos por Bacula).
- Cualquier número de jobs y de clientes pueden ser respaldados a un simple volumen.
Es decir, se puede hacer backup y recuperaciones de máquinas Linux, Unix, Sun y Windows
a un mismo volumen.
- Backup multivolumen. Cuando un volumen está full, Bacula automáticamente
busca el siguiente volumen y continúa el respaldo.
- La administración de la librería de
pools y de volumenesPoolResource
brinda una gran flexibilidad para el manejo de estos últimos, y permite manejar:
conjuntos de volúmenes diarios, semanales y clasificados por cliente, entre otros).
- El formato de la data del volumen es independiente de la máquina. Los clientes Linux,
Solaris y Windows pueden ser respaldados en el mismo volumen, si se desea.
- El formato de data del volumen es compatible hacia arriba, para que los volúmenes
viejos siempre puedan ser leidos.
- Un manejador flexible de
mensajesMessagesChapter, que incluye
el enrutamiento de mensajes desde cualquier demonio hacia el director y correo de
reporte de notificación automático.
- Spooling de la data en disco durante el backup, con la escritura subsiguiente de
los archivos grabados en el spool a la cinta. Esto previene el uso intensivo del
tape durante los respaldos incrementales y diferenciales.
- Soporte avanzado para la mayoría de los dispositivos de almacenamiento
- Soporte a Autochanger, utilizando una interfaz simple de comandos que interactúa
virtualmente con cualquier programa de autoloader. Un script para mtx se
copia durante la instalación.
- Soporte para autochangers con códigos de barras, y etiquetado automático de cintas
desde los códigos de barras.
- Soporte automático para múltiples librerías de recambio automático, utilizando código
de barras o por la lectura de los tapes.
- Soporte para múltiples unidades de autochangers.
- Backup y restauración de dispositivos crudos (raw devices). La recuperación debe
hacerse al mismo dispositivo.
- Todos los bloques de los volúmenes (aproximadamente 64K bytes) contienen un checksum
de la data.
- Soporte a migración – movimiento de la data de un pool a otro o de un volumen a otro.
- Soporte para escritura en DVD.
- Soporte para múltiples sistemas operativos
- Programado para el manejo arbitrario de nombre largos de archivos y mensajes.
- Compresión tipo GZIP archivo por archivo, hecha por el programa cliente, si se ha
configurado, antes de la copia en red.
- Grabado y recuperación de ACLs tipo POSIX en la mayoría de los sistemas operativos,
si está activadas.
- Listas de control de accesos para las consolas que permiten restringir a los usuarios
el acceso a su datos únicamente.
- Soporte para guardar y recuperar archivos más grandes que 2GB.
- Soporte para máquinas con 64 bits, tales como, amd64, Sparc.
- Soporte para etiquetas de cintas ANSI e IBM.
- Soporte para nombres de archivos Unicode (tales como chino) en equipos con Win32
a partir de la versión 1.37.28 y superiores.
- Backup consistente de archivos abiertos en sistemas Win32 (WinXP, Win2003 y Vista),
pero no en Win200, utilizando el Volume Shadow Copy (VSS).
- Soporte para longitudes de nombres de archivo y path hasta 64K en máquinas Win32
(esta capacidad es ilimitada equipos con Unix/Linux).
- Misceláneos
- Implementación multi-threaded.
- Un
archivo de configuraciónDirectorChapter comprensible y extensible
para cada servicio o demonio.
- Debido que existe un cliente por cada máquina, se puede hacer backup y recuperaciones
de clientes de cualquier tipo, asegurando que todos los atributos de archivos, son
grabados y restaurados de manera adecuada.
- Es posible respaldar clientes sin la instalación del software para el file daemon,
utilizando NFS o Samba. Sin embargo, se recomienda la instalación del mismo en cada
equipo a respaldar.
- Bacula maneja respaldos multi-volúmenes.
- Base de datos SQL estándar con un registro completo de todos los archivos grabados.
Esto permite una visualización en línea de los archivos para cualquier volumen particular.
- Pruning automático de la base de datos (eliminación de registros viejos), simplificando
con esto la administración de la misma.
- Cualquier engine de base de datos puede ser utilizado, logrando con esto que bacula
sea muy flexible. Aunque actualmente, existen drivers para MySQL, PostgreSQL y SQLite.
- El diseño modular, pero integrado, hace de bacula una solución muy escalable.
- Debido a que bacula utiliza archivos clientes para los servidores, cualquier base
de datos o aplicación pueden ser detenidas haciendo uso de las herramientas nativas
del sistema, luego hacer el backup y reiniciarlas, todo dentro un job de bacula.
- Bacula cuenta con un scheduler interno para la planificación de los jobs.
- El formato del volumen está documentado y existen programas sencillos en lenguaje
C que leen o escriben en ellos.
- Bacula utiliza puertos TCPI/IP conocidos (registrados en IANA) - no se utiliza rpc
ni memoria compartida.
- La instalación y configuración de bacula es relativamente sencilla.
- De acuerdo a un usuario de bacula, es tan rápido como las más grandes aplicaciones
comerciales de backup.
- De acuerdo con otro usuario de bacula, es cuatro veces más rápido que otra aplicación
comercial, probablemente, esto se debe a que esta última almacena la información
del catálogo en un gran número de archivos individuales, en vez de una base de datos
SQL, como lo hace bacula.
- Adicional a las interfaces administrativas en modo gráfico (GUI), bacula cuenta con
una interfaz de línea de comandos muy comprensible, que permite el uso de herramientas,
tales como ssh para gestionar cualquier componente de bacula desde cualquier sitio (incluso
desde la casa).
- Bacula cuenta con un CD de rescate para sistemas Linux, con las siguientes funcionalidades:
- Permite construir el sistema original luego de un desastre con un simple comando:
make - por supuesto, luego hay que hacer la copia.
- Utiliza su propio kernel.
- Captura los parámetros actuales del disco, y construye scripts que permiten el particionamiento
automático y formateo del mismo, y colocarlo en el estado original que se tenía.
- Cuenta con un script que permite reiniciar los servicios de red (con la dirección
IP correcta).
- Cuenta con un script que monta automáticamente los discos configurados.
- Cuenta con el software de bacula FD enlazado de manera estática.
- Se puede adicionar cualquier programa o data al disco de manera fácil.
- Es muy inusual restaurar dos jobs diferentes en la misma operación de restauración,
si estos jobs corrieron en forma simultánea, a menos que se haya habilitado el spooling
de la data y esta mantenga el contenido completo de ambos jobs. En otras palabras,
bacula no puede restaurar dos jobs en el mismo restore, si los bloques de datos de
los jobs están entremezclados en el medio de backup. El problema se resuelve simplemente
ejecutando dos restauraciones, una para cada Job.
- Bacula puede restaurar cualquier backup hecho desde un cliente a otro cliente. Sin
embargo, si la arquitectura es completamente diferente (tales como, arquitectura
de 32 bits a 64 bits, o de Win32 a Unix), algunas restricciones pueden aplicar (por
ejemplo, en Solaris existen archivos especiales que no existen en otros equipos Unix
o Linux; hay reportes que indican que la compresión de Zlib escrita con máquinas
de 64 bits no siempre es leida correctamente en una máquina de 32 bits).
- Los nombres (recursos de nombres, nombres de volúmenes, entre otros) definidos en
los archivos de configuración de bacula están limitados a un número fijo de caracteres.
Actualmente, el límite está definido a 127 caracteres. Hay que tener en cuenta, que
esto no aplica a nombres de archivos, los cuales pueden ser arbitrariamente largos.
- La entrada para la línea de comandos de algunas de las herramientas stand alone,
- tales como btape, bconsole, está restringida a un máximo de varios cientos de caracteres.
- Los respaldos normales de Bacula incrementales y diferenciales, están basados en
modificaciones de tiempo. Por esto, si usted mueve archivos en un directorio existente
o mueve un directorio completo dentro del fileset de respaldo, después de la ejecución
de uno de tipo Full, probablemente no sean respaldados por los incrementales, puesto
que tienen fechas de modificación antiguas. Este problema se corrige utilizando el
modo Accurate en los backups o modificando de manera explícita la fecha y hora de
modificación de todos los archivos movidos.
- En versiones previas de Bacula ( 3.0.x), si usted está cerca de las 4 billones
de entradas de archivos almacenadas en el catálogo, la base de datos FileId probablemente
pueda hacer overflow.
- Cuando no se utiliza el modo Accurate, los archivos borrados después de un respaldo
Full no serán incluidos en la restauración. Esto es común en la mayoría de los programas
de backup similares.
Kern Sibbald
2012-06-02