Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Bacula el vampiro (y III)

Documentación
Por amphora
departamento Ah, pues sí, era un chupetón , Sección Software Libre
Puesto a las Sun May 9th, 2004 at 11:23:16 PM CET

Bacula en ejecución

Entramos de lleno en el funcionamiento de Bacula, y los errores más frecuentes que podemos encontrar

 


Una vez que hemos configurado bacula, podemos comprobar que los ficheros estén correctamente con la opción -t de los tres demonios:

maquinadirectora:~#bacula-dir -t /etc/bacula-dir.conf

Si tenemos un error en la configuración nos lo dirá. Eso sí, solo nos dirá si el error es de sintaxis. Problemas de conexión a causa de la red, o errores en los passwords/nombres tendremos que averiguar nosotros la causa.

Arrancalo Carlos, por Dios

Nos vamos a la maquinadirectora y ejecutamos si no estaban ya corriendo:

maquinadirectora:~# /etc/init.d/mysql start
maquinadirectora:~# /etc/init.d/bacula-sd start
maquinadirectora:~# /etc/init.d/bacula-fd start
maquinadirectora:~# /etc/init.d/bacula-dir start

Arrancamos también cada uno de los clientes que vayamos a utilizar, y si todo ha ido bien, en ninguna de las máquinas habremos obtenido un error. En este momento lo único que puede haner sucedido es que tengamos algún error sintáctico en alguno de los ficheros, y el demonio se niegue a arrancar. Lo solucionamos y pasamos al siguiente paso, que es etiquetar las cintas que vayamos a usar y añadirlas a los pools que tengamos definidos. Aquí ya entraría en juego la estrategía de cada administrador a la hora de establecer una política de backups. Hay que tener en cuenta la importancia de los datos, la cantidad de cintas que tenemos etc, para organizarlo todo. En la documentación de Bacula hay una sección referente a ello (que siendo sinceros ni me he mirado) que se supone ayuda a establecer esa política. En mi caso he definido tres pools: Diaria con copias incrementales, Semanal con copias diferenciales, Mensual con copias completas, y un trabajo diario de verificación de sumas de los ficheros. Una vez tengamos esto claro y distribuidas las cintas por los diferentes pools hay que etiquetarlas fisicamente (el cartoncito que llevan pegado a la cinta para distinguirlas nosotros) y por software para que Bacula las reconozca. Ejecutamos la consola de bacula:

gandalf:~# bconsole

Y obtenemos el promtp del director:

Connecting to Director maquinadirectora.x.com:9101
1000 OK: directora-dir Version: 1.32f-5 (09 Mar 2004)
Enter a period to cancel a command.
*

Desde aqui tenemos pleno control del director y ahora es cuando las podemos etiquetar ejecuntando el comando label Que nos preguntará por los diferentes dispositivos que tengamos configurados. En este caso, las dos bocas de la unidad de cintas

The defined Storage resources are:
     1: Tape0
     2: Tape1
Select Storage resource (1-2):
Enter new Volume name:

Le ponemos un nombre y si no ha sido ya definido previamente, nos preguntará por el nombre del pool al que queremos añadir la cinta. Una vez se lo facilitemos, bacula lo tendrá marcado para solicitarnoslo cada vez que lo necesite. Repetimos la operación por cada uno de los volúmenes a utilizar. Una vez terminado ejecutamos list media y nos deberían salir todos los pools definidos con sus respectivos volúmenes, bytes escritos, última escritura y un sinfín de datos más.

Ya que tenemos esto definido, podemos pasar ahora a comprobar el estado de los diferentes demonios. Si nos hemos conectado al director es evidente que está en marcha, pero no sabemos mucho de los clientes ni del demonio de almacenamiento. Para esto utilizamos las ordenes status client y status storage

*status client
The defined Client resources are:
     1: cliente1-fd

     Connecting to Client cliente1-fd at cliente1.x.com:9102

cliente1-fd Version: 1.32f-5 (09 Mar 2004) i386-pc-linux-gnu debian testing/unstable
Daemon started 30-Apr-04 11:51, 7 Jobs run.

Terminated Jobs:
 JobId  Level   Files          Bytes Status   Finished        Name
======================================================================
    40  Sinc    4,463     92,982,884 OK       30-Apr-04 12:03 cliente1-diaria
    52  Sinc      532      3,741,110 OK       30-Apr-04 20:03 cliente1-diaria
    65  Sinc    3,778     75,600,731 OK       03-May-04 20:04 cliente1-diaria
    78  Sinc    2,139     59,748,148 OK       04-May-04 20:04 cliente1-diaria
    90  Full   18,689    175,881,481 OK       05-May-04 13:56 cliente1-semanal
    91  Sinc    2,109      6,092,577 OK       05-May-04 20:03 cliente1-diaria
   114  Sinc    2,347      6,960,272 OK       06-May-04 20:03 cliente1-diaria

Director connected at: 07-May-04 11:54
No jobs running.

Vemos como el cliente funciona y además nos informa de los trabajos realizados hasta la fecha, los ficheros copiados el tipo de trabajo realizado y si hay alguno en ejecución. Es el momento de hacer la comprobación para cada uno de los clientes.

El comado status admite además los parámetros dir y all.

Si queremos información de la situación de los pools, volumenes, trabajos realizados etc, haremos uso del comando list por ejemplo:

*list nextvol job=cliente1-diaria
The next Volume to be used by Job "cliente1-diaria" will be Diaria1

Nos informa de cual será el volumen requerido para el proximo trabajo de cliente1-diaria

