martes, 28 de abril de 2015

Instalacion de BACULA

En esta publicacion vamos a realizar una instalacion basica de BACULA

Instalación Sistema de Respaldo Bacula

Esquema de Bacula
Bacula es un software cliente-servidor, éste se divide en 4 módulos que son:
Director (bacula-dir)
Storage Daemon (bacula-sd)
File Daemon (bacula-fd)
Console (bconsole)

Pasos

  1. Actualizar los Ports.
  2. Instalar MySQL Server 4.1.XY.
  3. Instalar Bacula-Server con soporte para MySQL.
  4. Instalar Bacula-Client desde los ports.
  5. Configurar la base de datos MySQL Server.
  6. Configurar Bacula-Server para MySQL.
  7. Cambio de extensiones a archivos de bacula.
  8. Configurar archivo bacula-fd.conf(Cliente de bacula).
  9. Configurar archivo bacula-sd.conf(Storage Daemon).
  10. Configurar archivo bconsole.conf(Console).
  11. Configurar archivo bacula-dir.conf(Director Daemon).
  12. Probando los archivos de Bacula.
  13. Instalando el Cliente de Bacula en Windows NT4/2000/XP/2003.
  14. Ejecutar Bacula-Server por primera vez.
  15. Accesando a Bacula desde bconsole.
  16. Ejecutando el primer Respaldo Full y Diferencial.
  17. Restaurando archivos con Bacula.

PASO 2: Instalación de MySQL

1. instalar el software MySQL server desde el árbol de ports:
root# cd /usr/ports/databases/mysql51-server/ && make install clean
2. Generamos las tablas de permisos para MySQL:
root# /usr/local/bin/mysql_install_db
3. Cambiamos el propietario y grupo del directorio de datos:
root# chown -R mysql:mysql /var/db/mysql/
4. Una vez completados los pasos anteriores vamos a editar el arvhico rc.conf para que nos inicie automáticamente MySQL
root# ee /etc/rc.conf
Y agregamos la siguiente línea:
mysql_enable=”YES”
Cuando estemos listos pulsamos la tecla ESC “escape”, luego sabe y finalmente sabe change.
5. Ahora reiniciamos la maquina con un simple “reboot
6. A continuación establecer la contraseña del administrador de la base de datos (Atención no poner la contraseña que tenemos para el usuario root):
root# /usr/local/bin/mysqladmin -u root password tupassword
7. Reiniciamos y listo.

PASO 3: Instalar Bacula-Server con soporte para MySQL.


root#cd /usr/ports/sysutils/bacula-server

root #make install clean
Seleccionar el soporte para MySQL. También puede utilizarse PostgreSQL.

PASO 4: Instalar Bacula-Client desde los ports.



root #cd /usr/ports/sysutils/bacula-client
root #make install clean
Este paso debe hacerse en todos los equipos CLIENTES de Bacula. 

PASO 5: Configurar la base de datos MySQL Server.



1. Ejecutar mysql_install_db con el usuario mysql que fue creado cuando instalamos mysql, este script lo encontramos en /usr/local/bin
root #/usr/local/bin/mysql_install_db --user=mysql
Con esto hemos creado las bases de datos que usa mysql para funcionar internamente, aun no se está ejecutado el servidor, esto lo hacemos en el siguiente paso.
2. Iniciar la base de datos con el scrip mysqld_safe
root #/usr/local/bin/mysqld_safe &
Aquí nos arroja cierta información o bien no se ejecuta el servidor, pero vamos probando si está corriendo:
root #sockstat -l4
USER     COMMAND    PID   FD   PROTO   LOCAL ADDRESS         FOREIGN ADDRESS 
mysql    mysqld     530   10   tcp4        *:3306            *:*
Aquí podemos ver si está corriendo el servidor mysql, si no aparece por ahí el puerto 3306 abierto, nos indica que no se ejecuto, a veces una reinicio del sistema arregla todo. Agregar mysql al archivo /etc/rc.conf, con la siguiente línea:
mysql_enable="YES"
Este es el básico para llevar a cabo esto, pero también tenemos estos que son opcionales:
mysql_limits (bool):  YES o NO
mysql_dbdir="/var/db/mysql"
mysql_args (str):
Por último tenemos unos scripts en el directorio de mysql /usr/local/share/mysql que podemos copiar en /etc/ para que mysql lea antes de ejecutarse, estos archivos son parámetros globales para mysql y estos son:
  • my-huge.cnf
  • my-large.cnf
  • my-medium.cnf
  • my-small.cfg
Cada uno tiene sus características, pero solo podemos darle uno a mysql, en mí caso usé my-large.cfg, así que mando una copia a /etc:
root #cp /usr/local/share/mysql/my-large.cnf  /etc/
Cada uno de ellos trae comentarios sobre cuando aplica.
Reiniciar el sistema y verificar que mysql debe estar ejecutándose. 


PASO 6: Configurar Bacula-Server para MySQL.



