lunes, agosto 03, 2009

rsync y dos puntos dos puntos

Por falta de licencias (dinero) del software de backup en el sistema propietario (cuestiones de alta política de los grandes Trutrus) que utilizamos en el trabajo, existen unos cuantos servidores que se quedan sin cliente de backup para que sean integrados con NetWorker, que es el producto que utilizamos.

Para ello, hemos ideado una serie de scripts un script que utiliza el rsync para hacer la labor del backup cuasi mágica. Las tareas para añadir un nuevo cliente 'rsync' quedan reducidas a configurar rsync en el servidor que queremos respaldar y agregar una nueva línea con el nombre del servidor en un fichero de nodos-clientes que mantiene la lista de todos los servidores de los que hacemos rsync.

La labor de este script es conectarse al servidor, recuperar su lista de saveset (modulos rsync) y traérselos a un volumen de datos de una SAN/SAS de NetApp. El secreto de que funcione todo bien esta en una línea que recupera el listado de saveset [rsync servidor::] y filtrarla con el comando sed. El script incluye funciones de log y notificaciones a nagios mediante nsca para cada saveset. La copia va a cinta utilizando el protocolo NDMP.

Es posible, sin mucha complicación, configurar el ancho de banda por saveset y el paralelismo del número de savesets simultáneos que se lanzan, con sólo tocar dos líneas y agregar un fichero de control con el número de rsyncs activos. El rsync tiende a consumir el máximo ancho de banda posible, así que seguro que me pedirán esa modificación. Es más este paralelismo, pude ser aplicado a nivel de grupo, manteniendo varias listas en función del ancho de banda para cada grupo (conjunto de servidores). Igualito que el software propietario que utilizamos.

Para la recuperación, nos traemos los datos al volumen de la netapp distinguiendo nombre del servidor y saveset concreto a recuperar, utilizando una única licencia de NetWorker para todos esos servidores.

La necesidad agudiza el ingenio.

No hay comentarios:

Publicar un comentario