Saludos amigos, hace unos días os contaba cómo instalar, administrar y configurar Microsoft SQL Server sobre Ubuntu 16.04, y obviamente con este movimiento se nos abren una infinidad de posibilidades, la que hoy os traigo es un escenario en el que tenemos una nueva instalación de Veeam Backup and Replication v9.5 U3, y donde para la parte de Base de Datos hemos seleccionado este nuevo Microsoft SQL Server sobre Linux.
Diagrama del entorno
La topología lógica del escenario sería el siguiente:
Este escenario no está soportado por Veeam, con lo que es importante solo probarlo para laboratorios y demos, los requisitos oficiales de Veeam para base de datos SQL están aquí:
Comparativa entre SQL sobre Windows y SQL sobre Linux, a nivel de Veeam
En esta tabla os cuento un poco lo que he conseguido analizar en mis pruebas, no es una respuesta o comparativa oficial, solamente el resultado de estos tests:
| Funcionalidad | SQL Windows | SQL Linux |
|---|---|---|
| Instalación de VBR 9.5 U3 | ● | ● |
| Agregar, editar y configurar Host o Clúster (vSphere o Hyper-v) | ● | ● |
| Agregar, editar y configurar un Backup Repository | ● | ● |
| Agregar, editar y configurar un Scale-out Backup Repository | ● | ● |
| Agregar, editar y configurar WAN Accelerator | ● | ● |
| Agregar, editar y configurar Service Providers | ● | ● |
| Agregar, editar y configurar Storage Integrations | ● | ● |
| Crear, configurar, editar y lanzar un trabajo de Backup | ● | ● |
| Crear, configurar, editar y lanzar un trabajo de Backup Copy | ● | ● |
| Crear, configurar, editar y lanzar un trabajo de Replica | ● | ● |
| Proteger la VM de SQL usando Guest Processing | ● | |
| Recuperar granularmente SQL usando Veeam Explorer para SQL | ● |
Instalación personalizada de Veeam Backup and Replication v9.5U3
Comenzaremos el proceso de instalación como normalmente solemos hacer y llegados al punto de configuración, marcaremos el checkbox “Let me specify different settings” y Next
Seleccionaremos la cuenta de servicio para que los servicios de Veeam se ejecuten en Windows, en este caso he dejado las de por defecto:
En este paso, que es el más importante, introduciremos la IP del Servidor de Microsoft SQL que se ejecuta sobre Linux, con un usuario con privilegios para crear bases de datos, tablas, etc, en mi caso he seguido la mala práctica de usar el usuario de superadmin:
En la parte de puertos, podemos dejarlos por defecto, no vamos a tocar nada de esto:
Igual para vPower NFS y Guest file system catalog, ambos recomiendo que sean sobre SSD si queremos luego minimizar el tiempo de recuperación de VMs usando Veeam, pero eso da para otro post:
Una vez hemos acabado, ya podemos ver los nuevos valores, y podemos presionar Install:
El proceso tardará lo que normalmente tarda la instalación de Veeam, unos 15-25 minutos: 
Realizando pruebas en el entorno
Llega la hora de las pruebas, para comprobar si el SQL sobre Linux tiene alguna limitación o si hace inestable Veeam, para este ejemplo he creado una tarea simple y añadido una VM, y se ha ejecutado sin problemas: 
Realizando un Backup de la VM con Microsoft SQL sobre Ubuntu 16.04
No podría ser de otra manera, la prueba de fuego es realizar un backup de la VM de Ubuntu, y ver cómo y qué podemos restaurar usando este método, el backup se ha realizado sin problema:
Sin embargo a la hora de querer usar el Veeam Explorer for Microsoft SQL Server, al querernos solicitar una cuenta de Windows, pero una SQL sobre Linux veremos esto:
Y posteriormente esto:
Además al ser una VM Linux y no Windows, no podremos usar la integración de Veeam y SQL en la tarea de copia de seguridad usando Microsoft VSS, ya que el Sistema Operativo es Linux, claro.
Realizar un FLR (file level restore) para la VM Linux
Hemos visto que al no tener VSS de Microsoft, no podemos jugar con el Veeam Explorer para Microsoft SQL, pero al menos siempre podemos hacer un FLR a la VM y si nos vamos hasta donde se almacena la información:
/var/opt/mssql/data
Podremos ver que tenemos todos los ficheros de bases de datos, que podríamos posteriormente restaurar.
De todas formas, recomiendo encarecidamente que si optáis por poner SQL sobre Linux, hagáis Backups programados con Scripts, para conseguir backups de las bases de datos consistentes.
Una mirada hacía el futuro
Si miramos un poco más a este nuevo modelo, creo que estaría bien para empezar a poner esto en producción:
- Lo primero sería que Veeam soporte de manera nativa este SQL sobre Linux, ya que como digo de momento solo es para jugar.
- Lo segundo sería crear un Always On Availability Group para Microsoft SQL en Linux
- Que Veeam añada la funcionalidad de poder proteger de manera granular este SQL, tanto en backup como en restore, sin necesidad de usar el FLR, perfecto para VM y para VAL (Veeam Agent for Linux)


Leave a Reply