a) Ejecutar el script de nombre grant_mysql_privileges. Ejecutar el script con el nombre de usuario y contraseña que se le dio a MySQL, esto se hace así:
root#cd /usr/local/share/bacula
root#./grant_mysql_privileges -u root -p
Enter password:
... información
... información
... información
La última línea nos indica que todo salió bien y dice así:
"Privileges for bacula granted."
b) Enseguida debemos ejecutar el script de nombre create_mysql_databases, así:
root#./create_mysql_databases -u root -p
Enter password:
Creation of bacula databases succeeded.
Con esto se ha creado la base de datos de bacula en MySQL.
c) Crear las tablas de bacula, para ello debemos ejecutar el script de nombre create_mysql_tables asi:
root#./make_mysql_tables -u root -p
Enter password:
Creation of Bacula MySQL tables succeeded.
Con todo lo anterior el servidor de bacula está listo para empezar a trabajar con él. Esto se puede comprobar accesando a la consola de mysql y ver las bases de datos que esta posee.
root#mysql -u root -p
Enter password:
...Informacion que arroja mysql
mysql>show databases;
+------------------------------+
|Databases                                    |
+------------------------------+
|information_schema                      |
|bacula                                          |
|mysql                                           |
|test                                              |
+------------------------------+
d) Salir de mysql.


PASO 7: Cambiar extensiones a archivos de configuracion de bacula



Los archivos de configuración están en el directorio /usr/local/etc, todos terminan con la extensión .new o .sample, para que bacula los pueda leer deben terminar en .conf, así que los copiamos en el mismo directorio pero eliminando la extensión .new o .sample.
root#cd /usr/local/etc
root#cp bacula-dir.conf.sample bacula-dir.conf
Esto lo hacemos con los demás archivos los cuales en total son 4:
  • bacula-sd
  • bacula-fd
  • bconsole

paso 8: CONFIGURACIÓN archivo bacula-fd.conf (Cliente de Bacula).


Nota: la configuración de cada uno de los archivos, es la ocupada en el DECOM. Se debe reemplazar todos los “tool”, por el usuario que se quiera, asi como las contraseñas. Ojo con las contraseñas en el cliente, storage y bconsole, ya que debe n ser las mismas que están en el Director.
El archivo a editar es el bacula-fd.conf, esto se hace con el siguiente comando:
root#ee bacula-fd.conf
Configuración:
 Director {
  Name = tool-dir                 #Name=Nombre del director que puede accesar a este cliente.
  Password = "cristian3"     #Password = Password que debe utilizar el director si desea accesar a este cliente.
 }
 Director {
  Name = tool-mon              #Name = Nombre del monitor a donde vamos a mandar nuestros mensajes de lo que estamos haciendo.
  Password = "console"      #Password que debemos utilizar si deseamos comunicarnos con el monitor.
  Monitor = yes
}
 FileDaemon {                                                                       
  Name = tool-fd                  #Name=Nombre del cliente
  FDport = 9102                  #Los demas datos dejarlos igual.    
  WorkingDirectory = /var/db/bacula
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 20
}
 #Aquí solo le indicamos que los mensajes generados se los mande a el director aquí indicado.
#director= Nombre del director al que deseamos informar de nuestros mensajes.
 Messages {
  Name = Standard
  director = tool-dir = all, !skipped, !restored
}


paso 9: Configuracion archivo bacula-sd.conf (Storage bacula).



El archivo a editar es el bacula-sd.conf, esto se hace con el siguiente comando:
root#ee bacula-sd.conf
Configuración:
Storage {                                                              # definition of myself
  Name = tool-sd                                                  #Name= Nombre de demonio
  SDPort = 9103                                                  # Director's port
  WorkingDirectory = "/var/db/bacula"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
}
# List Directors who are permitted to contact Storage daemon
Director {
  Name = tool-dir                 #Name=Nombre del director que desea contactar a este demonio.
  Password = "bacula-sd"   #Password=Password que debe usar este director para contactar a este demonio.
}
Director {
  Name = tool-mon
  Password = "console"
  Monitor = yes
}
 #DISPOSITIVO PARA RESPALDAR EN ARCHIVO
Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /tmp                    #Archive Device=Lugar del disco donde vamos a almacenar los respaldos.
  LabelMedia = yes;                             # lets Bacula label unlabeled media
  Random Access = yes;
  AutomaticMount = yes;                    # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}
 # DISPOSITIVO PARA RESPALDAR EN DVD
#Device {
#  Name = "DVD-Writer"
#  Media Type = DVD
#  Archive Device = /dev/hdc
#  LabelMedia = yes;                   # lets Bacula label unlabeled media
#  Random Access = Yes;
#  AutomaticMount = yes;               # when device opened, read it
#  RemovableMedia = yes;
#  AlwaysOpen = no;
#  MaximumPartSize = 800M;
#  RequiresMount = yes;
#  MountPoint = /mnt/cdrom;
#  MountCommand = "/bin/mount -t iso9660 -o ro %a %m";
#  UnmountCommand = "/bin/umount %m";
#  SpoolDirectory = /tmp/backup;
#  WritePartCommand = "/etc/bacula/dvd-handler %a write %e %v"
#  FreeSpaceCommand = "/etc/bacula/dvd-handler %a free"
#}
# Send all messages to the Director,
# mount messages also are sent to the email address
Messages {
  Name = Standard
  director = tool-dir = all
}

No hay comentarios:

Publicar un comentario