4 \chapter{Tutorial resumido}
5 \label{TutorialChapter}
6 \index[general]{Tutorial Resumido}
7 \index[general]{Tutorial!Resumido }
9 Este capítulo lo guiará en el proceso de ejecución de Bacula. Para esto, hemos asumido
10 que usted ya instaló Bacula, posiblemente en un simple archivo tal como se mostró
11 en el capítulo anterior, en cuyo caso, se puede correr Bacula con un usuario no root
12 para estas pruebas. De igual manera, asumimos que usted no ha cambiado los archivos
13 .conf. Si usted ha modificado estos archivo, por favor desinstale Bacula, y reinstalelo,
14 y no haga ningún cambio en la configuración Los ejemplos de este capítulo utilizan
15 los archivos de configuración creados por defecto, y escribirán los volúmenes a disco
16 en el directorio /tmp, de igual manera, la data almacenada en las operaciones de
17 respaldo está representada por el directorio de fuentes, en el cual se configuró
18 y compiló Bacula. Como consecuencia de esto, para estas pruebas se pueden correr
19 todos los demonios de Bacula como usuario no root. Por favor, tenga en cuenta que
20 en ambientes de producción, los demonios de clientes (file daemon(s)) deben correr
21 como root. Vea el capítulo de Seguridad para mayor información acerca de este tópico.
23 El flujo general de ejecución de Bacula es el siguiente:
25 \item cd \lt{}directorio-instalación\gt{}
26 \item Arrancar los servicios de base de datos (si esta utilizando MySQL o PostgreSQL).
27 \item Iniciar los demonios con el comando ./bacula start.
28 \item Iniciar el programa de consola, para interactuar con el Director.
30 \item Cuando el volumen este full, desmonte el volumen, si este es una cinta (tape), etiquete
31 uno nuevo, y continúe con la corrida. En este capítulo, únicamente escribiremos a
32 archivos en disco, por lo tanto, no necesitará preocuparse por las cintas en este
34 \item Pruebe recuperar algunos archivos desde el volumen escrito, y asegúrese que el backup
35 sea consistente y que contenga la información requerida. Es mejor realizar varias
36 pruebas, antes de una falla verdadera.
37 \item Agregar un segundo cliente.
40 Cada uno de estos pasos, se describe con mas detalle a continuación.
43 \section{Antes de correr Bacula}
44 \index[general]{Antes de !correr Bacula }
45 \index[general]{Antes de correr Bacula }
47 Antes de ejecutar Bacula por primera vez en producción, recomendamos correr el comando
48 \textbf{test} en el programa \textbf{btape}, tal como se describe en el capítulo
49 de \ilink{Programas Utilitarios}{btape}de este manual. Esto permitirá determinar
50 si Bacula funciona correctamente con su unidad de cinta. Si usted cuenta con una
51 unidad moderna de cinta HP, Sony o Quantum, bien sea DDS, DLT o LTO, corriendo en
52 Linux o Solaris, probablemente pueda pasar estas pruebas, puesto que Bacula ha sido
53 probado con estos drives y sistemas. Para todos los demás casos, se recomienda \textbf{encarecidamente}
54 correr el test antes de continuar. \textbf{btape }también tiene el comando \textbf{fill},
55 que intenta duplicar las acciones que Bacula realiza cuando se llena un tape, y se
56 necesita escribir en otra cinta. Usted debería considerar probar este comando también,
57 pero sea precavido puesto que esto puede tomar horas, para llenar un tape a su máxima
61 \section{Arrancando la Base de Datos}
63 \index[general]{Arrancando la base de datos }
64 \index[general]{Arrancando!la base de datos }
66 Si está utilizando MySQL o PostgreSQL, como la base de datos para Bacula, debería
67 arrancarla antes de intentar correr un job, para evitar mensajes de error, cuando
68 este se inicie. Los scripts \textbf{startmysql} y \textbf{stopmysql}, son los que
69 utiliza (Kern), para iniciar y detener MySQL en forma local. Note, que si está utilizando
70 SQLite, no se necesita utilizar \textbf{startmysql }o \textbf{stopmysql}. Si está
71 en un ambiente de producción, probablemente necesitará configurar alguna manera para
72 arrancar MySQL o PostgreSQL, de manera automática, después de cada reinicio del sistema.
74 Si está utilizando SQLite (es decir, si usted indico la opción \textbf{--with-sqlite=xxx}
75 en el comando \textbf{./configure}), no necesita hacer nada. SQLite es iniciado de
76 manera automática por \textbf{Bacula}.
79 \section{\noindent Iniciando los demonios}
80 \label{InicioDemonios}
81 \index[general]{Iniciando los demonios }
82 \index[general]{Inicio!de los demonios }
84 Asumiendo que usted instaló y configuró desde los fuentes o ha instalado desde los
85 archivos rpms, para iniciar los tres demonios, desde el directorio de instalación,
90 El script \textbf{bacula }inicia los demonios de Storage, File y Director, los cuales,
91 generalmente, corren en background. Si usted está utilizando la funcionalidad de
92 autostart de Bacula, los demonios serán iniciados automáticamente en cada reinicio,
93 o puede controlarlos de manera individual, con los archivos \textbf{bacula-dir},
94 \textbf{bacula-fd }y \textbf{bacula-sd}, que están ubicados generalmente en el directorio
95 /etc/init.d, aunque las ubicaciones actuales dependen del sistema operativo utilizado.
96 Algunas distribuciones pueden manejar esto de manera diferente.
98 Observe que en Windows, actualmente, el demonio File (File daemon), está probado,
99 y el mismo debe ser iniciado en forma diferente. Por favor, revise el capítulo de
100 Versión Windows de Bacula, de este manual.
102 Los paquetes rpm configuran los demonios para correr como usuario=root y grupo=bacula.
103 La instalación del rpm, también crea el grupo bacula, si no existe en el sistema.
104 Los usuarios que se agregan al grupo bacula tendrán acceso a los archivos creados
105 por los demonios. Para deshabilitar o modificar este comportamiento, edite los scripts
106 para arranque de los demonios:
109 \item /etc/bacula/bacula
110 \item /etc/init.d/bacula-dir
111 \item /etc/init.d/bacula-sd
112 \item /etc/init.d/bacula-fd
115 y luego debe reiniciarlos, como se indico anteriormente.
117 El \ilink{capítulo de Instalación}{CapituloInstalacion}de este manual, explica como
118 se pueden instalar los scripts que automáticamente reiniciarán los demonios cuando
122 \section{Usando el programa de consola}
123 \index[general]{Utilizando!el Programa de Consola}
124 \index[general]{Utilizando el Programa de Consola
126 Para comunicarse con el director y consultar el estado de Bacula o correr los jobs,
127 desde el directorio superior de los binarios, simplemente ingrese:
131 Alternativamente, si esta en la consola de linea de comandos, y si tiene Qt4 instalado
132 y utilizo la opción \textbf{\textendash{}enable-bat} en el comando configure, usted
133 podría usar la herramienta de administración de bacula (Bacula Administration Tool)
138 El cual brinda una interfaz gráfica, y muchas funcionalidades adicionales a bconsole.
140 Otras dos opciones consiste en: correr la consola de GNOME \textbf{bgnome-console
141 }o el programa wxWidgets \textbf{bwx-console.}
143 Por simplicidad, aquí se describe únicamente el programa \textbf{./bconsole.} La
144 mayoría de lo descrito también aplica para \textbf{./bat}, \textbf{./bgnome-console}
145 y \textbf{./bwx-console}.
147 El comando \textbf{./bconsole} corre el programa de consola de Bacula, el cual se
148 conecta con el demonio del Director. Dado que Bacula es un programa de red, este
149 se puede correr desde cualquier equipo en la red. Sin embargo, por lo general, uno
150 se ejecuta en la misma maquina del Director. Normalmente, el programa de consola
151 mostrará una salida similar a lo siguiente:
155 [kern@polymatou bin]$./bconsole
156 Connecting to Director lpmatou:9101
157 1000 OK: HeadMan Version: 2.1.8 (14 May 2007)
162 El símbolo asterisco ('{*}'), es el prompt de la consola de comandos.
164 Cuando se tipea \textbf{help}, se despliega una lista de comandos disponibles:
171 add add media to a pool
172 autodisplay autodisplay [on|off] -- console messages
173 automount automount [on|off] -- after label
174 cancel cancel [<jobid=nnn> | <job=name>] -- cancel a job
175 create create DB Pool from resource
176 delete delete [pool=<pool-name> | media volume=<volume-name>]
177 disable disable <job=name> -- disable a job
178 enable enable <job=name> -- enable a job
179 estimate performs FileSet estimate, listing gives full listing
181 gui gui [on|off] -- non-interactive gui mode
182 help print this command
183 list list [pools | jobs | jobtotals | media <pool=pool-name> |
184 files <jobid=nn>]; from catalog
186 llist full or long list like list command
187 memory print current memory usage
189 mount mount <storage-name>
190 prune prune expired records from catalog
191 purge purge records from catalog
192 python python control commands
195 restore restore files
196 relabel relabel a tape
197 release release <storage-name>
198 reload reload conf file
200 status status [[slots] storage | dir | client]=<name>
201 setdebug sets debug level
202 setip sets new client address -- if authorized
203 show show (resource records) [jobs | pools | ... | all]
204 sqlquery use SQL to query catalog
205 time print current time
206 trace turn on/off trace to file
207 unmount unmount <storage-name>
208 umount umount <storage-name> for old-time Unix guys
209 update update Volume, Pool or slots
211 var does variable expansion
212 version print Director version
213 wait wait until no jobs are running [<jobname=name> | <jobid=nnn> | <ujobid=complete_name>]
218 Los detalles de los programas de la consola, se explican en el \ilink{Capitulo Consola}{_Capítulo de Consola}
221 \section{Corriendo un job}
223 \index[general]{Corriendo un!Job }
224 \index[general]{Corriendo un Job }
226 En este punto, asumimos que usted ha hecho lo siguiente:
228 \item Configuró Bacula con \textbf{./configure }\textendash{}sus-opciones.
229 \item Compiló Bacula utilizando el comando\textbf{ make}.
230 \item Instaló Bacula utilizando \textbf{make install. }
231 \item Ha creado su base de datos corriendo \textbf{./create\_sqlite\_database}, por ejemplo.
232 \item Ha creado las tablas de la base de datos de Bacula con \textbf{./make\_bacula\_tables}.
233 \item Probablemente, editó su archivo de configuración \textbf{bacula-dir.conf}, para personalizarlo.
234 Hay que ser CUIDADOSO! Si usted cambia el nombre del Director o el password, necesitará
235 hacer los mismos cambios en los otros archivos de configuración (.conf). Para este
236 momento, puede ser conveniente, no hacer cambios.
237 \item Inició Bacula, con el comando \textbf{./bacula start.}
238 \item Usted invocó el programa de Consola, ejecutando .\textbf{/bconsole.}
241 Adicionalmente, estamos asumiendo que usted está utilizando los archivos de configuración
250 Y se mostraría algo similar a lo siguiente:
254 FileSet: name=Full Set
257 I /home/kern/bacula/regress/build
264 FileSet: name=Catalog
267 I /home/kern/bacula/regress/working/bacula.sql
272 Este es un \textbf{FileSet }predefinido, que le hará backup al directorio de fuentes
273 de Bacula. Los nombres actuales de directorios se corresponden con la configuración
274 de su sistema. Para propósitos de prueba, se ha seleccionado un directorio de tamaño
275 moderado (cerca de 40 Megabytes) y de complejidad relativamente sencilla. El FileSet
276 \textbf{Catalog} se utiliza para hacer respaldo del catálogo de Bacula, y no es de
277 mucho interés en este momento. Las entradas \textbf{\textquotedblleft{}I\textquotedblright{}},
278 son los archivos o directorios que serán incluidos en el respaldo y las entradas
279 \textbf{\textquotedblleft{}E\textquotedblright{}}, son aquellas que estarán excluidas.
280 Las entradas \textbf{\textquotedblleft{}O\textquotedblright{}}, son las opciones
281 especificas para el FileSet. Se puede cambiar a los objetos a los cuales se les hace
282 backup, editando el archivo de configuración \textbf{bacula-dir.conf}, y se modifica
283 la linea \textbf{File=}, en el recurso \textbf{FileSet}.
285 Ahora es tiempo de correr su primer respaldo. Se hará un backup del directorio de
286 fuentes de Bacula a un volumen de archivo, ubicado en el directorio \textbf{/tmp},
287 para mostrarle lo fácil que es esto. Ahora tipee:
295 Y debería obtener la siguiente salida:
299 rufus-dir Version: 1.30 (28 April 2003)
300 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
301 Console connected at 28-Apr-2003 14:03
303 Level Type Scheduled Name
304 =================================================================
305 Incremental Backup 29-Apr-2003 01:05 Client1
306 Full Backup 29-Apr-2003 01:10 BackupCatalog
311 Donde los tiempos y los nombres para el Director serán diferentes, de acuerdo a su
312 configuración Por ejemplo, este indica que un job Incremental está planificado para
313 correr a la 1:05am para el cliente \textbf{Client1}, y a la 1:10, esta planificada
314 la ejecución del job para \textbf{BackupCatalog}. Note, que usted probablemente cambiara
315 el nombre de \textbf{Client1 }al nombre de su equipo, si no lo hace, cuando se adicionen
316 nuevos clientes, esto puede generar confusiones. Para esta prueba, se utilizó Rufus
317 en vez de \textbf{Client1}.
327 Y se mostrará algo parecido a la siguiente salida:
331 The defined Client resources are:
333 Item 1 selected automatically.
334 Connecting to Client rufus-fd at rufus:8102
335 rufus-fd Version: 1.30 (28 April 2003)
336 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
337 Director connected at: 28-Apr-2003 14:14
343 En este caso, el cliente se llama \textbf{rufus-fd}, y su nombre puede ser diferente,
344 pero la línea que comienza con \textbf{rufus-fd Version....}, se muestra para el
345 demonio de archivo (File daemon), por lo tanto, ahora se puede estar seguro que está
346 configurado y corriendo.
348 Finalmente, se puede hacer lo mismo con el demonio de almacenamiento (Storage daemon)
357 Y debería mostrarse algo como:
359 The defined Storage resources are:
363 The defined Storage resources are:
365 Item 1 selected automatically.
366 Connecting to Storage daemon File at rufus:8103
367 rufus-sd Version: 1.30 (28 April 2003)
368 Daemon started 28-Apr-2003 14:03, 0 Jobs run.
369 Device /tmp is not open.
375 Usted puede notar que el dispositivo por defecto para el demonio de almacenamiento
376 se denomina \textbf{file}, y que utilizará el directorio \textbf{/tmp}, el cual no
377 esta actualmente abierto.
379 Ahora, se puede correr un job con:
387 Luego de la corrida, la salida que se despliega es la siguiente:
391 Using default Catalog name=MyCatalog DB=bacula
392 A job name must be specified.
393 The defined Job resources are:
397 Select Job resource (1-3):
401 En este punto, Bacula lista los tres diferentes Jobs que usted puede correr, y usted
402 debe seleccionar \textbf{1} y pulsar la tecla Enter, y obtendrá lo siguiente:
413 When: 2003-04-28 14:18:57
414 OK to run? (yes/mod/no):
418 En este punto, hay que tomarse algo de tiempo para observar cuidadosamente lo que
419 está impreso y comprender todas las opciones. Se está consultando si esta listo OK
420 para correr un job denominado \textbf{Client1} con un FileSet \textbf{FullSet }(listado
421 anteriormente) para un job Incremental en su Cliente (su nombre de cliente puede
422 ser diferente), utiliza un almacenamiento \textbf{File }y un pool \textbf{Default}.
423 Finalmente, se pregunta si se desea correrlo en este momento (la hora actual será
424 desplegada en su consola).
426 Se puede seleccionar correr \textbf{(yes)}, modificar uno o mas parámetros \textbf{(mod)}
427 o no correr el job \textbf{(no)}. Por favor, tipear \textbf{yes}, y en este momento
428 se mostrará el prompt de comandos, de manera inmediata (un asterisco). Si espera
429 unos pocos segundos, y luego ingresa el comando \textbf{messages}, se mostrará algo
430 parecido a lo siguiente:
434 28-Apr-2003 14:22 rufus-dir: Last FULL backup time not found. Doing
436 28-Apr-2003 14:22 rufus-dir: Start Backup JobId 1,
437 Job=Client1.2003-04-28_14.22.33
438 28-Apr-2003 14:22 rufus-sd: Job Client1.2003-04-28_14.22.33 waiting.
439 Cannot find any appendable volumes.
440 Please use the "label" command to create a new Volume for:
447 El primer mensaje, indica que no hay respaldos previos de tipo Full que se hayan
448 realizado, por lo tanto Bacula se hará upgrade del job Incremental a un respaldo
449 Full (esto es normal). El segundo mensaje, indica que el job se inició con un JobId
450 de 1, y el tercer mensaje nos dice que Bacula no puede encontrar ningún volumen en
451 el Pool para escribir la salida (el respaldo). Esto es normal, puesto que todavía
452 no se ha creado (etiquetado) ningún volumen. Bacula nos muestra todos los detalles
453 que el volumen necesita.
455 En este punto, el job esta BLOQUEADO (BLOCKED) esperando por un volumen. Si desea
456 puede chequearlo, ejecutando el comando \textbf{status dir}. Para poder continuar,
457 se debe crear un volumen que Bacula pueda escribir. Esto se puede hacer con:
469 The defined Storage resources are:
471 Item 1 selected automatically.
472 Enter new Volume name:
476 En este punto, se debería ingresar algún nombre comenzando con una letra y que contenga
477 únicamente letras y números (puntos, guiones y underscore son permitidos). Por ejemplo,
478 escriba \textbf{TestVolume001}, y obtendrá lo siguiente:
484 Item 1 selected automatically.
485 Connecting to Storage daemon File at rufus:8103 ...
486 Sending label command for Volume "TestVolume001" Slot 0 ...
487 3000 OK label. Volume=TestVolume001 Device=/tmp
488 Catalog record for Volume "TestVolume002", Slot 0 successfully created.
489 Requesting mount FileStorage ...
490 3001 OK mount. Device=/tmp
494 Finalmente, ingresando el comando \textbf{messages }se mostrara la siguiente salida:
498 28-Apr-2003 14:30 rufus-sd: Wrote label to prelabeled Volume
499 "TestVolume001" on device /tmp
500 28-Apr-2003 14:30 rufus-dir: Bacula 1.30 (28Apr03): 28-Apr-2003 14:30
502 Job: Client1.2003-04-28_14.22.33
506 Start time: 28-Apr-2003 14:22
507 End time: 28-Apr-2003 14:30
509 Bytes Written: 38,988,877
511 Software Compression: None
512 Volume names(s): TestVolume001
514 Volume Session Time: 1051531381
515 Last Volume Bytes: 39,072,359
516 FD termination status: OK
517 SD termination status: OK
518 Termination: Backup OK
519 28-Apr-2003 14:30 rufus-dir: Begin pruning Jobs.
520 28-Apr-2003 14:30 rufus-dir: No Jobs found to prune.
521 28-Apr-2003 14:30 rufus-dir: Begin pruning Files.
522 28-Apr-2003 14:30 rufus-dir: No Files found to prune.
523 28-Apr-2003 14:30 rufus-dir: End auto prune.
527 Si usted no puede ver la salida inmediatamente, usted puede ejecutar el comando \textbf{messages
528 }hasta que el job termine, o puede ingresar, \textbf{autodisplay on} y sus mensajes
529 serán desplegados automáticamente tan pronto como estén listos.
531 Si usted hace un \textbf{ls -l} al directorio \textbf{/tmp}, verá una salida parecida
536 -rw-r----- 1 kern kern 39072153 Apr 28 14:30 TestVolume001
540 Este es el archivo de Volumen que se creo y escribió, y contiene toda la data del
541 job que se ejecutó. Si se corren jobs adicionales, la información se adicionará al
542 Volumen, a menos que usted indique otro.
544 Usted puede preguntarse si tiene que etiquetar todos los Volúmenes que Bacula va
545 a utilizar. La respuesta para Volúmenes de disco, como el que hemos utilizado, es
546 no. Es posible hacer que Bacula etiquete los volúmenes de manera automática. Para
547 Volúmenes de tapes (cintas), probablemente usted tenga que etiquetar cada uno de
548 los volúmenes que desee utilizar.
550 Si desea terminar en este punto, simplemente ingrese el comando \textbf{quit }en
551 el programa de Consola, y detenga Bacula con \textbf{./bacula stop}. Para realizar
552 una limpieza del catalogo y del volumen, simplemente borre el archivo \textbf{/tmp/TestVolume001},
553 y también debe reinicializar la base de datos, utilizando:
562 Por favor, note que esto borrará toda la información acerca de los jobs previos que
563 se ejecutaron, y ahora, que estamos en prueba, podrá hacer esto, sin embargo, generalmente,
564 no se desea reinicializar la base de datos en ambientes de producción.
566 Si le gustaría probar la restauración de los archivos, a los cuales se les hizo backup,
567 por favor, lea la siguiente sección.
571 \section{Restaurando sus archivos}
572 \index{Files!Restoring Your}
573 \index{Restoring Your Files}
575 Si usted, ejecutó la configuración por defecto y respaldó el código fuente de Bacula,
576 tal como se indicó, usted puede recuperar estos archivos en la consola, ingresando
585 Luego de esto, se mostrará:
589 First you select one or more JobIds that contain files
590 to be restored. You will be presented several methods
591 of specifying the JobIds. Then you will be allowed to
592 select which files from those JobIds are to be restored.
594 To select the JobIds, you have the following choices:
595 1: List last 20 Jobs run
596 2: List Jobs where a given File is saved
597 3: Enter list of comma separated JobIds to select
598 4: Enter SQL list command
599 5: Select the most recent backup for a client
600 6: Select backup for a client before a specified time
601 7: Enter a list of files to restore
602 8: Enter a list of files to restore before a specified time
603 9: Find the JobIds of the most recent backup for a client
604 10: Find the JobIds for a backup for a client before a specified time
605 11: Enter a list of directories to restore for found JobIds
611 Como puede observar, hay una gran cantidad de opciones, sin embargo, para la demostración
612 actual, por favor, pulse \textbf{5} para hacer una restauración del último backup
613 que usted hizo, y obtendrá la siguiente salida:
619 Item 1 selected automatically.
620 The defined FileSet resources are:
621 1: 1 Full Set 2003-04-28 14:22:33
622 Item 1 selected automatically.
623 +-------+-------+----------+---------------------+---------------+
624 | JobId | Level | JobFiles | StartTime | VolumeName |
625 +-------+-------+----------+---------------------+---------------+
626 | 1 | F | 1444 | 2003-04-28 14:22:33 | TestVolume002 |
627 +-------+-------+----------+---------------------+---------------+
628 You have selected the following JobId: 1
629 Building directory tree for JobId 1 ...
630 1 Job inserted into the tree and marked for extraction.
631 The defined Storage resources are:
633 Item 1 selected automatically.
634 You are now entering file selection mode where you add and
635 remove files to be restored. All files are initially added.
636 Enter "done" to leave this mode.
642 Donde, se ha truncado el listado del lado derecho, para hacerlo mas legible. Como
643 puede ver, en el tope del listado, Bacula conoce con cuales clientes usted cuenta,
644 y debido a que existe uno solo, el demonio de almacenamiento (Storage daemon) lo
645 selecciona de manera automática, igual ocurre para el FileSet. Luego, se muestra
646 un listado de todos los jobs que conforman el respaldo actual, en este caso, únicamente,
647 existe uno, y el demonio de almacenamiento, también lo selecciona. Luego, Bacula
648 tomó los archivos que estaban en el job numero 1, y se ingresó a un \textbf{árbol
649 de directorios }(representación ordenada en memoria de su filesystem). En este punto,
650 se pueden utilizar los comandos \textbf{cd}, \textbf{ls }y/o \textbf{dir}, para navegar
651 en el árbol de directorios y visualizar que archivos serán restaurados. Por ejemplo,
652 si se ingresa \textbf{cd /home/kern/bacula/bacula-1.30 }y luego se tipea \textbf{dir},
653 se obtendrá un listado de todos los archivos en el directorio de fuentes de Bacula.
654 En su sistema, esta ruta puede ser diferente. Para mayor información acerca de esto,
655 por favor revise el \ilink{Capítulo de Comandos de Restauración}{RestoreChapter}.
657 Para salir de este modo, simplemente ingrese:
665 Y se mostrará la siguiente salida:
669 Bootstrap records written to
670 /home/kern/bacula/testbin/working/restore.bsr
671 The restore job will require the following Volumes:
674 1444 files selected to restore.
676 JobName: RestoreFiles
677 Bootstrap: /home/kern/bacula/testbin/working/restore.bsr
678 Where: /tmp/bacula-restores
681 Backup Client: rufus-fd
682 Restore Client: rufus-fd
685 When: 2005-04-28 14:53:54
686 OK to run? (yes/mod/no):
690 Si la respuesta es \textbf{yes}, los archivos serán restaurados al directorio \textbf{/tmp/bacula-restores}.
691 Si desea restaurar los archivos a sus directorios originales, se debe utilizar la
692 opción \textbf{mod}, y de manera explícita definir \textbf{Where:} a ningún valor
693 (o a /). Recomendamos,que siga hacia adelante y responda \textbf{yes}, y luego de
694 un corto tiempo, ingresar \textbf{messages}, y en este punto debe tener un listado
695 de todos los archivos recuperados, así como un resumen del job, similar a esto:
699 28-Apr-2005 14:56 rufus-dir: Bacula 2.1.8 (08May07): 08-May-2007 14:56:06
700 Build OS: i686-pc-linux-gnu suse 10.2
702 Job: RestoreFiles.2007-05-08_14.56.06
703 Restore Client: rufus-fd
704 Start time: 08-May-2007 14:56
705 End time: 08-May-2007 14:56
706 Files Restored: 1,444
707 Bytes Restored: 38,816,381
710 FD termination status: OK
711 SD termination status: OK
712 Termination: Restore OK
713 08-May-2007 14:56 rufus-dir: Begin pruning Jobs.
714 08-May-2007 14:56 rufus-dir: No Jobs found to prune.
715 08-May-2007 14:56 rufus-dir: Begin pruning Files.
716 08-May-2007 14:56 rufus-dir: No Files found to prune.
717 08-May-2007 14:56 rufus-dir: End auto prune.
721 Luego de salir de la consola, usted puede examinar los archivos en el directorio
722 \textbf{/tmp/bacula-restores}, el cual contendrá un pequeño árbol de directorios
723 con todos los archivos. Al finalizar, asegúrese de dejar limpio el directorio con:
727 rm -rf /tmp/bacula-restore
732 \section{Saliendo del programa de Consola}
733 \index[general]{Saliendo!del programa de Consola }
734 \index[general]{Saliendo del programa de Consola }
736 Simplemente, ingrese el comando \textbf{quit}.
739 \section{Agregando un segundo cliente}
740 \index[general]{Agregando!un segundo cliente }
741 \index[general]{Agregando un segundo cliente }
743 Si usted ha seguido el ejemplo indicado para su sistema, ya está listo para agregar
744 un segundo cliente (Demonio de archivo o File daemon). Es decir, si usted cuenta
745 con una segunda máquina a la cual le gustaría hacer respaldo, el único componente
746 que usted necesita instalar en este equipo, es el binario de \textbf{bacula-fd }(o
747 \textbf{bacula-fd.exe }para Windows) y su archivo de configuración \textbf{bacula-fd.conf}.
748 Usted puede iniciar con el mismo archivo \textbf{bacula-fd.conf}, que está utilizando
749 actualmente, y hacer una modificación menor para crear el archivo de configuración
750 para el segundo cliente. Cambie el nombre del demonio de archivo (File daemon) que
751 está configurado, \textbf{rufus-fd }en el ejemplo anterior, quizás su sistema tendrá
752 un nombre diferente. Para este paso, lo mejor es cambiar el nombre en su segundo
759 # "Global" File daemon configuration specifications
761 FileDaemon { # this is me
763 FDport = 9102 # where we listen for the director
764 WorkingDirectory = /home/kern/bacula/working
765 Pid Directory = /var/run
777 # "Global" File daemon configuration specifications
779 FileDaemon { # this is me
781 FDport = 9102 # where we listen for the director
782 WorkingDirectory = /home/kern/bacula/working
783 Pid Directory = /var/run
789 Donde se muestra una porción del archivo y se ha cambiado \textbf{rufus-fd }por \textbf{matou-fd}.
790 Usted escoge los nombres que desee. Por el momento, se recomienda no cambiar nada
791 mas. Después, usted querrá cambiar el password.
793 Ahora que usted hizo los cambios en su segunda máquina, necesita hacer algunas adiciones
794 al archivo de configuración del Director, con la finalidad de definir el nuevo demonio
795 de archivo (File daemon) o cliente. Tomando el ejemplo original que está configurado
796 en el sistema, se deben añadir las siguientes lineas (básicamente, copie la información
797 existente, pero con nombres diferentes) al archivo de configuración del Director
798 (\textbf{bacula-dir.conf}).
803 # Define the main nightly save backup job
804 # By default, this job will back up to disk in /tmp
810 Schedule = "WeeklyCycle"
814 Write Bootstrap = "/home/kern/bacula/working/matou.bsr"
816 # Client (File Services) to backup
822 Password = "xxxxx" # password for
823 File Retention = 30d # 30 days
824 Job Retention = 180d # six months
825 AutoPrune = yes # Prune expired Jobs/Files
830 Luego, asegúrese que el parámetro de Address en el recurso de Storage esté definido
831 como un nombre completo de dominio calificado (fully qualified domain name) y no
832 a algo como \textquotedblleft{}localhost\textquotedblright{}. La dirección indicada
833 es enviada al File daemon (cliente) y debe ser un nombre completo de dominio. Si
834 usted utiliza \textquotedblleft{}localhost\textquotedblright{}, esto no se resolverá
835 de manera correcta y se generará un timeout cuando el File daemon falle al conectarse
836 al Storage daemon (demonio de almacenamiento).
838 Esto es todo lo que hay que hacer. Se copia el recurso existente para crear el segundo
839 Job (Matou) para el backup del segundo cliente (matou-fd). Su nombre es \textbf{Matou},
840 el cliente se denomina \textbf{matou-fd }y el nombre del archivo de bootstrap se
841 cambia, pero todo lo demás, es lo mismo.Esto significa que Matou sera respaldado
842 con la misma planificación, y utilizando el mismo conjunto de volúmenes. Mas adelante,
843 usted cambiará estos valores, sin embargo, por ahora se mantendrá esta configuración
846 El segundo cambio, consiste en agregar un nuevo recurso Cliente que defina a \textbf{matou-fd
847 }y tenga la dirección correcta para matou, pero en ambientes reales, usted podría
848 requerir un nombre completo de dominio calificado o una dirección IP. Se mantendrá
849 el mismo password (mostrado como xxxxx en el ejemplo).
851 En este punto, si usted detiene e inicia Bacula, e inicia el cliente en la otra maquina,
852 todo estará listo, y el prompt que se mostró anteriormente, ahora incluirá el segundo
855 Cuando se hace la instalación en entornos de producción reales, probablemente se
856 quiera utilizar pools diferentes o distintas planificaciones (schedules). Las personalizaciones
857 ahora dependen de usted. En cualquier caso, se debería cambiar el password en los
858 archivos de configuración del Director y del Cliente, por razones de seguridad adicionales.
860 Para algunos tips importantes para los cambios de passwords y nombres, y un diagrama
861 de cuales nombres y passwords deben coincidir, por favor revise el capítulo \ilink{Errores de Autorización}{ErroresAutorizacion},de
865 \section{Cuando el tape está lleno}
867 \index[general]{Fills!When The Tape }
868 \index[general]{When The Tape Fills }
870 Si usted planificó su job, generalmente en las noches, llegará el momento en que
871 la cinta se llene y \textbf{Bacula }no pueda continuar. En este caso, Bacula le enviará
872 un mensaje similar al siguiente:
876 rufus-sd: block.c:337 === Write error errno=28: ERR=No space left
881 Esto indica que existe un error de escritura porque el tape está full. Bacula buscará
882 el Pool especificado por el Job, intentando conseguir un volumen disponible (appendable).
883 En el mejor de los casos, usted habrá definido de manera apropiada sus Períodos de
884 Retención y tendrá todos los tapes marcados para ser reciclados (Recycled), y con
885 esto se reciclararán de manera automática las cintas en el pool indicado y se reescribirán
886 los volúmenes mas viejos. Para mayor información acerca del reciclado, por favor
887 revise el capítulo de \ilink{Reciclaje}{CapituloReciclaje} de este manual. Si usted
888 observa que los volúmenes no son reciclados en forma adecuada (generalmente, debido
889 a un error de configuración), por favor, revise la sección de \ilink{Reciclaje Manual de Volúmenes}{reciclajemanuel}
890 del capítulo de Reciclaje.
892 Si usted tiene una gran cantidad de volúmenes y los etiquetó con la fecha del volumen
893 cuando se escribió por primera vez, o no ha definido sus periodos de Retención, Bacula
894 no conseguirá un tape en el pool, y se enviara un mensaje similar al siguiente:
898 rufus-sd: Job kernsave.2002-09-19.10:50:48 waiting. Cannot find any
900 Please use the "label" command to create a new Volume for:
907 Hasta que usted cree un nuevo volumen, este mensaje se repetirá una hora después,
908 luego dos horas mas tarde, y doblando el intervalo cada vez, hasta un máximo de un
911 La pregunta obvia en este punto es: Qué hacer ahora?
913 La respuesta es simple: Primero, utilizando el programa de consola, cierre el tape
914 utilizando el comando \textbf{unmount}. Si usted tiene un solo drive, este es seleccionado
915 automáticamente, de lo contrario, asegúrese que libere el que se indica en el mensaje
916 (en este caso, \textbf{STD-10000}).
918 A continuación, remueva el tape del drive e inserte uno nuevo en blanco. Tenga en
919 cuenta, que en algunas unidades de tape viejas, se necesita escribir una marca de
920 fin de archivo (\textbf{mt -f /dev/nst0 weof}) para prevenir al drive de otras corridas
921 cuando Bacula intente leer la etiqueta.
923 Finalmente, utilice el comando \textbf{label }en la Consola para escribir una etiqueta
924 al nuevo volumen. El comando \textbf{label }contactará al demonio de almacenamiento
925 (Storage daemon) para escribir la etiqueta de software. Si este proceso es exitoso,
926 se agregará el nuevo volumen al Pool, luego se emite un comando \textbf{mount }al
927 demonio de almacenamiento. Vea las secciones previas de este capítulo para mayores
928 detalles acerca del etiquetado de cintas.
930 El resultado es que Bacula continuará el Job previo, escribiendo el respaldo en el
933 Si usted tiene un pool de volúmenes y Bacula está ciclando con estos, en vez del
934 mensaje \textquotedbl{}Cannot find any appendable volumes.\textquotedbl{}, (\textquotedblleft{}Bacula
935 no puede hallar volúmenes disponibles\textquotedblright{}), se solicitará montar
936 un volumen especifico. En este caso, usted debe intentar realizar esta acción. Si
937 no cuenta con otro volumen (debido a cualquier razón), simplemente puede montar otro
938 volumen del mismo pool, que se encuentre disponible para escritura, y Bacula hará
939 uso del mismo. Puede utilizar el comando \textbf{list volumes }en la consola para
940 determinar cuáles son los volúmenes que pueden ser usados.
942 Si usted ha definido sus períodos de retención para los Volúmenes de manera correcta,
943 pero no cuenta con mas volúmenes disponibles para agregar data, se pueden reetiquetar
944 y reutilizar los existentes, considerando el siguiente procedimiento:
946 \item Ejecutar \textbf{list volumes }en la consola, y seleccionar el volumen más viejo
947 para el reetiquetado.
948 \item Si usted definió sus períodos de retención correctamente, el volumen tendría status
949 (VolStatus) \textbf{Purged}.
950 \item Si el status del volumen no está como Purged, se necesitará purgar de la base de
951 datos los Jobs que están escritos en él. Usted puede hacer esto usando el comando
952 \textbf{purge jobs volume }en la consola. Si usted cuenta con múltiples Pools, se
953 le preguntará por el Pool, para luego ingresar el nombre del volumen (o MediaId),
954 cuando sea necesario.
955 \item Luego, simplemente use el comando \textbf{relabel }para reetiquetar el volumen.
957 Para reetiquetar un volumen de manera manual, se deben ejecutar los siguientes pasos
960 \item Para borrar el volumen del catálogo, utilice el comando \textbf{delete volume }en
961 la consola, y seleccione el nombre del Volumen (o MediaId) que será eliminado.
962 \item Use el comando \textbf{unmount }en la consola para desmontar el viejo tape.
963 \item Reetiquete físicamente el viejo Volumen que usted borró, para que el mismo pueda
965 \item Inserte el viejo Volumen en la unidad de tape.
966 \item Desde la línea de comandos, ejecute: \textbf{mt -f /dev/st0 rewind }y \textbf{mt
967 -f /dev/st0 weof}, donde usted necesitará escoger el nombre apropiado para la unidad
968 de cinta de su sistema, en lugar de \textbf{/dev/st0}.
969 \item Utilice el comando \textbf{label }en la consola, para escribir una nueva etiqueta
971 \item Use el comando \textbf{mount }en la consola, si esto no se hace de manera automática,
972 para que Bacula inicie las operaciones con el nuevo tape etiquetado.
975 \section{Otros comandos útiles de Consola}
976 \index[general]{Otros!comandos útiles de consola }
977 \index[general]{Otros comandos útiles de consola }
982 \index[console]{status dir }
983 Muestra el status de todos los jobs que se están ejecutando y los planificados en las próximas 24 horas.
986 \index[console]{status }
987 El programa de consola solicitará seleccionar un tipo de demonio, luego de esto, se muestra su status.
989 \item [status jobid=nn]
990 \index[console]{status jobid }
991 Muestra el status del JobId nn, si este se encuentra en ejecución El demonio de almacenamiento es contactado y se le consulta para imprimir el status del job también.
994 \index[console]{list pools }
995 Lista los pools definidos en el Catálogo (generalmente, se utiliza el pool por defecto Default). Aunque esto puede variar según el ambiente configurado.
998 \index[console]{list media }
999 Lista todas las medias definidas en el Catálogo.
1002 \index[console]{list jobs }
1003 Muestra todos los jobs en el Catálogo que se han ejecutado.
1005 \item [list jobid=nn]
1006 \index[console]{list jobid }
1007 Lista los jobs identificados con el jobid nn en el Catálogo.
1009 \item [list jobtotals]
1010 \index[console]{list jobtotals }
1011 Muestra los totales de todos los jobs que se encuentran en el Catálogo.
1013 \item [list files jobid=nn]
1014 \index[console]{list files jobid }
1015 Lista los archivos que fueron grabados para el job identificado con el JobId nn.
1017 \item [list jobmedia]
1018 \index[console]{list jobmedia }
1019 Muestra la información de la media (Volumen) para cada Job ejecutado.
1022 \index[console]{messages }
1023 Imprime los mensajes que han sido enviados a la consola.
1025 \item [unmount storage=storage-name]
1026 \index[console]{unmount storage }
1027 Desmonta el drive asociado con el dispositivo de almacenamiento indicado con el nombre {\bf
1028 storage-name}, si este no se encuentra actualmente en uso. Este comando es utilizado cuando se desea que Bacula
1029 libere la unidad configurada para etiquetar un tape.
1031 \item [mount storage=storage-name]
1032 \index[sd]{mount storage }
1033 Permite que el drive asociado con el dispositivo de almacenamiento sea montado nuevamente. Cuando Bacula llegue
1034 al final de un volumen, y le solicite montar uno nuevo, debe ejecutar este comando luego de colocar un nuevo
1035 volumen en la unidad. En efecto, esta es la señal que Bacula necesita conocer para iniciar la lectura o
1036 escritura en el nuevo volumen.
1040 Salir del programa de consola.
1043 La mayoría de los comandos señalados anteriormente, con excepción de {\bf list}, solicitarán los argumentos
1044 necesarios, si usted ingresa únicamente el nombre del comando.
1047 \section{Depuración de la salida de un demonio}
1048 \index[general]{Depuración de la salida de un demonio }
1049 \index[general]{Depuración!Salida Demonio }
1051 Si usted desea depurar la salida de los demonios que se están ejecutando, estos se
1052 deben iniciar desde el directorio de instalación de la siguiente manera:
1056 ./bacula start -d100
1060 Esto puede muy útil, si los demonios no se inician correctamente, puesto que la salida
1061 directa de estos a la consola se direcciona al dispositivo NULL. Sin embargo, con
1062 nivel de depuración (debug) mayor que cero, la salida es enviada al terminal donde
1063 se corren los comandos.
1065 Para detener los tres demonios, ingrese lo siguiente desde el directorio de instalación:
1073 La ejecución de \textbf{bacula stop }puede indicar que algunos pids no fueron encontrados.
1074 Esto puede ser ser normal, especialmente si alguno de los demonios ha \textquotedblleft{}muerto\textquotedblright{}
1075 (died), lo cual es muy raro.
1077 Para realizar un respaldo full de un sistema, cada demonio en el cliente (File daemon),
1078 debe estar corriendo como usuario root, para que este tenga permisos para acceder
1079 a todos los archivos. Ninguno de los otros demonios, requiere privilegios de root.
1080 Sin embargo, el demonio de almacenamiento (Storage daemon), debe ser capaz de abrir
1081 las unidades de tape. En la mayoría de los sistemas, únicamente el usuario root puede
1082 acceder estos dispositivos. Para esto, usted puede correr el demonio de almacenamiento
1083 como root o cambiar los permisos de los dispositivos de cinta, para permitir el acceso
1084 a usuarios no root. MySQL y PostgreSQL pueden ser instalados con cualquier id de
1085 usuario; y no se requieren privilegios de superusuario.
1088 \section{Paciencia al iniciar los demonios o al montar tapes en blanco}
1090 Cuando se inician los demonios de Bacula, el demonio de almacenamiento intenta abrir
1091 todos los dispositivos de almacenamiento definidos y verificar el Volumen que está
1092 montado actualmente (y si está configurado). Hasta que todos los dispositivos de
1093 almacenamiento no sean verificados, el demonio de almacenamiento no aceptará conexiones
1094 desde la Consola. Si la cinta ha sido utilizada con anterioridad, esta será rebobinada,
1095 y en algunos dispositivos esto puede tomar varios minutos. Como consecuencia de esto,
1096 usted debe tener un poco de paciencia la primera vez que se contacte al demonio de
1097 almacenamiento, luego del arranque de estos. Si puede ver su unidad de cinta, una
1098 vez que las luces dejen de parpadear, la misma estará disponible para su uso.
1100 Las mismas consideraciones aplican si usted ha montado una cinta en blanco en una
1101 unidad de drive, tal como una DLT HP. Esta acción puede tomar uno o dos minutos antes
1102 que la unidad reconozca de manera adecuada, que el tape esta en blanco. Si usted
1103 intenta ejecutar el comando \textbf{mount }en el programa de Consola durante el proceso
1104 de reconocimiento, es muy probable que inhiba su driver SCSI (al menos en mi sistema
1105 Red Hat Linux). Por esto, se le recuerda, nuevamente, tener paciencia cuando se inserten
1106 cintas en blanco. Se debe esperar que el dispositivo no muestre actividad antes de
1110 \section{Dificultades conectando el FD con el SD}
1111 \index[general]{Dificultades conectando el FD con el SD}
1112 \index[general]{Dificultades!conectando el FD con el SD}
1114 Si está teniendo dificultades para conectar uno o mas demonios de archivos con el
1115 demonio de almacenamiento, probablemente esto se deba a que no utilizó un nombre
1116 de dominio completamente calificado en la directiva \textbf{Address }en el recurso
1117 de almacenamiento en el Director. Es decir, que el demonio de archivo del equipo
1118 (no en el Director) debe ser capaz de resolver el nombre que se indique con la dirección
1119 IP. Un ejemplo de una dirección que está garantizado no trabajará es:\textbf{ localhost}.
1120 Un ejemplo de una que podría trabajar es: \textbf{megalon}. Otro ejemplo de otra
1121 que probablemente pueda funcionar es: \textbf{magalon.mydomain.com}. En equipos Win32,
1122 si usted no cuenta con una buena resolución (frecuentemente en sistemas muy viejos,
1123 como Windows 98), usted puede probar utilizar una dirección IP en lugar de un nombre.
1125 Si su dirección IP es correcta, asegúrese que ningún otro programa esté utilizando
1126 el puerto 9103 en el equipo donde corre el demonio de almacenamiento (Storage daemon).
1127 Los números de puertos de Bacula están autorizadas por la IANA, y no deberían ser
1128 utilizados por otros programas, sin embargo, algunas impresoras HP utilizan estos
1129 números de puertos. La ejecución del comando \textbf{netstat -a }en el equipo con
1130 el demonio de almacenamiento, puede indicar quien está usando el puerto 9103 (utilizado
1131 para las comunicaciones desde el FD al SD en Bacula).
1134 \section{Opciones del demonio en linea de comandos}
1135 \index[general]{Daemon Command Line Options }
1136 \index[general]{Options!Daemon Command Line }
1138 Cada uno de los tres demonios (Director, Archivo y Almacenamiento), aceptan un pequeño
1139 conjunto de opciones en linea de comandos. En general, cada uno de estos, así como
1140 el programa de consola, acepta las siguientes opciones:
1144 \item [-c \lt{}file\gt{}]
1145 \index[sd]{-c \lt{}file\gt{} }
1146 Define el archivo a utilizar como archivo de configuración El defecto es el nombre del demonio seguido por la
1147 extensión {\bf .conf}, es decir, {\bf bacula-dir.conf} para el Director, {\bf bacula-fd.conf} para el demonio de
1148 archivo y {\bf bacula-sd.conf} para el demonio de almacenamiento.
1152 Define el nivel de depuración a {\bf nn}. Niveles más altos de depuración, provocan que mayor información sea
1153 desplegada en STDOUT, notificando lo que el demonio está haciendo.
1156 Corre el demonio en el foreground. Esta opción es necesaria cuando se corre el demonio bajo el depurador.
1159 Corre el demonio con este grupo. Debe ser un nombre de grupo, no su identificador GID.
1162 No se le hace un trap a las señales. Esta opción es necesaria cuando se corre el demonio bajo el depurador.
1165 Lee el archivo de configuración e imprime cualquier mensaje de error, luego termina inmediatamente. Es muy
1166 útil para chequear la sintaxis de nuevos archivos de configuración.
1169 Corre el demonio con este usuario. Debe ser un nombre de un usuario, y no un UID.
1172 Impresión mas detallada y completa de los errores y mensajes de información Se recomienda su uso.
1175 Imprime la versión y la lista de opciones.
1180 \section{Creando un Pool}
1182 \index[general]{Pool!Creating a }
1183 \index[general]{Creating a Pool }
1185 La creación del Pool se hace de manera automática cuando \textbf{Bacula }arranca,
1186 por lo tanto, si usted entiende los Pools, puede proseguir con la próxima sección
1188 Cuando se ejecuta un job, una de las cosas que \textbf{Bacula }debe conocer es que
1189 volúmenes se utilizarán para respaldar el conjunto de objetos (FileSet). En vez de
1190 especificar un volumen (tape) directamente, se indica cuál es el pool de volúmenes
1191 que \textbf{Bacula }consulta cuando se necesita una cinta para las escritura de los
1192 backups. Bacula seleccionará el primer volumen disponible para el pool, apropiado
1193 para el dispositivo de almacenamiento seleccionado para la ejecución del job. Cuando
1194 un volumen está lleno, \textbf{Bacula }cambiar su atributo VolStatus de \textbf{Append
1195 }a \textbf{Full}, luego se utilizará el siguiente volumen y así sucesivamente. Si
1196 no existen volúmenes disponibles para escritura en el pool, el Director intentará
1197 reciclar un volumen viejo, y si todavía no existen volúmenes, se enviará un mensaje
1198 al operador solicitándole crear un nuevo volumen, de manera apropiada.
1200 \textbf{Bacula }mantiene un registro del nombre del pool, los volúmenes contenidos
1201 en el pool y un número determinado de atributos para cada uno de estos.
1203 Cuando los servicios de Bacula se inician, se asegura que todas las definiciones
1204 de los recursos de pool hayan sido grabadas en el catálogo. Esto se puede verificar
1205 ingresando el siguiente comando:
1213 En la consola de Bacula, y se mostraría algo parecido a lo siguiente:
1218 Using default Catalog name=MySQL DB=bacula
1219 +--------+---------+---------+---------+----------+-------------+
1220 | PoolId | Name | NumVols | MaxVols | PoolType | LabelFormat |
1221 +--------+---------+---------+---------+----------+-------------+
1222 | 1 | Default | 3 | 0 | Backup | * |
1223 | 2 | File | 12 | 12 | Backup | File |
1224 +--------+---------+---------+---------+----------+-------------+
1230 Si usted intenta crear un pool con el mismo nombre, por segunda vez, se mostrará:
1234 Error: Pool Default already exists.
1235 Once created, you may use the {\bf update} command to
1236 modify many of the values in the Pool record.
1240 \section{Etiquetando sus volúmenes}
1242 \index[general]{Volumes!Labeling Your }
1243 \index[general]{Labeling Your Volumes }
1245 Bacula requiere que cada volumen contenga una etiqueta de software. Hay varias estrategias
1246 para el etiquetado de volúmenes Una de estas, consiste en etiquetarlos cuando sea
1247 necesario, utilizando la consola. Es decir, cuando se necesita un nuevo volumen,
1248 y no se consigue ninguno disponible en el catálogo, se envía un mensaje de correo
1249 donde se solicita la adición de nuevos volúmenes al pool. Luego se utiliza el comando
1250 \textbf{label}, en el programa de consola, para etiquetarlo y definirlo en la base
1251 de datos del pool. Luego de esto, Bacula comenzará a escribir en el nuevo volumen.
1252 De manera análoga, se puede utilizar el comando \textbf{relabel}, para reetiquetar
1253 un volumen, que no ha sido usado por largos períodos de tiempo. Para esto, el atributo
1254 VolStatus debe estar definido como \textbf{Purged}.
1256 Otra estrategia, consiste en etiquetar un conjunto de volúmenes al inicio, para que
1257 puedan ser utilizados cuando \textbf{Bacula }los necesite. Esta es la forma mas frecuente
1258 de hacerlo en el caso de contar con un conjunto de cintas para reciclaje, por ejemplo,
1259 cuando se utiliza una librería de cambio automático de cintas. Para mayores detalles
1260 del reciclado, por favor, revise el capítulo \ilink{Reciclado automático de Volúmenes }{RecyclingChapter},
1263 Si usted corre un job, y no cuenta con tapes etiquetados en el pool, Bacula le informará
1264 esta situación, y estos se pueden crear \textquotedblleft{}en el vuelo\textquotedblright{}
1265 y continuar. Por ejemplo, se pueden etiquetar las cintas con la fecha, es decir:
1266 \textbf{DLT-18Apr09}. Mas abajo, se muestran más detalles en el uso del comando \textbf{label.}
1269 \section{Etiquetando volúmenes con el programa de consola}
1270 \index[general]{Labeling Volumes with the Console Program }
1271 \index[general]{Program!Labeling Volumes with the Console }
1273 El etiquetado de volúmenes, generalmente, se realiza utilizando el programa de consola.
1279 Si Bacula, muestra que no puede etiquetar la cinta, porque esta ha sido etiquetada
1280 previamente, simplemente desmóntelo, utilizando el comando \textbf{unmount }en la
1281 consola, y seguidamente, monte una cinta en blanco y ejecute nuevamente el comando\textbf{
1286 The defined Storage resources are:
1291 Select Storage resource (1-4):
1295 En este punto, usted debe tener una cinta vacía en el drive correspondiente al recurso
1296 de almacenamiento que seleccionó.
1298 Luego se pregunta por el nombre del volumen:
1302 Enter new Volume name:
1310 Media record for Volume xxxx already exists.
1314 Significa que el volumen con nombre \textbf{xxxx }que se ingresó, ya existe en la
1315 base de datos de medios. Se pueden listar todas las medias (volúmenes) definidas,
1316 con el comando \textbf{list media}. Observe, que la última columna LastWritten, se
1317 ha truncado para mostrar una salida apropiada.
1321 +---------------+---------+--------+----------------+-----/~/-+------------+-----+
1322 | VolumeName | MediaTyp| VolStat| VolBytes | LastWri | VolReten | Recy|
1323 +---------------+---------+--------+----------------+---------+------------+-----+
1324 | DLTVol0002 | DLT8000 | Purged | 56,128,042,217 | 2001-10 | 31,536,000 | 0 |
1325 | DLT-07Oct2001 | DLT8000 | Full | 56,172,030,586 | 2001-11 | 31,536,000 | 0 |
1326 | DLT-08Nov2001 | DLT8000 | Full | 55,691,684,216 | 2001-12 | 31,536,000 | 0 |
1327 | DLT-01Dec2001 | DLT8000 | Full | 55,162,215,866 | 2001-12 | 31,536,000 | 0 |
1328 | DLT-28Dec2001 | DLT8000 | Full | 57,888,007,042 | 2002-01 | 31,536,000 | 0 |
1329 | DLT-20Jan2002 | DLT8000 | Full | 57,003,507,308 | 2002-02 | 31,536,000 | 0 |
1330 | DLT-16Feb2002 | DLT8000 | Full | 55,772,630,824 | 2002-03 | 31,536,000 | 0 |
1331 | DLT-12Mar2002 | DLT8000 | Full | 50,666,320,453 | 1970-01 | 31,536,000 | 0 |
1332 | DLT-27Mar2002 | DLT8000 | Full | 57,592,952,309 | 2002-04 | 31,536,000 | 0 |
1333 | DLT-15Apr2002 | DLT8000 | Full | 57,190,864,185 | 2002-05 | 31,536,000 | 0 |
1334 | DLT-04May2002 | DLT8000 | Full | 60,486,677,724 | 2002-05 | 31,536,000 | 0 |
1335 | DLT-26May02 | DLT8000 | Append | 1,336,699,620 | 2002-05 | 31,536,000 | 1 |
1336 +---------------+---------+--------+----------------+-----/~/-+------------+-----+
1340 Una vez que Bacula verifica que el volumen aún no ha sido creado, se solicitará el
1341 nombre del pool al cual se agregará el volumen (cinta). Si existe un pool único (Default),
1342 este se seleccionará de manera automática
1344 Si la cinta es etiquetada de manera exitosa, un registro de volumen también es creado
1345 en el pool. Es decir, el nombre del volumen y todos sus atributos aparecerán cuando
1346 se liste el pool. Adicionalmente, estará disponible para los respaldos, si el campo
1347 MediaType coincide con el requerido por el demonio de almacenamiento.
1349 Cuando se etiquetó el tape, se le hicieron varias preguntas, básicamente el nombre
1350 y quizás el slot. Sin embargo, el registro del volumen en la base de datos del catálogo
1351 (conocido internamente como MediaRecord), contiene poco atributos. La mayoría de
1352 los cuales se definen de los valores por defecto configurados para el pool ( es decir,
1353 el pool mantiene la mayoría de los atributos por defecto utilizados para la creación
1356 También es posible agregar medias a un pool sin etiquetar físicamente el volumen.
1357 Esto se hace con el comando \textbf{add}. Para mas información, por favor revise
1358 el capítulo de \ilink{Consola}{_ConsoleChapter} , de este manual.