Cómo configurar Amanda

Imagen de Manu

Tema: 

Cómo configurar Amanda

AMANDA, the Advanced Maryland Automatic Network Disk Archiver, es un sistema de respaldo que permite a los administradores de red establecer un servidor de respaldos, para respaldar múltiples hosts en una sóla unidad de cinta de alta capacidad. Amanda puede utilizar “dump” nativo o GNU-tar, para respaldar varios hosts ejecutando versiones diferentes de Linux/Unix.

El siguiente procedimiento ilustra cómo configurar un servidor de respaldos(o al menos cómo lo conifiguré yo), mediante Amanda, una unidad de cinta IBM Ultrium Lto2, pero a diferencia de los parámetros del tipo de cinta y el nombre del dispositivo, el procedimiento es el mismo para cualquier unidad tape.

Es necesario determinar los dispositivos tape con capacidad para rebobinar y sin capacidad para rebobinar, en mi caso la información es la siguiente:

Dispositivo tape con capacidad para rebobinar(rewind): /dev/IBMtape0
Dispositivo tape sin capacidad para rebobinar(no-rewind): /dev/ IBMtape0n

Para determinar dicha información, refiérase a la guía de instalación de su tape.

Instalación de los paquetes necesarios.

Los siguientes paquetes son requeridos para ejecutar Amanda:
amanda El paquete base
amanda-server El servidor
amanda-client El cliente
gnuplot Herramienta adicional para uso con amplot(generación de estadísticas)

Se pueden instalar mediante yum:

yum install amanda amanda-server amanda-client gnuplot

En Debian se lo puede hacer mediante aptitude:

aptitude install amanda amanda-server amanda-client

Esto creará el directorio /etc/amanda, también creará una configuración de ejemplo bajo el directorio DailySet1, que es la que ajustaremos a nuestras necesidades.

Determinando el tipo de Cinta.

Si no conocemos los parámetros de la cinta que vamos a utilizar, podemos ayudarnos del comando amtapetype para identificar sus parámetros:

amtapetye –f /dev/IBMtape0n

El comando tomará algún tiempo, dependiendo del tamaño de la cinta y la velocidad de la unidad tape. Una vez concluido el test de la cinta, le devolverá algo parecido a lo siguiente:

define tapetype unknown-tapetype{
comment "Unknown tapetype(Hardware Compression on)"
length 182077 mbytes
filemark 216 kbytes
speed 2547 kbps
}

Con esto crearemos la definición para nuestra cinta.

Editamos el archivo /etc/amanda/DailySet1/amanda.conf

Nos desplazamos hasta la sección “tapetypes” e insertamos la definición de nuestro tape, yo he cambiado los valores unknown-tapetype y comment para dejarlo de la siguiente forma:

define tapetype UltriumLto2{
comment "Unidad de cinta Ultrium Lto2 IBM (Hardware Compression on)"
length 182077 mbytes
filemark 216 kbytes
speed 2547 kbps
}

También cambiaremos los siguientes parámetros:

org “Respaldo Diario S.A” # El nombre de la Organización, es como aparece en los reportes.

malito “respaldo@respaldodiario.com” #La dirección de correo donde se enviarán los resultados de la ejecución de amanda.

inparallel 4 #El número de procesos de respaldo que se pueden ejecutar al mismo tiempo.

netusage 600 Kbps # La velocidad máxima utilizada por amanda en KB por segundo.

dumpcycle 7 #El número de días que dura el ciclo de respaldo.

runspercycle 5 # El número de ejecuciones del proceso de respaldo dentro del ciclo.

runtapes 1 # El número de tapes que se utilizarán durante 1 ejecución del proceso de respaldo.

tapedev "/dev/IBMtape0n" # El dispositivo de respaldo sin capacidad para rebobinar.

tapetype UltriumLto2 #El nombre de la definición de cinta que insertamos previamente.

labelstr "^DailySet1[0-9][0-9]*$" #La cadena utilizada para etiquetar los tapes, con esto establecemos que todos los tapes tendrán etiquetas que comiencen con “DailySet1” y que deberán tener dos caracteres numéricos adicionales.

Guardamos los cambios y cerramos el archivo.

Creando la lista de hosts a Respaldar.

Es hora de definir los hosts y las particiones o directorios que se desean respaldar, para esto editamos el archivo /etc/amanda/DailySet1/disklist

Al final del archivo agregamos los hosts que deseamos que se respalden, amanda trae como ejemplo localhost, que sirve para efectos de prueba. La forma como se deben agregar es:

nombrehost partición dumptype

Ej:

localhost /etc comp-root-tar
amandaserver.respaldo.com /algundirectorio root-tar

Los dumptype(tipo de volcado) están definidos en el archivo amanda.conf, y establecen ciertos parámetros como el tipo de compresión, si hará uso o no de los holding disk, el programa que utilizará para comprimir, etc, si leemos un poco los ejemplos, es fácil crear uno personalizado.

Definiendo áreas de almacenamiento temporales

Amanda puede hacer uso de un área de almacenamiento temporal de los ficheros, antes de enviarlos directamente al tape, a esto se denomina “holding disk”, los podemos definir a nuestra conveniencia en el archivo amanda.conf, por defecto amanda define uno que apunta hacia /var/tmp.

Autenticación.

Es necesario definir cómo se ejecutarán los procesos de amanda, para esto:

su – amanda

editamos el archivo .amandahosts, y agregamos las siguientes líneas:

amandasever.respaldo.com amanda
amandaserver.respaldo.com root

La primera línea sirve es para el cliente amanda que se ejecuta de manera local, y la segunda es para el acceso root mediante el comando amrecover.

Etiquetando las cintas

Es una muy buena costumbre ir etiquetando los tapes de forma que en caso de que se te olvide cambiar la cinta o si insertamos la cinta equivocada, amanda informará que se está usando la cinta equivocada y cancelará el proceso.

Para etiquetar una cinta se utiliza el comando amlabel, su sintaxis es:

amlabel [-f] config label [slot slot]

Le proporcionaremos los parámetros config que es el nombre de la “configuración”, amanda guarda las configuraciones en /etc/amanda en forma de directorios, en nuestro caso es el directorio DailySet1.

También proporcionaremos la etiqueta que queremos ponerle, ésta debe seguir la expresión almacenada en el parámetro labelstr, del archivo amanda.conf

En nuestro caso definimos que las etiquetas tendrán el prefijo “DailySet1” y le seguirán dos caracters numéricos:

su amanda -c “/usr/sbin/amlabel DailySet1 DailySet101”

Comprobando la configuración.

Para comprobar que todo lo hecho funcionará, ejecutamos amcheck como el usuario amanda:

su amanda –c “/usr/sbin/amcheck NombreConfiguración”

Ejemplo:

su amanda –c “/usr/sbin/amcheck DailySet1”

Si todo está correcto, Amanda informará que se han encontrado 0 problemas.

Ejecutando la copia de respaldo

Es hora de poner en marcha nuestra configuración, la copia de seguridad se ejecuta mediante amdump:

su amanda –c “/usr/sbin/amdump NombreConfiguración”

Ejemplo:

su amanda –c “/usr/sbin/amdump DailySet1”

Para ejecutarlo en background utilizar &

Recuperación de la copia de Respaldo.

Para recuperar la copia de respaldo, se utiliza amrecover como usuario root:

mkdir /restore
cd /restore
amrecover

Aparecerá un nuevo “shell” para amanda recover,

Para obtener ayuda sobre los comandos disponibles digitar ? y presionar enter.

Básicamente se tiene que:

  • Establecer el punto de montaje establecido en el archivo disklist mediante setdisk: setdisk /algundirectorio
  • Listar los contenidos mediante ls
  • Navegar por la estructura de directorios mediante cd
  • Agregar los archivo que queremos restaurar a la lista de recuperación: add nombrearchivo
  • Extraer el(los) archivo(s): extract

Problemas encontrados

Un problema que se me presentó es que no se encontraba el archivo /etc/amanda/DailySet1/tapelist, lo cual se soluciona fácil con:

touch /etc/amanda/DailySet1/tapelist

Otro problema puede ser la autenticación, después de modificar el archivo .amandahosts, para esto:

service xinetd restart

Reutilizando las cintas.

En caso de que se necesite reutilizar una cinta, se lo puede hacer eliminando la etiqueta, y volviendo a etiquetarla:

su amanda –c “/usr/sbin/amrmtape DailySet1 DailySet101”
su amanda –c “/usr/sbin/amlabel DailySet1 DailySet101”

Programando la copia mediante crontab.

Normalmente las copias de seguridad deben ejecutarse a una hora apropiada, ya que generan una carga importante en el rendimiento del disco, esto a menos que se tenga un servidor exclusivamente para respaldos, cosa que casi no sucederá en un ambiente real de trabajo. En este caso programaremos amanda para que se ejecute a la una de la mañana:

crontab –e

Agregamos las siguientes líneas:

1 1 * * 1,2,3,4,5 su amanda -c "/usr/sbin/amcheck DailySet1"
2 1 * * 1,2,3,4,5 su amanda -c "/usr/sbin/amdump DailySet1"

