Backup de Veeam a disco USB rotativo en NAS

Hola nuevamente, tras un periodo de relax, volvemos a la carga. Hoy vamos con un workarround a un serio problema de algunos NAS de ciertas marcas como Synology y Qnap.

El problema de estos aparatos es que por cada usb que pinchas, crea un share, ID, nombre, … o lo que sea diferente.

Cuando quieres pasar el contenido del NAS a un USB por motivos de seguridad, configuras un trabajo backup con la aplicación que trae el nas. Puedes darle un origen y un destino. Como cada USB tiene una identificación distinta, tienes que crear una tarea por cada USB que tengas.

Eso hace que tengas que lanzar las tareas a mano, tocar las tripas del NAS o tener siempre tareas fallando porque el destino no está conectado.

Es increíble que productos de esta calidad no permitan hacer algo tan sencillo como copiar parte de su contenido a discos USB que se rotan. Algo que, por ejemplo, los NAS Netgear hacen desde hace años (aunque fallan en muchas otras cosas)

Lo que vamos a hacer es que el servidor de Veeam haga un backup directamente al USB pinchado al NAS, que sea capaz de determinar que USB esta pinchado y que automáticamente lance la tarea que corresponde

Para esto, lo primero que tenemos que hacer es crear un repositorio por cada usb que tengamos

Backup de Veeam a disco USB rotativo en NAS Synology y Qnap - Mensaje (HTML) _2

Por cada usb creará un share, que generalmente necesita credenciales de acceso. Es importante tener esto controlado, ya luego vamos a necesitar poder acceder

En las opciones avanzadas indicamos que los discos van a rotar

Backup de Veeam a disco USB rotativo en NAS Synology y Qnap - Mensaje (HTML) _3

Una vez tenemos los repositorios, creamos una tarea de backup por cada USB. En cada tarea ponemos como destino repositorio USB que le toca

Backup de Veeam a disco USB rotativo en NAS Synology y Qnap - Mensaje (HTML)

Vale, pues ya solo nos queda que se lance la tarea que toque cada vez

Para esto nos toca tirar de powershell

Creamos un script similar al siguiente:

Add-PSSnapin VeeamPSSnapIn                                 

 

Get-VBRBackupRepository -Name USBDISK1-EXT | Sync-VBRBackupRepository

Start-Sleep -s 30

start-vbrjob BackupUSB1 -FullBackup

 

exit

 

Lo que estamos haciendo es cargar el snapin de Veeam al powershell de Windows

La siguiente línea escanea el repositorio, para que Veeam lo vea online

Una pausa de 30 segundos

Lanzamos la tarea

 

Lo guardamos como USB1.ps1, y creamos un script similar por cada USB, cambiando el nombre del repositorio y de la tarea. Guardamos cada script con un nombre identificativo

Ahora vamos a hacer que detecte que usb esta pinchado.

Para eso creamos el siguiente script:

 

if exist \\128.1.1.27\USBDisk2 goto:20

if exist \\128.1.1.27\USBDisk1 goto:10

:20
Powershell.exe -executionpolicy remotesigned -File  C:\script\USB2.ps1
exit

:10
Powershell.exe -executionpolicy remotesigned -File  C:\script\USB1.ps1
exit

 

 

Esto lo que hace es chequear si la ruta existe, y si es así, lanza el script de powershell correspondiente

Para automatizar el proceso, creamos una tarea programada de Windows

editar-entrada-aprendiendo-a-virtualizar-wordpress-mozilla-firefox

Es importante que el usuario que ejecuta la tarea programada pueda acceder al share del nas, ya que de lo contrario no funcionará

 

Y eso es todo

 

Podría automatizarse aún más, de modo que solo hubiese una tarea y que los repositorios se crease automáticamente, pero eso provocaría que en caso de fallo, quedasen tareas o repositorios huérfanos, así que mejor mantenerlo simple

 

Esperemos que los nas permitan hacer algo similar en breve, y no tengamos que recurrir a estas historias.

 

Quique

 

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.