INSTALACION DE BACULA Y WEBMIN EN CENTOS 6.4 Introducción Bacula es un servicio de respaldo para empresa, es software libre y soporta Windows y Linux. Los respaldos pueden ser por cintas, DVD/CD o en disco duro. Se eligió Bacula por lo estable robusto y gran soporte. Y se eligió Centos por la facilidad del software ofrecido en sus repositorios. Bacula se compone de 3 servicios y estos servicios pueden funcionar perfectamente en distintos servidores: Bacula Director: Es el encargado de manejar a los 2 demonios que utiliza Bacula. Es aquí donde se maneja casi todo el uso de Bacula, su archivo de configuración esta en /etc/bacula/bacula-dir.conf Bacula Storage: Es el demonio encargado de los dispositivos de respaldo, su función es sincronizarse con el dispositivo para sincronizarlo con bacula-director. Su archivo de configuración esta en /etc/bacula/bacula-sd.conf Bacula File: Es, podría decirse, el demonio cliente que se instala en el servidor o equipo donde se querrá respaldar y se sincroniza con bacula-director según la calendarización que esté programada. Su archivo de configuración esta en /etc/bacula/bacula-fd.conf Además existe la BConsole donde se programará manualmente los respaldos y restauraciones. Atraves de Bconsole se puede conectar a Bacula-director y programarlo a gusto de que se deba hacer algo no calendarizado. Su archivo esta en /etc/bacula/bconsole.conf
INSTALACION DE ELEMENTOS BASICOS En Centos se instalarán elementos básicos para compilación, base de datos MySQL, PHP y Apache (Todo esto en modo root). yum install gcc make autmake binutils kernel-devel kernel gcc-c++ autoconf yum install php php-mysql mysql mysql-server mysql-devel httpd Nota: Recuerden configurar la contraseña de root de MySQL, configurar el date.timezone en php.ini, cambiar el ServerName a Apache y reiniciar el servicio. Ejemplo: service mysqld start mysqladmin u root password contraseña vi /etc/php.ini #Se debe configurar la línea que dice date.timezone. Ejemplo: date.timezone = America/Santiago INSTALACION DE BACULA Con esta instrucción se instalará bacula con todas sus herramientas para que funcione con MySQL yum install bacula-director bacula-director-mysql bacula-storage bacula-console bacula-consolebat bacula-traymonitor En este manual no se hablara de bacula-bat ni tampoco de bacula-traymonitor por ser herramientas gráficas y solo realizaremos configuraciones en modo consola y con Webmin. Luego se creará la base de datos bacula con los siguientes scripts: cd /usr/libexec/bacula/./grant_mysql_privileges -u root -p./create_mysql_database -u root p./make_mysql_tables -u root p El scritp no configura contraseña al usuario bacula en mysql así que se hará manualmente con la contraseña backup2013. mysql -u root p grant all on bacula.* to bacula@localhost identified by backup2013 ; exit;
CONFIGURACION DE BACULA DIRECTOR En el archivo de configuración se debe configurar ciertos parámetros que se verán ahora. No se debe reemplazar la configuración original, solo verificar que estén descomentadas en el archivo. vi /etc/bacula/bacula-dir.conf Se debe cambiar la clave por defecto en Director, Storage. En esta configuración se puso passdirector123, passdirector123sd, passdirector123fd, etc. Director { # define myself Name = bacula-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/usr/libexec/bacula/query.sql" WorkingDirectory = "/var/spool/bacula" PidDirectory = "/var/run" Maximum Concurrent Jobs = 1 Password = "passdirector123" # Console password Messages = Daemon Storage { Name = File # Do not use "localhost" here Address = 172.16.214.237 # se debe poner la IP del servidor storage SDPort = 9103 Password = " passdirector123sd " Device = FileStorage Media Type = File Client { Name = bacula-fd Address = client.example.com FDPort = 9102 Catalog = MyCatalog Password = "passdirector123fd" # password for FileDaemon File Retention = 30 days # 30 days Job Retention = 6 months # six months AutoPrune = yes # Prune expired Jobs/Files Catalog { Name = MyCatalog # Uncomment the following line if you want the dbi driver # dbdriver = "dbi:sqlite3"; dbaddress = 127.0.0.1; dbport = dbname = "bacula"; dbuser = "bacula"; dbpassword = "backup2013" #contraseña de bacula SQL
Console { Name = bacula-mon Password = "passdirector123mon" CommandACL = status,.status CONFIGURACION DE BACULA STORAGE vi /etc/bacula/bacula-sd.conf Storage { # definition of myself Name = bacula-sd SDPort = 9103 # Director's port WorkingDirectory = "/var/spool/bacula" Pid Directory = "/var/run" Maximum Concurrent Jobs = 20 Director { Name = bacula-dir Password = "passdirector123sd" Director { Name = bacula-mon Password = "passdirector123mon" Monitor = yes Device { Name = FileStorage Media Type = File Archive Device = /tmp LabelMedia = yes; # lets Bacula label unlabeled media Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no;
CONFIGURACION DE BCONSOLE Director { Name = bacula-dir DIRport = 9101 address = localhost Password = "passdirector123" Nótese que algunas contraseñas se repiten para sincronizarse entre director y storage-bconsolefile
INSTALACION DE WEBMIN Se dercarga de la pagina web www.webmin.com y luego se importa la key y se instala el rpm de webmin rpm --import http://www.webmin.com/jcameron-key.asc rpm -ivh webmin-1.620-1.noarch.rpm Se debe cambiar la clave de root en Webmin, en este ejemplo es admin /usr/libexec/webmin/changepass.pl /etc/webmin/ root admin /etc/init.d/webmin restart Antes de ingresar a http://ipservidor.mi.dominio.cl:10000/, se debe abrir el puerto para poder conectarse desde fuera. iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT service iptables sabe service iptables restart Luego se cambia el idioma en Webmin Configuration
Para que sea mas seguro Webmin se debe activar la encriptación SSL para que no capten las instrucciones remotas que se darán al servidor. Click en Encritacion SSL en la configuración de Webmin Se debe instalar antes el modulo perl para SSL yum install perl-net-ssleay
Al guardar la nueva configuracion saldra un mensaje de Ingreso desconfiado asi que se debe entrar a la nueva direccion web https://ipservidor.mi.dominio.cl:10000/. Se confirma la excepción de seguridad y ya estará adentro nuevamente de Webmin
CONFIGURACION DE BACULA EN WEBMIN Se deben abrir los puertos de Bacula y bacula Storage iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9103 -j ACCEPT iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9101 -j ACCEPT Luego se ingresa en el módulo Sistema > Bacula Backup System, y se pedirá configurarlo. Ingresamos los datos de la BBDD bacula en MySQL, usuario y password Salvar y volver al modulo
Esta es la pantalla de configuración de Bacula en Webmin. Para completar se debe Iniciar bacula con los siguientes comando o con el botón Iniciar Bacula en Webmin service bacula-dir start service bacula-sd start Si no levanta los servicios, chequee la configuración del director, la configuración de storage o base de datos. El caso más típico es que las contraseñas no se asemejen en los archivos de configuración. Etiquetar volúmenes Se deben etiquetar los volúmenes para que los Pool funcionen correctamente al momento de nombrar los respaldos
Al momento de crearlos, debe salir un mensaje de.. labelling successful. Luego de realizar esto se podrá ver los Pool en Grupo de Volúmenes
AGREGAR CLIENTE A BACULA Para agregar un cliente primero se debe instalar Bacula File: yum install bacula-client bacula-common Luego se configuran las contraseñas en el archivo bacula-fd.conf vi /etc/bacula/bacula-fd.conf Director { Name = bacula-dir Password = "passdirector123fd" Director { Name = bacula-mon Password = "passdirector123mon" Monitor = yes FileDaemon { # this is me Name = bacula-fd FDport = 9102 # where we listen for the director WorkingDirectory = /var/spool/bacula Pid Directory = /var/run Maximum Concurrent Jobs = 20 Messages { Name = Standard director = bacula-dir = all,!skipped,!restored
Además se debe abrir el puerto 9103 de bacula client: iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT service iptables sabe service iptables restart Finalmente arrancar el servicio service bacula-fd start Luego agregar el cliente en la configuración del Director de Webmin Clientes. Salvar Para saber si se conectó con el servidor Bacula debes reiniciar el servicio de bacula y poner Mostrar estado en el cliente
Conjunto de Archivos o FileSets Este módulo, se configura los directorios y archivos que serán respaldados En este ejemplo se respaldara la ruta /home/patrick.munoz en el FileSet llamada backupcomun con verificación MD5 y compresion gzip 9 Luego click en Crear Almacenamiento o Tipo de almacenamiento En este ejemplo se hara un respaldo como archivo, pero también puede ser por cintas y por CD/DVD
Programación de Respaldos o Calendarización de Trabajos Se creará una programación diaria a nivel Incremental con el Volumen File, siguiente click en el botón y poner todos los días a la hora 17:15
Click en crear Por último se hará el Job o trabajo, que es el proceso que realizara el backup La características del Job son: Nombre=pruebaderespaldo, Habilitado, Trabajo autónomo, tipo Backup, Nivel Incremental, cliente=bacula-fd, Fileset=backupcomun, Programación=diaria, dispositivo de almacenamiento= File, Pool=File, Mensajes=Standard, Prioridad Por defecto Para asegurar los cambios se debe reiniciar bacula director. El resultado del respaldo será el siguiente.
RECUPERACION DE BACKUP Después de entrar al módulo Recuperar Backup, se debe seleccionar el trabajo a recuperar, el dispositivos que se uso y el directorio donde se va a poner el o la carpeta recuperada En archivos a recuperar clic en el botón y saldrá una pantalla de Java que se debe Ejecutar
Saldra la pantalla de directorio a que se quiere restaurar, cada carpeta o archivo de debe agregar Add. Se termina la selección con Close. Cuando esté listo, clic en Recuperar ahora
Este es el registro del trabajo Terminado la recuperación, se busca el archivo recuperado en el cliente en la ruta /tmp/bacularestores/home/patrick.munoz/. La ruta puede ser cambiada a elección en la programación de la restauracion
Recuperación por comando en BConsole En el servidor bacula Director se debe ejecutar los siguientes comandos bconsole restore Para este ejemplo se seleccionara el respaldo más reciente, 5 Como no tenemos otro cliente, se selecciono bacula-fd, ahora se define el Fileset, 3
Tabla de los backup que se han hecho y saldrá el signo $ para dirigirnos al o los archivos a recuperar. Los comando ls, cd son para navegar por los directorios del respaldo cd /home/patrick.munoz ls #esta instrucción es para marcar el archivo que se quiere restaurar, pueden ser varios mark oneshot.png
#unmark es para desmarcar el archivo unmark oneshot.png Cuando se haya terminado, ejecutar done y yes para confirmar
Pantallazo de proceso Para salir ejecutar exit
RESPALDO CLIENTE WINDOWS Descarga winbacula.exe. Realiza una instalación Custom o Automatic (Luego se deben configurar los archivos)
Acá se ponen los datos del cliente
Y acá los datos del servidor. No olvidar abrir el puerto 9102 y 9101 En esta imagen se me olvido poner la contraseña correcta del director
Luego de instalar se debe configurar los parámetros en los 3 archivos de Configuración
Edit Client Configuration Se debe configurar el nombre del director, en este caso bacula-dir y la password. Ademas configurar la password de bacula-mon y el director de Messages FileDaemon { # this is me Name = dere203-fd FDport = 9102 # where we listen for the director WorkingDirectory = "C:\\ProgramData\\Bacula\\Work" Pid Directory = "C:\\ProgramData\\Bacula\\Work" #Plugin Directory = "C:\\Program Files\\Bacula\\bin\\fdplugins" Maximum Concurrent Jobs = 5 Director { Name = bacula-dir Password = "passdirector123fd" Director { Name = bacula-mon Password = "passdirector123mon" Monitor = yes Messages { Name = Standard director = bacula-dir = all,!skipped,!restored Winbacula instala bconsole para poder manejarla desde nuestro PC de Windows. Para esto se debe configurar los dos archivos restantes Director { Name = bacula-dir DIRport = 9101 address = 172.16.214.237 Password = "passdirector123"
En Webmin la configuración es similar pero agregue otro fileset por la Jerarquia de archivos diferentes entre Windows y Linux Y este es el Job La menera mas efectiva para restaurar una maquina Windows es por bconsole Restore
Se selecciona el cliente dere203-fd Se marca el archivo a restaurar y done Como el respaldo tiene como ruta final /tmp/bacula-restores, entonces debe ejecutar mod
Se modifica el parámetro 9 (Where) e ingresamos la ruta donde queremos la restauración en el cliente C:/restauraciones, enter, yes. Listo, finalmente se realizó con éxito la restauración
BACULA 1 mensaje Patrick Muñoz <patrick.munoz@derecho.uchile.cl> 24 de abril de 2013 18:38 Para: Carlos Ortiz <carlos.ortiz@derecho.uchile.cl>, dortiz@derecho.uchile.cl Estimados envío la información de Bacula en el servidor https://172.16.214.237:10000/ root admin otra herramienta que es practica para ver los log http://172.16.214.237/bacula-web --