]> git.sur5r.net Git - bacula/docs/blob - docs/manuals/es/concepts/tutorial.tex
Translate tutorial into Spanish
[bacula/docs] / docs / manuals / es / concepts / tutorial.tex
1 %%
2 %%
3
4 \chapter{Tutorial resumido} 
5 \label{TutorialChapter}
6 \index[general]{Tutorial Resumido} 
7 \index[general]{Tutorial!Resumido } 
8
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.
22
23 El flujo general de ejecución de Bacula es el siguiente:
24 \begin{enumerate}
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. 
29 \item Correr un job. 
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
33 momento. 
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.
38 \end{enumerate}
39
40 Cada uno de estos pasos, se describe con mas detalle a continuación.
41
42
43 \section{Antes de correr Bacula}
44 \index[general]{Antes de !correr Bacula }
45 \index[general]{Antes de correr Bacula }
46
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
58 capacidad.
59
60
61 \section{Arrancando la Base de Datos}
62 \label{StartDB} 
63 \index[general]{Arrancando la base de datos } 
64 \index[general]{Arrancando!la base de datos } 
65
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.
73
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}.
77
78
79 \section{\noindent Iniciando los demonios}
80 \label{InicioDemonios} 
81 \index[general]{Iniciando los demonios } 
82 \index[general]{Inicio!de los demonios } 
83
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,
86 simplemente ingrese:
87
88 ./bacula start
89
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.
97
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.
101
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:
107
108 \begin{itemize}
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
113 \end{itemize}
114
115 y luego debe reiniciarlos, como se indico anteriormente.
116
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
119 el sistema arranca.
120
121
122 \section{Usando el programa de consola}
123 \index[general]{Utilizando!el Programa de Consola} 
124 \index[general]{Utilizando el Programa de Consola
125
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:
128
129 ./bconsole
130
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)
134 \textbf{(bat)}:
135
136 ./bat
137
138 El cual brinda una interfaz gráfica, y muchas funcionalidades adicionales a bconsole.
139
140 Otras dos opciones consiste en: correr la consola de GNOME \textbf{bgnome-console
141 }o el programa wxWidgets \textbf{bwx-console.}
142
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}.
146
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:
152
153 \footnotesize
154 \begin{verbatim}
155 [kern@polymatou bin]$./bconsole
156 Connecting to Director lpmatou:9101
157 1000 OK: HeadMan Version: 2.1.8 (14 May 2007)
158 *
159 \end{verbatim}
160 \normalsize
161
162 El símbolo asterisco ('{*}'), es el prompt de la consola de comandos.
163
164 Cuando se tipea \textbf{help}, se despliega una lista de comandos disponibles:
165
166 \footnotesize
167 \begin{verbatim}
168 *help
169   Command    Description
170   =======    ===========
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
180   exit       exit = quit
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
185   label      label a tape
186   llist      full or long list like list command
187   memory     print current memory usage
188   messages   messages
189   mount      mount <storage-name>
190   prune      prune expired records from catalog
191   purge      purge records from catalog
192   python     python control commands
193   quit       quit
194   query      query catalog
195   restore    restore files
196   relabel    relabel a tape
197   release    release <storage-name>
198   reload     reload conf file
199   run        run <job-name>
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
210   use        use catalog xxx
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>]
214 *
215 \end{verbatim}
216 \normalsize
217
218 Los detalles de los programas de la consola, se explican en el \ilink{Capitulo Consola}{_Capítulo de Consola}
219 de este manual.
220
221 \section{Corriendo un job}
222 \label{Corriendo} 
223 \index[general]{Corriendo un!Job } 
224 \index[general]{Corriendo un Job } 
225
226 En este punto, asumimos que usted ha hecho lo siguiente:
227 \begin{itemize}
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.}
239 \end{itemize}
240
241 Adicionalmente, estamos asumiendo que usted está utilizando los archivos de configuración
242 por defecto.
243
244 \footnotesize
245 \begin{verbatim}
246 show filesets
247 \end{verbatim}
248 \normalsize
249
250 Y se mostraría algo similar a lo siguiente:
251
252 \footnotesize
253 \begin{verbatim}
254 FileSet: name=Full Set
255       O M
256       N
257       I /home/kern/bacula/regress/build
258       N
259       E /proc
260       E /tmp
261       E /.journal
262       E /.fsck
263       N
264 FileSet: name=Catalog
265       O M
266       N
267       I /home/kern/bacula/regress/working/bacula.sql
268       N
269 \end{verbatim}
270 \normalsize
271
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}.
284
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:
288
289 \footnotesize
290 \begin{verbatim}
291 status dir
292 \end{verbatim}
293 \normalsize
294
295 Y debería obtener la siguiente salida:
296
297 \footnotesize
298 \begin{verbatim}
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
302 No jobs are running.
303 Level          Type     Scheduled          Name
304 =================================================================
305 Incremental    Backup   29-Apr-2003 01:05  Client1
306 Full           Backup   29-Apr-2003 01:10  BackupCatalog
307 ====
308 \end{verbatim}
309 \normalsize
310
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}.
318
319 Ahora ingrese:
320
321 \footnotesize
322 \begin{verbatim}
323 status client
324 \end{verbatim}
325 \normalsize
326
327 Y se mostrará algo parecido a la siguiente salida:
328
329 \footnotesize
330 \begin{verbatim}
331 The defined Client resources are:
332      1: rufus-fd
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
338 No jobs running.
339 ====
340 \end{verbatim}
341 \normalsize
342
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.
347
348 Finalmente, se puede hacer lo mismo con el demonio de almacenamiento (Storage daemon)
349 con:
350
351 \footnotesize
352 \begin{verbatim}
353 status storage
354 \end{verbatim}
355 \normalsize
356
357 Y debería mostrarse algo como:
358
359 The defined Storage resources are: 
360
361 \footnotesize
362 \begin{verbatim}
363 The defined Storage resources are:
364      1: File
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.
370 No jobs running.
371 ====
372 \end{verbatim}
373 \normalsize
374
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. 
378
379 Ahora, se puede correr un job con:
380
381 \footnotesize
382 \begin{verbatim}
383 run
384 \end{verbatim}
385 \normalsize
386
387 Luego de la corrida, la salida que se despliega es la siguiente: 
388
389 \footnotesize
390 \begin{verbatim}
391 Using default Catalog name=MyCatalog DB=bacula
392 A job name must be specified.
393 The defined Job resources are:
394      1: Client1
395      2: BackupCatalog
396      3: RestoreFiles
397 Select Job resource (1-3):
398 \end{verbatim}
399 \normalsize 
400
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:
403
404 \footnotesize
405 \begin{verbatim}
406 Run Backup job
407 JobName:  Client1
408 FileSet:  Full Set
409 Level:    Incremental
410 Client:   rufus-fd
411 Storage:  File
412 Pool:     Default
413 When:     2003-04-28 14:18:57
414 OK to run? (yes/mod/no):
415 \end{verbatim}
416 \normalsize
417
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).
425
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:
431
432 \footnotesize
433 \begin{verbatim}
434 28-Apr-2003 14:22 rufus-dir: Last FULL backup time not found. Doing
435                   FULL backup.
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:
441     Storage:      FileStorage
442     Media type:   File
443     Pool:         Default
444 \end{verbatim}
445 \normalsize
446
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.
454
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:
458
459 \footnotesize
460 \begin{verbatim}
461 label
462 \end{verbatim}
463 \normalsize
464
465 Y Bacula mostrará:
466
467 \footnotesize
468 \begin{verbatim}
469 The defined Storage resources are:
470      1: File
471 Item 1 selected automatically.
472 Enter new Volume name:
473 \end{verbatim}
474 \normalsize
475
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:
479
480 \footnotesize
481 \begin{verbatim}
482 Defined Pools:
483      1: Default
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
491 \end{verbatim}
492 \normalsize
493
494 Finalmente, ingresando el comando \textbf{messages }se mostrara la siguiente salida:
495
496 \footnotesize
497 \begin{verbatim}
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
501 JobId:                  1
502 Job:                    Client1.2003-04-28_14.22.33
503 FileSet:                Full Set
504 Backup Level:           Full
505 Client:                 rufus-fd
506 Start time:             28-Apr-2003 14:22
507 End time:               28-Apr-2003 14:30
508 Files Written:          1,444
509 Bytes Written:          38,988,877
510 Rate:                   81.2 KB/s
511 Software Compression:   None
512 Volume names(s):        TestVolume001
513 Volume Session Id:      1
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.
524 \end{verbatim}
525 \normalsize
526
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.
530
531 Si usted hace un \textbf{ls -l} al directorio \textbf{/tmp}, verá una salida parecida
532 a lo siguiente:
533
534 \footnotesize
535 \begin{verbatim}
536 -rw-r-----    1 kern     kern     39072153 Apr 28 14:30 TestVolume001
537 \end{verbatim}
538 \normalsize
539
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.
543
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.
549
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:
554
555 \footnotesize
556 \begin{verbatim}
557 ./drop_bacula_tables
558 ./make_bacula_tables
559 \end{verbatim}
560 \normalsize
561
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.
565
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.
568
569 \label{Restaurando}
570
571 \section{Restaurando sus archivos}
572 \index{Files!Restoring Your}
573 \index{Restoring Your Files}
574
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
577 lo siguiente:
578
579 \footnotesize
580 \begin{verbatim}
581 restore all
582 \end{verbatim}
583 \normalsize
584
585 Luego de esto, se mostrará:
586
587 \footnotesize
588 \begin{verbatim}
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.
593
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
606     12: Cancel
607 Select item:  (1-12): 
608 \end{verbatim}
609 \normalsize
610
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:
614
615 \footnotesize
616 \begin{verbatim}
617 Defined Clients:
618      1: rufus-fd
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:
632      1: File
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.
637 cwd is: /
638 $
639 \end{verbatim}
640 \normalsize
641
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}.
656
657 Para salir de este modo, simplemente ingrese:
658
659 \footnotesize
660 \begin{verbatim}
661 done
662 \end{verbatim}
663 \normalsize
664
665 Y se mostrará la siguiente salida:
666
667 \footnotesize
668 \begin{verbatim}
669 Bootstrap records written to
670    /home/kern/bacula/testbin/working/restore.bsr
671 The restore job will require the following Volumes:
672    
673    TestVolume001
674 1444 files selected to restore.
675 Run Restore job
676 JobName:         RestoreFiles
677 Bootstrap:      /home/kern/bacula/testbin/working/restore.bsr
678 Where:          /tmp/bacula-restores
679 Replace:        always
680 FileSet:        Full Set
681 Backup Client:  rufus-fd
682 Restore Client: rufus-fd
683 Storage:        File
684 JobId:          *None*
685 When:           2005-04-28 14:53:54
686 OK to run? (yes/mod/no):
687 \end{verbatim}
688 \normalsize
689
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:
696
697 \footnotesize
698 \begin{verbatim}
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
701 JobId:                  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
708 Rate:                   9704.1 KB/s
709 FD Errors:              0
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.
718 \end{verbatim}
719 \normalsize
720
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:
724
725 \footnotesize
726 \begin{verbatim}
727 rm -rf /tmp/bacula-restore
728 \end{verbatim}
729 \normalsize
730
731
732 \section{Saliendo del programa de Consola}
733 \index[general]{Saliendo!del programa de Consola } 
734 \index[general]{Saliendo del programa de Consola } 
735
736 Simplemente, ingrese el comando \textbf{quit}.
737
738
739 \section{Agregando un segundo cliente}
740 \index[general]{Agregando!un segundo cliente } 
741 \index[general]{Agregando un segundo cliente } 
742
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
753 equipo. Por ejemplo:
754
755 \footnotesize
756 \begin{verbatim}
757 ...
758 #
759 # "Global" File daemon configuration specifications
760 #
761 FileDaemon {                          # this is me
762   Name = rufus-fd
763   FDport = 9102                  # where we listen for the director
764   WorkingDirectory = /home/kern/bacula/working
765   Pid Directory = /var/run
766 }
767 ...
768 \end{verbatim}
769 \normalsize
770
771 Quedaría así:
772
773 \footnotesize
774 \begin{verbatim}
775 ...
776 #
777 # "Global" File daemon configuration specifications
778 #
779 FileDaemon {                          # this is me
780   Name = matou-fd
781   FDport = 9102                  # where we listen for the director
782   WorkingDirectory = /home/kern/bacula/working
783   Pid Directory = /var/run
784 }
785 ...
786 \end{verbatim}
787 \normalsize
788
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.
792
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}).
799
800 \footnotesize
801 \begin{verbatim}
802 #
803 # Define the main nightly save backup job
804 #   By default, this job will back up to disk in /tmp
805 Job {
806   Name = "Matou"
807   Type = Backup
808   Client = matou-fd
809   FileSet = "Full Set"
810   Schedule = "WeeklyCycle"
811   Storage = File
812   Messages = Standard
813   Pool = Default
814   Write Bootstrap = "/home/kern/bacula/working/matou.bsr"
815 }
816 # Client (File Services) to backup
817 Client {
818   Name = matou-fd
819   Address = matou
820   FDPort = 9102
821   Catalog = MyCatalog
822   Password = "xxxxx"                  # password for
823   File Retention = 30d                # 30 days
824   Job Retention = 180d                # six months
825   AutoPrune = yes                     # Prune expired Jobs/Files
826 }
827 \end{verbatim}
828 \normalsize
829
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).
837
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
844 sencilla.
845
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).
850
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
853 equipo.
854
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.
859
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
862 este manual.
863
864
865 \section{Cuando el tape está lleno}
866 \label{FullTape}
867 \index[general]{Fills!When The Tape } 
868 \index[general]{When The Tape Fills }
869
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:
873
874 \footnotesize
875 \begin{verbatim}
876 rufus-sd: block.c:337 === Write error errno=28: ERR=No space left
877           on device
878 \end{verbatim}
879 \normalsize
880
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.
891
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:
895
896 \footnotesize
897 \begin{verbatim}
898 rufus-sd: Job kernsave.2002-09-19.10:50:48 waiting. Cannot find any
899           appendable volumes.
900 Please use the "label"  command to create a new Volume for:
901     Storage:      SDT-10000
902     Media type:   DDS-4
903     Pool:         Default
904 \end{verbatim}
905 \normalsize
906
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
909 día
910
911 La pregunta obvia en este punto es: Qué hacer ahora?
912
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}).
917
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.
922
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.
929
930 El resultado es que Bacula continuará el Job previo, escribiendo el respaldo en el
931 nuevo Volumen.
932
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.
941
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:
945 \begin{itemize}
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.
956 \end{itemize}
957 Para reetiquetar un volumen de manera manual, se deben ejecutar los siguientes pasos
958 adicionales:
959 \begin{itemize}
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
964 ser reutilizado.
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
970 de Bacula al tape.
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.
973 \end{itemize}
974
975 \section{Otros comandos útiles de Consola}
976 \index[general]{Otros!comandos útiles de consola } 
977 \index[general]{Otros comandos útiles de consola }
978
979 \begin{description}
980
981 \item [status dir]
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.
984
985 \item [status]
986    \index[console]{status }
987 El programa de consola solicitará seleccionar un tipo de demonio, luego de esto, se muestra su status.
988
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.
992
993 \item [list pools]
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. 
996
997 \item [list media]
998    \index[console]{list media }
999 Lista todas las medias definidas en el Catálogo.
1000
1001 \item [list jobs]
1002    \index[console]{list jobs }
1003 Muestra todos los jobs en el Catálogo que se han ejecutado.  
1004
1005 \item [list jobid=nn]
1006    \index[console]{list jobid }
1007    Lista los jobs identificados con el jobid nn en el Catálogo. 
1008
1009 \item [list jobtotals]
1010    \index[console]{list jobtotals }
1011 Muestra los totales de todos los jobs que se encuentran en el Catálogo.  
1012
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.
1016
1017 \item [list jobmedia]
1018    \index[console]{list jobmedia }
1019 Muestra la información de la media (Volumen) para cada Job ejecutado.
1020
1021 \item [messages]
1022    \index[console]{messages }
1023 Imprime los mensajes que han sido enviados a la consola.
1024
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.
1030
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.
1037
1038 \item [quit]
1039    \index[sd]{quit }
1040    Salir del programa de consola.
1041 \end{description}
1042
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.
1045
1046
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 }
1050
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:
1053
1054 \footnotesize
1055 \begin{verbatim}
1056 ./bacula start -d100
1057 \end{verbatim}
1058 \normalsize
1059
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.
1064
1065 Para detener los tres demonios, ingrese lo siguiente desde el directorio de instalación:
1066
1067 \footnotesize
1068 \begin{verbatim}
1069 ./bacula stop
1070 \end{verbatim}
1071 \normalsize
1072
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.
1076
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.
1086
1087
1088 \section{Paciencia al iniciar los demonios o al montar tapes en blanco}
1089
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.
1099
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
1107 intentar accederlo.
1108
1109
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} 
1113
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.
1124
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).
1132
1133
1134 \section{Opciones del demonio en linea de comandos}
1135 \index[general]{Daemon Command Line Options } 
1136 \index[general]{Options!Daemon Command Line }
1137
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:
1141
1142 \begin{description}
1143
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. 
1149
1150 \item [-d nn]
1151    \index[sd]{-d nn }
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.
1154
1155 \item [-f]
1156    Corre el demonio en el foreground. Esta opción es necesaria cuando se corre el demonio bajo el depurador.  
1157
1158 \item [-g <group>]
1159    Corre el demonio con este grupo. Debe ser un nombre de grupo, no su identificador GID.
1160
1161 \item [-s]
1162    No se le hace un trap a las señales. Esta opción es necesaria cuando se corre el demonio bajo el depurador.
1163
1164 \item [-t]
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.  
1167
1168 \item [-u <user>]
1169    Corre el demonio con este usuario. Debe ser un nombre de un usuario, y no un UID.
1170
1171 \item [-v]
1172    Impresión mas detallada y completa de los errores y mensajes de información Se recomienda su uso.
1173
1174 \item [-?]
1175    Imprime la versión y la lista de opciones.
1176
1177 \end{description}
1178
1179
1180 \section{Creando un Pool}
1181 \label{Pool}
1182 \index[general]{Pool!Creating a }
1183 \index[general]{Creating a Pool }
1184
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
1187
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.
1199
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.
1202
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:
1206
1207 \footnotesize
1208 \begin{verbatim}
1209 list pools
1210 \end{verbatim}
1211 \normalsize
1212
1213 En la consola de Bacula, y se mostraría algo parecido a lo siguiente:
1214
1215 \footnotesize
1216 \begin{verbatim}
1217 *list pools
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 +--------+---------+---------+---------+----------+-------------+
1225 *
1226 \end{verbatim}
1227 \normalsize
1228
1229
1230 Si usted intenta crear un pool con el mismo nombre, por segunda vez, se mostrará:
1231
1232 \footnotesize
1233 \begin{verbatim}
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.
1237 \end{verbatim}
1238 \normalsize
1239
1240 \section{Etiquetando sus volúmenes}
1241 \label{Labeling}
1242 \index[general]{Volumes!Labeling Your } 
1243 \index[general]{Labeling Your Volumes }
1244
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}.
1255
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},
1261 de este manual.
1262
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.}
1267
1268
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 }
1272
1273 El etiquetado de volúmenes, generalmente, se realiza utilizando el programa de consola.
1274 \begin{enumerate}
1275 \item ./bconsole
1276 \item label
1277 \end{enumerate}
1278
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{
1282 label.}
1283
1284 \footnotesize
1285 \begin{verbatim}
1286 The defined Storage resources are:
1287      1: File
1288      2: 8mmDrive
1289      3: DLTDrive
1290      4: SDT-10000
1291 Select Storage resource (1-4):
1292 \end{verbatim}
1293 \normalsize
1294
1295 En este punto, usted debe tener una cinta vacía en el drive correspondiente al recurso
1296 de almacenamiento que seleccionó.
1297
1298 Luego se pregunta por el nombre del volumen:
1299
1300 \footnotesize
1301 \begin{verbatim}
1302 Enter new Volume name:
1303 \end{verbatim}
1304 \normalsize
1305
1306 Si Bacula muestra:
1307
1308 \footnotesize
1309 \begin{verbatim}
1310 Media record for Volume xxxx already exists.
1311 \end{verbatim}
1312 \normalsize
1313
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.
1318
1319 \footnotesize
1320 \begin{verbatim}
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 +---------------+---------+--------+----------------+-----/~/-+------------+-----+
1337 \end{verbatim}
1338 \normalsize
1339
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 
1343
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.
1348
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
1354 del volumen).
1355
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.