Esto hará que a la 01:01 am se ejecute amcheck, y a la 01:02 se ejecute amdump.

Extendiendo la funcionalidad mediante Samba

En mi caso he requerido respaldar la información de algunos servidores Windows, para esto simplemente en el servidor amanda, he configurado samba, agregando algunos directorios sobre los cuales puede escribir un usuario Windows, en los cuales almaceno la información que deseo salvaguardar.

Por hacer...

La configuración que se presenta en este documento, funciona sobre un solo equipo: el servidor, faltaría agregar unos cuantos hosts remotos, agregando la información de autenticación en el cliente y en el servidor(.amandahosts), para respaldar múltiples equipos.

Referencias:
http://www.amanda.org/
http://www.backupcentral.com/amanda.html
http://www.harkness.co.uk/services/backup.html

Comentarios

Hey...

Imagen de kfirmad Kronsage

¿podría servir para hacer algo como el active directory del lado oscuro?

Necesito hacer algo así para gestionar mis usuarios de red pero me niego a tener tratos con el diablo :sick:

----------------------------
Cada día más Grande... y no lo detiene nadie!!

Lo que tú necesitas es

Imagen de Manu

Lo que tú necesitas es configurar un servidor ldap, en Linux esto se llama OpenLdap, puedes conseguir mucha información al respecto en google, aquí te pongo algunos resultados conseguidos:

http://www.ecualug.org/?q=comment/reply/5171/9538
http://www.openldap.org/http://www.openldap.org/
http://bulma.net/body.phtml?nIdNoticia=1343

Si consigues hacerlo, sería chévere que lo documentes y lo compartas con la comunidad.

Hasta la próxima.

Si claro... por ese lado sé

Imagen de kfirmad Kronsage

Si claro... por ese lado sé que hay que hacer una combinación de openLDAP y Kerberos, pero el asunto va en primer lugar que mis usuarios son windowseros (supongo que no habrá problemas ya que tenemos samba) y en segundo porque esto no está esrandarizado, además que no solo quiero tener una libreta de direcciones, sino una real gestión de usuarios de red, donde pueda tener máximo control, poder guardar en el servidor todas las configuraciones para que no me muevan ni una sola configuración...

Quisiera llegar a ese nivel (el active directory del lado oscuro lo hace) pero he buscado mucho y no hay algo que s ele parezca en GNU/Linux :(

----------------------------
Cada día más Grande... y no lo detiene nadie!!

Bueno Amanda te sirve para

Imagen de Manu

Bueno Amanda te sirve para hacer backups, no serviría para lo que necesitas, en algún documento encontré que la versión 4 de samba traería muchas mejoras en el manejo de ldap, para lograr algo como el active directory, de momento tocaría esperar, parece que falta bastante todavía.

Hasta la próxima.

Hola Manu, tengo el

Imagen de magozolutions

Hola Manu, tengo el siguiente error:
ERROR: localhost: [could not access /dev/root (/): Permission denied] Client check: 1 host checked in 10.042 seconds, 1 problem found
A lo que termino de configurar amanda me salen esos errores, ya puse en .amandahosts a root pero me sale el mismo problema y tb reinicie el servicio, agradeceria si me puedes ayudar

Tip

Imagen de Manu

Tip
Para hacer pruebas del funcionamiento se pueden hacer 2 cosas:

1.- Utilizar un vtape(virtual tape), que permite mandar la salida de amdump hacia un archivo.

2.-Para evitar que la grabación se ejecute en la cinta, se puede agregar el parámetro no-record en los dump-types(amanda.conf)

Hasta la próxima.

lo solucione de la manera

Imagen de magozolutions

lo solucione de la manera más rapida y facil, al archivo /dev/root, le puse permisos de rw para el grupo disk que pertenece el amanda y se arreglo el problema, en algunos post decian que era lo más rapido, hay que esperar como sale el respaldo de hoy ;)

Gracias por tu acotación,

Imagen de Manu

Gracias por tu acotación, se me olvidó explicar que el usuario bajo el que se ejecuta amanda debe pertenecer al grupo "disk": el grupo que tiene acceso a los dispositivos raw.

En cuanto tenga unos segundos actualizaré el documento con más tips y recomendaciones que voy encontrando.

Por otro lado, para probar el respaldo, no debes esperar a la programación, puedes ejecutar el comando amdump manualmente el momento en que lo necesites, y luego simplemente borras la etiqueta del tape y la vuelves a etiquetar, y listo, el tape que reutilizable nuevamente antes del ciclo completo de respaldo.

Hasta la próxima.

Páginas