systemadmin.es > Backup > Configurar el servidor de backups Bacula (bacula-sd)

Configurar el servidor de backups Bacula (bacula-sd)

Anteriormente ya vimos como instalar el software para el backup bacula, hoy vamos a ver como configurar el daemon bacula-sd para hacer backups en disco.

El nombre bacula-sd significa Bacula’s Storage Daemon y se usa para hacer de interfaz entre los otros servicios de bacula y las cintas/DVDs o el sistema de backups en disco (cintas virtuales):

Interacciones entre los servicios bacula (fuente: bacula.org)

Interacciones entre los servicios bacula (fuente: bacula.org)

Para configurar este daemon partiremos de la configuración que ha generado el instalador de bacula aprovechando la definición del servicio y su contraseña autogenerada:

mv bacula-sd.conf default.bacula-sd
cat /usr/local/etc/bacula/default.bacula-sd  | grep -P "^Storage {[^}]*}" >> /usr/local/etc/bacula/bacula-sd.conf
echo >> /usr/local/etc/bacula/bacula-sd.conf
cat /usr/local/etc/bacula/default.bacula-sd  | grep -P "^Director {[^}]*}" >> /usr/local/etc/bacula/bacula-sd.conf
echo >> /usr/local/etc/bacula/bacula-sd.conf

A continuación deberemos definir los diferentes dispositivos que disponemos en dicho servidor.

Los dispositivos los definiremos en ficheros independientes para un mejor manejo, para ello creamos el directorio devices e indicamos a bacula-sd que lea todos los ficheros acabados con .conf:

echo "@|\"sh -c 'for i in /usr/local/etc/bacula/devices/*.conf ; do echo @\${i} ; done'\"" >> /usr/local/etc/bacula/bacula-sd.conf 
mkdir -p /usr/local/etc/bacula/devices

A continuación crearemos un dispositivo de cintas virtuales que se van a guardar en el directorio /var/backup/bacula. Las opciones de Device son:

  • Name: Nombre del dispositivo de cintas
  • Device Type: Se trata de un parámetro opcional, si no se especifica se deduce automáticamente con la opción Archive Device. Sus posibles valores son:
    • File: Indicamos que son ficheros
    • Tape: Se trata de un dispositivo de cintas
    • Fifo: Indicamos que se trata de un dispositivo de tipo FIFO (una pipe)
    • DVD: Se trata de un DVD, por lo tanto para escribir es un dispositivo secuencial, pero para leer es de acceso aleatorio
  • Media Type: Tipo de dispositivo, se trata de un nombre arbitrario para poder diferenciar si el dispositivo son de cintas virtuales o, por ejemplo, LTO-3
  • Archive Device: Nombre del dispositivo, en el caso de una unidad de cintas, por ejemplo /dev/st0, o bien si usamos cintas virtuales el path del directorio donde almacenarlas
  • LabelMedia: Dejamos que bacula etiquete las cintas
  • Random Access: Indicamos con yes/no si el dispositivo soporta lseek/lseek64 (acceso aleatorio)
  • AutomaticMount: Indicamos con yes que permitimos a bacula acceder al dispositivo automáticamente a no ser que hagamos un umount explícito en la consola
  • RemovableMedia: Indicamos con yes/no si el dispositivo es extraible, por ejemplo cintas, o bien para el caso de ficheros, si usamos un USB
  • AlwaysOpen: Para cintas la mantiene en posición en el caso de dejarlo a yes. En el caso de un dispositivo de tipo File, esta opción es ignorada.

Para crear un dispositivo de cintas virtuales (tipo File) usaremos los siguientes comandos:

mkdir -p /var/backup/bacula
cat <<EOF > /usr/local/etc/bacula/devices/cv.conf
Device 
{
	Name = FileStorage
	Device Type = File
	Media Type = CV$(hostname -s)
	Archive Device = /var/backup/bacula
	LabelMedia = yes
	Random Access = yes
	AutomaticMount = yes
	RemovableMedia = no
	AlwaysOpen = no
}
EOF

A continuación levantamos el servicio:

mkdir -p /usr/local/supervise/bacula-sd
cat <<EOF > /usr/local/supervise/bacula-sd/run
#!/bin/bash
exec /usr/local/sbin/bacula-sd -f -c /usr/local/etc/bacula/bacula-sd.conf
EOF
chmod +x /usr/local/supervise/bacula-sd/run
ln -s /usr/local/supervise/bacula-sd/ /service/

En esta misma serie, instalación y configuración de bacula:

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>