jueves, 24 de abril de 2008

bacula-reservas

De http://crysol.inf-cr.uclm.es/node/400
http://bulma.net/body.phtml?nIdNoticia=2279&nIdPage=5
http://libertonia.escomposlinux.org/story/2004/5/5/93545/27085
http://crysol.inf-cr.uclm.es/node/549
Los componentes

Demonios de bácula

  • Bacula director (bacula-dir o bacula-director)
  • El demonio encargado de gestionar todas las operaciones de backup. El director sabe los trabajos que se van a realizar, cuando , donde y como. Y además se encarga de restaurar los ficheros que le pidamos y su verificación (una especie de suma de comprobación de integridad). Se puede instalar en cualquier máquina de la red.

  • Bacula File (bacula-fd o bacula-file daemon)
  • El cliente. Es necesario instalarlo en todas las máquinas de las que queramos hacer respaldo. Su función es leer y transmitir los ficheros que el director le pida, o restaurarlos.

  • Bacula Storage (bacula-sd o bacula-storage daemon)
  • Este demonio se encarga de la lectura/escritura física en los volúmenes que estén definidos (cintas, ficheros)

    Interfaz de usuario de bacula

  • Bacula-monitor. User Agente , consola....
  • Con bacula-monitor, nos conectaremos al director, y desde donde podremos dar ordenes, hacer consultas, etc.


    El catálogo

    Bacula guarda todas sus operaciones,trabajos,listas de volúmenes, etc en una base de datos estilo SQL. (a día de hoy SQLite, MySQL o PostgreSQL) Esto es lo que se llama el catalogo.



    El funcionamiento

    El director, que tiene definidos una serie de trabajos y a una determinada fecha y hora se pone en marcha, contacta con el primer cliente que tiene definido, el cliente de esa máquina comprueba los ficheros o directorios que le pide el director y le devuelve los que hayan cambiado (si es una copia diferencial o incremental) al director, este se pone en contacto con el demonio "storage" que almacena en el volumen los ficheros que le mandan, y vuelta a empezar por cada uno de los clientes.

    Para un trabajo de verificación viene a ser lo mismo, solo que no se guardan los ficheros, sino solo las sumas de comprobación en la base de datos de bacula.

    Bacula guarda todas sus operaciones,trabajos,listas de volúmenes, etc en una base de datos estilo SQL. (a día de hoy SQLite, MySQL o PostgreSQL), que ya hemos dicho que se llama catálogo.

    Bacula está orientado a una red grande y con uno o varios dispositivos de Backup.

    Aclarando términos

    • Pools y volumenes

    Volumenes: Dispositivos físicos donde se guardan los volcados (ficheros,Dvd's, cintas...)

    Pools: Conjunto de varios volúmenes.

    Ejemplo: Un Pool de una copia de seguridad pueden ser 3 cintas , 3 volumenes. Los tres volúmenes forman el pool. de la copia de seguridad.

    • Mensajes

    En bácula, se generan mensajes de tipo INFO, WARNING, ERROR, FATAL. ¿Que hacer con estos mensajes?. es posible que queramos mandarlos al director, o bien despacharlos en el propio demonio que lo ha producido enviandolo por correo a alguien..... De todas formas es una parte de los ficheros de configuración a tenerla en cuenta.
    Configurado el director.
    El director es el mas largo de configurar. Primeramente definamos los demás y vayamos añadiendo cosas a nuestro director que estará en:
    /etc/bacula/bacula-dir.conf


    Configurando la cónsola:

    La consola de bacula es el medio por el cual nos vamos a comunicar con el sistema director. Su fichero de configuración es este:

    /etc/bacula/console.conf
    #
    # Bacula Agent (or Console) Configuration File
    #

    Director {
    Name = maquinadirectora-dir #Nombre de la maquina directora
    DIRport = 9101
    address = maquinadirectora.x.com#IP o FQDN de la maquina directora.
    Password = "clave"
    }

    Name: Nombre de la maquina directora. El mismo nombre que más tarde definiremos en el fichero de configuración del director.
    DIRport: puerto donde escucha el director.
    address: Direccion de red de la maquina directora. El FQDN o bien su dirección IP.
    Password: El que se necesita para conectar al director.

    Parte de bacula-dir que tiene que ver con la consola:

    #Definición del director

    Director { # definirse asi mismo
    Name = maquinadirectora-dir #lo mismo que hemos puesto en la consola
    DIRport = 9101 # puerto de escucha de las consolas (UA conexiones)
    Password = "clave" # El password para la conexion de la consola.
    }


    Configurando el bacula file

    A este demonio, se le conectan los bacula-directores, para pedir información sobre ficheros, enviar y recibir.


    Fichero de configuracion : /etc/bacula/bacula-fd.conf



    #
    # Directores que permitimos conectarse al demonio bacula-file
    #
    Director {
    Name = maquinadirectora-dir #este es el nombre del director al que dejamos conectar
    Password = "clave" #y este es el password con el que se conectará
    }

    #
    # Especificaciones del demonio.
    #
    FileDaemon { # Este soy yo, y solo hay uno como yo.
    Name = gandalf-fd # este es mi nombre
    FDport = 9102 # Este es el puerto por el que escucho al director
    WorkingDirectory = /var/lib/bacula #directorio de trabajo (uno cualquiera)
    Pid Directory = /var/run/bacula # aqui es donde se almacena el pid, que necesito para ver si voy rulando.
    }

    # Todo tipo de mensajes, se lo envio al director. (¿Que pasa si hay varios directores?)
    # en este caso le envio todos los mensajes de información, error, avisos, salvo los ficheros saltados(skipped).
    Messages {
    Name = Standard
    director = maquinadirectora-dir = all, !skipped
    }
    Parte de bacula-dir que tiene que ver con el bacula-fd

    Por cada bacula-fd, en el bacula-dir hay que escribir un bloque como este.

    Client {
    name = cliente1-fd #nombre del cliente fd (el mismo que pusimos en el campo Name del bloque Fileaemon
    Address = cliente1.x.com #la ip o el fqdn de la maquina donde esta el cliente fd
    FDPort = 9102 # el puerto
    Catalog = MyCatalog #el nombre de la base de datos donde esta lo que controlamos de ese cliente
    Password = "clave" #el password para conectarnos

    File Retention = 30 days # 30 dias guardara el director la lista de ficheros guardados
    Job Retention = 6 months # seis meses guardara los registros de trabajos realizados
    AutoPrune = yes # Borrar los registros y lista de ficheros cuando ha acabado la retencion
    #y si no ¿Que hace con ello?. Supongo que de alguna manera avisar.
    }
    En la definición de los trabajos que hace el director, habra´de haber una referencia al bacula-fd (cliente-fd) que se encarga de hacerlo.
    Job {
    ......
    Client = cliente1-fd # nombre del cliente sobre el que hacemos el trabajo.
    .........
    }


    bacula-director

    Es el demonio que maneja al resto. Debe instalarse en la máquina que realizará los backups(seguro???).
    Necesita una base de datos parra ella.
    En el archivo de configuración del director configuraremos dónde y cómo acceder al resto de demonios, la contraseña para el acceso mediante bacula-console y los trabajos o jobs.

    bacula-storage daemon

    Este demonio es el encargado de manejar el dispositivo de almacenamiento de los backups;

    Tiene que estar instalado en la máquina que realiza los backups.

    Su archivo de configuración define el (o los) dispositivos de almacenamiento que maneja así como que directores pueden utilizarlo.


    bacula-file daemon

    Mediante este demonio bacula obtiene los ficheros que necesita respaldar, así pues éste es el componente que hay que instalar en las máquinas que necesiten respaldo.

    El archivo de configuración es el más simple de todos, símplemente especifica qué directores pueden realizarle peticiones.


    bacula-console

    Una vez instalado y configurado bacula comenzará a realizar copias de seguridad el solito sin intervención nuestra, pero puede suceder que queramos forzar una copia cuando nosotros lo deseemos, o que tengamos que recuperar unos ficheros (protégenos Santa Tecla) o símplemente saber qué tal está nuestro bacula. Para ello necesitamos este componente, similar a una shell pero con pocos comandos (resulta hasta intuitivo... en serio...). Existen varios tipos de consolas: en modo texto, para gnome, con widgets wx, etc. Supongo que también existirán clientes gráficos que no tengan nada que ver con una consola y que harán lo mismo... yo por ahora no he buscado ninguno...


    FICHEROS DE CONFIGURACIÓN

    bacula-file daemon

    Componentes:

    • Director: Una entrada para director que quiera conectarse. Hay uno que es por defecto: backup-mon, los demas hay que meterlos a mano. Hay que especificar un nombre y un password.
    • FileDaemon: Define los parámetros del propio file daemon, parámetros como el puerto de escucha o la IP a la que debe asociarse (recordad que si esa IP es 127.0.0.1 el demonio sólo aceptará conexiones de la propia máquina local). Como véis también especifica el nombre que se da a nuestro file daemon, es importante que coincida con el nombre que luego introduciremos en el director.
    • Messages: Indica qué mensajes podemos enviar a cada director. ¿Que es eso de los mensajes?

    Configuración de bacula-sd

    • Storage: Como antes, se define así mismo y qué parámetros usar.
    • Director: Igual que en el file daemon.
    • Device: Especifica un dispositivo de almacenamiento manejado por el storage daemon. El nombre que se le da aquí y el tipo de medio es el que luego necesitaremos usar en el director.
    • Autochanger: Es un Device especial que define un cargador automático de cintas. Se debe indicar el comando a emplear para usar el cargador.
    • Storage: Como antes, se define así mismo y qué parámetros usar.
    • Director: Igual que en el file daemon.
    • Device: Especifica un dispositivo de almacenamiento manejado por el storage daemon. El nombre que se le da aquí y el tipo de medio es el que luego necesitaremos usar en el director.
    • Autochanger: Es un Device especial que define un cargador automático de cintas. Se debe indicar el comando a emplear para usar el cargador.
    • Storage: Como antes, se define así mismo y qué parámetros usar.
    • Director: Igual que en el file daemon.
    • Device: Especifica un dispositivo de almacenamiento manejado por el storage daemon. El nombre que se le da aquí y el tipo de medio es el que luego necesitaremos usar en el director.
    • Autochanger: Es un Device especial que define un cargador automático de cintas. Se debe indicar el comando a emplear para usar el cargador.

    bacula-director

    Componentes:

    • Director: aqui se indica puerto de escucha de la/s consola .
    • Client: Una entrada por cada file-daemon con ip-puerto , el catálogo (lista de ficheros que tiene que respaldar) que tiene que usar , y algunos parametros de como tiene que actuar el file-daemon correspondiente.
    • Storage: Una entrada por cada demonio de bacula-sd(¿y medio de almacenamiento? que se llaman Devices) donde se le da nombre y se pone la ip y puerto del storage daemon que va a tratar y el Device a utilizar (¿uno o varios?).
    • Catalogo: direccion y forma de conectarse a la base de datos, y dice que el nombre del file daemon con el que conectar ¿¿¿¿ queeeeeee ??????

    tambien ver http://crysol.org/node/549
    http://antoniosanchez.wpblogs.com/2005/03/16/configuracion-de-bacula/

    No hay comentarios: