PowerShell: Pausar y Reanudar la replicación de nuestras máquinas virtuales
En algunos casos vamos a necesitar pausar la replicación de las máquinas virtuales (Replicar MV en Hyper-V con Windows Server 2012), como por ejemplo lanzar nuestras tareas de backup sobre los VHD de las máquinas virtuales. A día de hoy existen múltiples herramientas de backup con agentes para este tipo de tareas, lo que nos permite en muchos casos realizar estos backups con las máquinas en ejecución. Pero seguramente más de uno tendremos un software de backup que no tiene soporte para Windows Server 2012 o bien el fabricante aun no ha sacado al actualización correspondiente. Esto puede causarnos un gran problema si nuestras máquinas virtuales deben estar operativas el 100% de su tiempo, pero si hemos implementado la replicación de máquinas virtuales con Windows Server 2012 podemos copiar los ficheros VHD de la máquina que recibe las réplicas. Esto nos permite realizar con garantias el backup de las máquinas y no tener que parar las máquinas de producción. Sin entrar en detalles de como se realizaria un backup de estas máquinas virtuales con distintas herramientas, voy a mostraros un scripts súper sencillo para pausar las la replicación de las máquinas virtuales, lo que nos permtirá copiarlas con total garantías a la hora de tener que recuperar alguna máquina. Además, de evitar errrores de sincronización de las máquinas virtuales.
Con PowerShell podemos hacer prácticamente cualquier cosa, por no decir cualquier cosa. Pero ahora vamos a centrarnos únicamente en como pausar y reanudar la tarea de replicación de las maquinas virtuales. Primero vamos a visualizar el estado de la replicación de las máquinas virtuales, para ello escribimos el siguiente comando: Get-VMReplication
Como podemos observar todas la máquinas virtuales se están replicando correctamente, ahora vamos a pausar la replicación una máquina, para ello debemos ejecutar el siguiente comando: Suspend-VMReplication nombre_máquina
SINTAXIS
Suspend-VMReplication [-VMName] <string[]> [-PassThru] [-ComputerName <string[]>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Suspend-VMReplication [-VMReplication] <VMReplication[]> [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
Suspend-VMReplication [-VM] <VirtualMachine[]> [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
Como vemos ya tenemos “suspendida” la replicación de la máquina virtual, si ahora queremos volver a replicar la máquina virtual debemos escribir el siguiente comando: Resume-VMReplication nombre_máquina
Resume-VMReplication [-VMName] <string[]> [-ResynchronizeStartTime <datetime>] [-Resynchronize] [-AsJob]
[-PassThru] [-ComputerName <string[]>] [-WhatIf] [-Confirm] [<CommonParameters>]
[-AsJob] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
[-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
Como vemos es muy sencillo y rápido, por lo que ahora lo único que nos quedaría es crear dos scripts, uno para para las máquinas virtuales y otro para iniciarlas. Vamos a ver uno súper sencillo, directamente un CMD:
1. Pausar la replicaciónde las máquinas virtuales: pausar-rpl.cmd
2. Reanudar la replicación de las maquinas virtuales: reanundar-rpl.cmd
Espero que os sea de utilidad!!!