Instalación y configuración de Bacula en CentOS 7 19.01.2015
3 Comentarios
Share
Bacula es Bacula es un conjunto de programas programas Open Open Source, Source, permite administrar los respaldos, restauración y verificación de datos en una red heterogénea. Bacula es relativamente fácil de usar y eficiente, a la vez que ofrece muchas funcionalidades avanzadas para la administración de los datos almacenados, lo cual facilita hallar y recuperar archivos perdidos o dañados. Se basa en una arquitectura Cliente-Servidor que resulta eficaz y fácil de manejar, dada la amplia gama de funciones y características que brinda; copiar y restaurar ficheros dañados o perdidos.
Considere los siguiente al leer este manual: La versión de bacula que se instala es la 5.2 Se usara la versión de postgresql 9.2 Algunos comandos que se muestran necesitaran de privil egios de superusuario, considere usar o ejecutar el comando como superusuario
Instalaremos Bacula de acuerdo al siguiente esquema:
Servidor 1. 1. Tendra los servicios: bacula-dir bacula-sd PostgreSQL bconsole Servidor 2.Nuestro 2.Nuestro cliente, tendra los servicios: bacula-fd
En el diagrama tenemos un 3er servidor con el servicio NFS, considere esto un paso opcional.
Componentes Los componentes de Bacula son:
Bacula-director Es el servicio (bacula-dir ) que gestiona la l ógica de los procesos de respaldo y administra los demás servicios que componen Bacula. El servicio bacula-dir hace uso de un servicio de base de datos donde guarda información importante del servicio (Trabajos, Listas de archivos respaldados, etc. Conocido como catalogo) y esta debe estar accesible a bacula-dir . En el archivo de configuración de este servicio se especifica dónde y cómo acceder al resto de los servicios.
Bacula-storage Este servicio (bacula-sd ) es el encargado de manejar l os dispositivos de almacenamiento físicos que se usaran para resguardar los respaldos, tales como: discos l ocales, grabadoras de CD o DVD, unidades de cinta, volúmenes NAS o SAN, etc. Su fichero de configuración define los dispositivos de almacenamiento disponibles y los directores (bacula-dir ) que pueden utilizarlo.
Bacula-file Mediante este servicio (bacula-fd ) Bacula obtiene los ficheros que necesita respaldar, éste es el componente que hay que instalar en las máquinas que necesiten respaldo. Realiza la función de agente cliente.
Bacula-console Este es el cliente de administración que se conecta al bacula-dir. En el podemos realizar trabajos de restauración o ejecución de respaldos manuales, monitorear el estatus de los servicios que componen Bacula.
Instalación Empecemos con nuestra instalación.
Base de datos Todo el conjunto de elementos que forman Bacula trabaja en sincronía y es totalmente compatible con bases de datos como MySQL, SQLite y PostgreSQL. Usaremos el gestor de base de datos PostgreSQL 9.2 en donde se guardara el catalogo de archivos que se respaldan y otras variables importantes para Bacula. Instalación del servicio
Inicio automático del servicio
Iniciar las bases de datos y el servicio
Configuración del servicio
Configuraciones de acceso
Aplicar los cambios
Instalación de los componentes Instalamos los paquetes de bacula que necesitamos en el servidor
Configuración de la base de datos bacula Bacula nos ofrece scripts para configurar la base de datos para el catalogo. Estos comandos son para configurar la base de datos de bacula en Postgresql
Asignamos una contraseña al usuario bacula de postgresql
Otras configuraciones
Configuración de los componentes Los archivos de configuración se encuentran en el directorio /etc/bacula
Bacula-sd Primero empezamos con la configuración del servicio de almacenamiento, este servicio se encarga de administrar los medios de almacenamiento físicos, el archivo de configuración encuentra nombrado generalmente como bacula-sd.conf . En la sección Storage definimos opciones como el puerto del servicio, directorios donde se alojaran el PID de servicio, cola de tareas, etc. También definimos cuantos trabajos máximos ejecutara el Storage.
En esta parte definimos la contraseña con la cual bacula-dir se conectara con nuestro servicio bacula-sd .
Comentamos la siguiente sección.
En esta sección definimos las características de nuestro medio de almacenamiento. Configuramos el Device con el nombre de DiscoNFS , sera un medio de almacenamiento de tipo File (este tipo pueden ser medios externos de almacenamiento montados en el sistema).
Punto de montaje NFS
Como parte de la arquitectura de configuración de ejemplo montaremos un recurso compartido NFS (previamente configurado) en /mnt/backups que nos servirá para guardar los respaldos.
Considere esto un paso opcional, usted puede solo usar un directorio valido de su sistema para alojar l os respaldos. Bacula recomienda instalar el servicio bacula-sd en un servidor standalone.
Iniciamos los servicios
Habilitamos los servicios
Montando la carpeta NFS
Si no tenemos ningún problema procedemos a editar el archivo fstab para que el sistema monte la carpeta al iniciar.
Bacula-dir Ahora empezaremos la configuración del Bacula director, este se encuentra nombrado como bacula-dir.conf , en este archivo encontraremos las siguientes opciones para configurar. En la sección Director dentro del archivo de configuración, configuramos el máximo de trabajos concurrentes y la contraseña para bacula-dir (Esta contraseña se usa para conectarse desde la consola de administración, bconsole).
La sección FileSet es donde se define los archivos y directorios que se respaldaran, así como los que serán excluidos, se puede declarar mas de un FileSet .
FileSet es requerido en la definicion Job.
jahrmando Blog de Jesús Armando Uch DEV • SYSADMIN • LINUX
Acerca de
Vamos a declarar un FileSet con el nombre Linux Set , este tendra un cifrado de tipo SHA1 e ira comprimido con GZIP.
Bitacora
Archivo Contacto
En la sección Schedule, se especifica el tipo, fecha y hora en que se realizara los trabajos de respaldo. En la variable Run definimos primero el tipo de respaldo (completo, diferencial o incremental) y después su ciclo de ejecución (definido tipo crontab).
Schedule es requerido en la definición Job.
Definamos un schedule con el nombre CicloServidores que ejecutara un tipo de respaldo completo (Full ) todos los primer domingo de cada mes, ejecutara un respaldo diferencial (Differential ) a partir del segundo al quinto domingo de cada mes y un respaldo incremental de lunes a sábado (Incremental ); todos las tareas se ejecutan a las 23 horas.
En la sección Storage se configura las credenciales del servicio de almacenamiento (baculasd ). También se define el dispositivo (device) donde se realizará el respaldo.
Configuramos el Storage con el nombre LocalStorage, configuramos las credenciales de acceso, dirección de red y el dispositivo que configuramos en bacula-sd .
En la directiva Address es importante no usar localhost o la ip 127.0.0.1, si tienes corriendo el servicio bacula-sd en el mismo servidor del bacula-dir (como es nuestro caso) usa la IP LAN o nombre de dominio asignado al servidor.
En la sección Catalog definimos la base de datos que previamente configuramos en PostgreSQL. Le asignamos el nombre MiCatalogo y configuramos los accesos.
El recurso Pool define el conjunto de volúmenes asociados a un trabajo ( Job), es decir es una agrupación de volúmenes de respaldo que se asocian a un trabajo.
Como buena practica podemos crear un Pool por cliente.
Creamos un Pool con el nombre PoolCliente01 y configuramos de la siguiente forma.
Ahora en la sección Client se define al cliente (bacula-fd ), aquí se especifica las credenciales que se utilizara para conectarse, también se define la política de retención de datos y procesos/trabajos.
Y por ultimo (y no menos importante) el recurso Job, aquí se define un trabajo de respaldo ó restauración y se definen otros atributos como bajo que cliente se realizará el respaldo (Client ), el conjunto de datos a respaldar (FileSet ), el esquema de agrupación de los volúmenes (Pool ), los horarios de ejecución ( Schedule) y donde se almacenaran los datos físicamente (Storage). Para cada cliente debemos generar dos tipos de Job: Backup. Respaldo Restore. Restauración También existe el sección JobDefs que nos sirve como una plantilla para usar en los Job, esto es util porque aveces entre los Job pueden compartir ciertos parámetros y no seria necesario declararlos en todos.
En la variable Where del JobDefs “RestoreServerLinux ” es donde señalamos en que directorio del cliente se va restaurar los archivos.
Firewall Tenemos que abrir los puertos de los servicios bacula-dir (9101) y bacula-sd (9103) en protocolo TCP. Iptables:
Firewalld:
Bacula-fd (Cliente) Una vez terminado con la configuración del director y haber declarado los clientes que se conectaran para ser respaldados procedemos a instalar en los clientes (bacula-fd).
Instalación La instalación de Bacula-fd es diferente entre el centos 6.x y 5.x, esta radica en que en CentOS 5.x no se encuentra en los repositorios conocidos y se tiene que i nstalar desde las fuentes.
En Centos 6.x, 7 En centos 6.x y 7 podemos encontrar bacula-fd desde los repositorios base, esto hace mas rapida la instalación y configuraciones del cliente. Instalación del servicio
En Centos 5.x Como se menciono anteriormente en CentOS 5.x realizaremos la instalación desde la fuente de binarios. Haremos los siguiente: Instalación de compiladores al sistema.
Descargamos las fuentes de Bacula y descomprimimos la fuente.
Nos cambiamos al directorio donde descomprimimos las fuentes, creamos una variable de sistema CFLAGS que nos servirá en la compilación y después procedemos a configurar la instalación y compilar.
Configuraciones de arranque del servicio bacula-fd.
Agregar la siguiente linea: en el archivo /etc/init.d/bacula-fd
Configuración La configuración están en bacula-fd.conf . Aquí definimos una clave de acceso para el cliente. Agregamos la contraseña que definimos en la sección Client del bacula-dir .
Se comenta esta sección.
Activando el servicio. En CentOS 7
En CentOS 6.x y 5.x
Firewall Configuraciones de firewall, abrimos el puerto 9102.
Iptables
Firewalld
Bacula-console (Consola) Existen varias opciones para administrar Bacula, una de ellas es por medio de bconsole, donde por medio de lineas de comando interactuamos con bacula-dir . Este programa la tenemos que instalar desde el equipo donde tengamos pensado realizar las tareas de administrador, no necesariamente se tiene que alojar en el servidor. Instalación desde repositorios. (RHEL, CentOS, Fedora)
En su archivo de configuración agregamos la contraseña de acceso de bacula-dir que definimos anteriormente.
Administración básica Generar un respaldo manualmente
Las tareas de respaldo se irán generando automáticamente de acuerdo a las tareas que se definieron en la configuraciones del servicio bacula-dir.
Generar una restauración Las restauraciones se pueden realizar desde varios puntos o imágenes de archivos que se hayan generado.
Mas información bacula.org server-world.info #howto #centos
« prev
#bacula
next »