El comando messages nos mostrará los mensajes que tenga pendiente el director por comunicarnos aunque también los recibiremos por correo, si así lo tenemos configurado. Otra orden que no podía faltar es help la cual nos mostrara el juego completo de ordenes y su misión.

Ejecución de los trabajos.

Aunque la manera normal de funcionar de Bacula, es programar la ejecución de los trabajos mediante un calendario. Es posible ejecutarlos manualmente, para comprobar su correcto funcionamiento. La forma de hacerlo es con el comando run

run
A job name must be specified.
The defined Job resources are:
     1: cliente1-diaria
     
Select Job resource (1): 1
Run Backup job
JobName:  cliente1-diaria
FileSet:  Diaria
Level:    Incremental
Client:   cliente1-fd
Storage:  tape1
Pool:     Diaria
When:     2004-05-07 12:33:28
Priority: 10
OK to run? (yes/mod/no):

En este momento se nos cuestiona si queremos pasar a la ejecución del trabajo, modificar los diferentes parámetros o su cancelación. Como ya digo es posible alterar los valores que tuvieramos por defecto para ese trabajo si lo hacemos manualmente. Quizá nos interesara copiar los datos en otra parte, o hacer una copia completa etc.

OK to run? (yes/mod/no): yes
Run command submitted.
*
*status client
The defined Client resources are:
     1: cliente1-fd
     
cliente1-fd Version: 1.32f-5 (09 Mar 2004) i386-pc-linux-gnu debian testing/unstable
Daemon started 30-Apr-04 11:51, 7 Jobs run.

Director connected at: 07-May-04 12:37
JobId 126 Job cliente1-diaria.2004-05-07_12.36.48 is running.
    Backup Job started: 07-May-04 12:36
    Files=10 Bytes=115,580 Bytes/sec=3,611
    Files Examined=1,346
    Processing file: /var/cache/locate/locatedb
    SDReadSeqNo=5 fd=7

Y comprobamos su ejecución mediante status client.

Recuperando ficheros

Para recuperar ficheros desde las cintas se usa el comando restore, aunque previamente deberíamos crear un trabajo que cumpla esa funcionalidad. Puesto que no podemos contemplar a priori que necesitamos restaurar es útil definir un trabajo por defecto y modificar despues cuando nos lo soliciten los valores necesarios, como el cliente, el fichero o directorio que necesitemos, etc. Despues Bacula nos preguntará a cerca del tipo de restauración que queremos llevar a cabo, como vereis la lista es extensa:

o select the JobIds, you have the following choices:
     1: List last 20 Jobs run
     2: List Jobs where a given File is saved
     3: Enter list of JobIds to select
     4: Enter SQL list command
     5: Select the most recent backup for a client
     6: Select backup for a client before a specified time
     7: Enter a list of files to restore
     8: Enter a list of files to restore before a specified time
     9: Cancel
Select item:  (1-9):

Una vez hecha la selección, Bacula nos preguntará por el cliente y acto seguido por el juego de ficheros (FileSet) definido. En este momento Bacula realizará una consulta a la base de datos para intentar localizar los trabajos que le hemos pedido, y nos presenta el prompt $ a la espera de recibir los comandos necesarios para realizar el trabajo de restauración. Si escribimos help obtendremos una explicación de cuales son estos comando y su cometido.

Una vez que hemos marcado los ficheros o directorio a restaurar, escribimos done y Bacula nos pedirá los volúmenes donde estén situados esos ficheros. Solicitará confirmación para ejecutar el trabajo presentando las opciones del trabajo que va a llevar a cabo y una vez lo obtenga empezará con el mismo.

Y con esto doy por finalizado la serie. Aún quedan muchas cosas por contar, pero donde mejor las vais a comprender es leyendo la documentación que merece la pena. Solo he tratado de dar una visión global del funcionamiento y puesta en marcha de Bacula, además de que he ido aprendiendo según lo iba configurando, y todavía me queda bastante para tener bajo control todos los detalles. Si alguien tiene alguna duda, que no tenga reparo en escribirme y le ayudaré en la medida de mis posibilidades.

< bacula el vampiro (II) (3 comments) | Compilando código Java (15 comments) >
Enlaces Relacionados
· More on Documentación
· Also by amphora

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Bacula el vampiro (y III) | 1 comentarios (1 temáticos, editoriales, 0 ocultos)
cosas importantes (5.00 / 2) (#1)
por emeteo (emeteo at escomposlinux.org) a las Wed May 12th, 2004 at 01:11:33 PM CET
(Información Usuario) http://cernicalo.escomposlinux.org

Si queremos que la señora de la limpieza que tiene correo electrónico nos haga el trabajo sucio, o sea, cambiar las cintas cuando sea
necesario, hay que configurar específicamente el bacula-sd.conf:

   AutomaitcMount = yes;

Y acordarse de expulsar la cinta cuando termine,
esto se usa meidante el RunAfterJob dentro de
la definición del último job de cada día, llamando a un script que primero 'rewind' y luego 'eject' la cinta.


Otra cosa que hay que entender son los períodos de retención, el autoprune y el recycle.

Hay dos tipos de períodos de retenciones, las que afectan a los trabajos alacenados en los volúmenes, y las que afectan al registro en la BBDD. Afinando el primero nos permite reciclar eficientemente las cintas.
Así,
si se tiene AutoPrune=yes, una vez transcurrido el período de retención configurado,el volumen será considerado para poder volver a reutilizarlo. El periódo de retención que afecta a la BBDD son los configurados en la definición del cliente, y sólo afecta a los registros en la BBDD, esto nos permite controlar el tamaño de esta.





 
Bacula el vampiro (y III) | 1 comentarios (1 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda