Hoy vamos con un tema un poco raro, sucede aleatoriamente con varias versiones de Veeam, vSphere y Windows
No sucede siempre, pero en los casos en los que pasa, tiende a repetirse
El problema son trabajos de réplica, que tras funcionar correctamente, empiezan a tardar mucho en hacerse (incluso días)
Si vemos el informe de la tarea de Veeam, veremos algo similar a esto
En principio, vemos que no procesa los discos de las mv por hot add, sino que falla y pasa a network mode
Este puede ser un fallo muy genérico, con múltiples causas.
El problema que vamos a tratar en este post es debido a que el proxy server es virtual y tiene una réplica. El entorno se confunde e intenta utilizar la réplica en lugar de el proxy.
El modo de detectar esto es mirando las tareas en el vsphere client. Se ve en los logs que durante el trabajo de réplica, continuamente está reconfigurando la réplica del proxy en lugar del proxy. Si esto no sucede, el problema puede ser otro
Cuando Veeam está haciendo Backups o replicas, realiza una serie de operaciones. Cuando va a procesar los discos de las mv que va a copiar, realiza unas configuraciones (conexión de discos, snapshots….) en el proxy que se encarga de la operación. Al parecer para identificar al proxy encargado, utiliza un parámetro que tienen todas las mv, el uuid, que es una especie de identificación de “hardware”
Esta uuid se supone que es única, pero si creamos una réplica de un mv, esta tendrá el mismo uuid
Esto plantea dudas, como porque esto solo da problemas con las réplicas o de que software es responsable de esto. Tras tratar el tema con soporte de Veeam y pegarme con ellos, no ofrecen una solución a parte de no hacer replica de los backup proxy. Esto está muy bien en entornos grandes o con pocas estrecheces presupuestarias, pero en otros casos, tener una o dos licencias de Windows solo para Veeam es un lujo que no podemos permitirnos, y el servidor de Veeam también hace otras cosas. A parte de la rapidez que ofrece una réplica en caso de que el servidor de Veeam se vaya al garete
En fin, tras un pequeño emorage, hemos creado un workaround para evitar este problema
Ya que soporte de Veeam indica que el problema está en la uuid, vamos a cambiar la uuid de la réplica.
Para ello tenemos que tener instalado PowerCli en una maquina
Nos conectamos al Vcenter
Una vez conectado obtenemos el uuid del proxy (o la réplica) con este comando
Get-VM srvveeam | %{(Get-View $_.Id).config.uuid}
Lo apuntamos y abrimos un notepad. Pegamos el siguiente código, modificado con los datos de nuestra instalación
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer vcenter -user «administrator@vsphere.local» -password «password»
$VMs = get-vm SRVVEEAM_replica
foreach ($vm in $VMs){
$newUuid = «42 3c d3 88 8d d8 f2 3d-77 52 8b 28 44 f9 ec 00»
echo “VM: ” $VM.name “New UUID: ” $newuuid
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.uuid = $newUuid
$vm.Extensiondata.ReconfigVM_Task($spec)
start-sleep -s 2
}
disconnect-VIServer -confirm:$false vcenter
exit
En el campo $newuuid ponemos el uuid que hemos obtenido antes, con el formato que se indica y cambiando los 2 últimos dígitos
Lo guardamos como changeuuid.ps1
Este código lo he fusilado de este otro post, con unas pequeñas modificaciones
http://www.derekseaman.com/2010/10/making-your-vmware-vm-uuids-unique.html
Abrimos otro notepad, y pegamos el código de abajo
Powershell.exe -executionpolicy remotesigned -File C:\scripts\changeuuid.ps1.
Lo guardamos como .bat
Ahora programamos una tarea de windows para que ejecute el bat antes de la tarea de réplica, con lo cual, cuando se ejecute el trabajo de réplica, la mv ya tendrá un uuid distinto
He intentado hacerlo funcionar con pre/post tarea del trabajo de Veeam, pero por algún motivo no funciona, supongo que algún tema de permisos. Si conseguís hacerlo, comentádmelo en mi twitter @enralosah y lo añadiré al post
En realidad, por lo que he visto, no cambia la uuid cada vez que hace la réplica, solo cuando la crea por primera vez. Lo pongo como tarea programada por si hay que regenerar la réplica en algún momento.
Como esto es un workaround, os agradecería cualquier comentario si os toca aplicarlo, ya que hasta ahora ha funcionado donde lo hemos probado, pero estaría bien saber si a alguien no le funciona
Bueno, esto es todo por hoy
Saludos
Quique