Introduzione

Come abbiamo già potuto constatare nel precedente articolo, la replica di Hyper-V in Windows server 2012 è senz’altro una delle funzionalità più interessanti del nuovo sistema operativo server di Microsoft.

Vedremo in seguito come questa utilissima funzione consente appunto di replicare una o più macchine virtuali (VM) da un server (host) su cui è in esecuzione il ruolo di Hyper-V ad un altro.

Si è volutamente specificato “una o più VM” perché l’amministratore può scegliere, in fase di configurazione e in modo estremamente granulare, su quali e quante macchine virtuali, presenti nell’host Hyper-V, abilitare la replica.

Inoltre è una soluzione ottimizzata non solo per connessioni LAN ma può efficacemente funzionare anche su connessioni WAN particolarmente lente.

Completamente out-of-the-box, quindi già inclusa nel sistema operativo, non va comunque dimenticato che non è una soluzione di HA (alta disponibilità) ma dev’essere considerata unicamente come soluzione di Disaster Recovery

Anche per questo articolo ringraziamo Ermanno Goletto, Mario Serra e Roberto Massa.

 

Funzionamento

Il funzionamento è molto semplice: una volta abilitata la replica il server Hyper-V “primario” registra ogni scrittura su disco in un file di Log. Il server di replica, alla prima sincronizzazione, crea una macchina virtuale identica all’originale e la tiene spenta, dopodiché ogni 5 minuti (tempo NON modificabile) il server primario invia le differenze al server di replica. È possibile decidere di tenere dei Recovery Point (snapshot) che verranno creati ogni 60 minuti.

Come anticipato precedentemente il traffico è compresso e si può scegliere se farlo passare in http sulla porta 80 o criptandolo con un certificato (anche autogenerato) e farlo passare sulla porta 443 in https.

Le versioni di Windows che supportano la replica sono:

· Windows Server 2012 Datacenter

· Windows Server 2012 Standard

· Hyper-V Server 2012

È supportato anche la replica di Hyper-v in cluster.

Scenario:

image

Step 1: abilitare la replica sul Server

Per abilitare la funzione di replica sul server di destinazione aprire la console di management di Hyper-v, dalla Task pane cliccare su “Impostazioni Hyper-v”

image

Cliccare poi su image

Sulla parte di destra cliccare su “Abilita questo computer come server di replica” e scegliere se il traffico dovrà passare in http o in https

image

 

Nella parte inferiore specificare se la replica è accettata da tutti i server o se solamente da server specifici

image

Individuare la VM o le VM da replicare sul server primario, selezionarla/e. Nel task Pane cliccare su “Abilitazione Replica”

 

 

 

 

 

 

 

image

Step 2: Configurare la Replica

La procedura guidata ci consente di configurare la replica in modo molto semplice

image

In questo passaggio si deve specificare il nome del server di replica

image

Nel prossimo passaggio specificare il tipo di traffico, nel nostro caso “http”.

image

In questa schermata è possibile indicare il o i VHDx da replicare.

E’ consigliabile mettere il paging file in un vhdx separato in modo da non replicarlo ogni volta.

image

Scegliere se abilitare i punti di ripristino (Recovery point) e quanti tenerne.

Inoltre è possibile inviare delle copie incrementali delle snapshot a frequenze regolari.

image

Considerando le dimensioni che può avere una VM, la copia iniziale del VHDX può avvenire oltre che in rete, anche tramite un dispositivo di archiviazione esterno, in questo passaggio è possibile configurare il metodo che si vuol usare.

image

Giunti alla schermata di riepilogo, controllare tutti le impostazioni e premere “Fine”

image

Quasi istantaneamente sul server di destinazione si può vedere che la procedura guidata ha già creato una VM replicata che sta ricevendo la copia iniziale.

image

image

Alternativamente si può usare uno script di Powershell per configurare la replica sui due Server:

(Nell’esempio i server si chiamano rispettivamente E HYPER-V E HYPER-VR)

Set-ExecutionPolicy RemoteSigned

Invoke-Command -ComputerName KRYPTON -ScriptBlock {

Set-VMReplicationServer -ReplicationEnabled $True -ComputerName HYPER-V -AllowedAuthenticationType Kerberos -ReplicationAllowedFromAnyServer $True -DefaultStorageLocation C:\ReplicaStorage

Enable-NetFirewallRule -displayname "Hyper-V Replica HTTP Listener (TCP-In)"

}

Invoke-Command -ComputerName HYPER-V -ScriptBlock {

Set-VMReplicationServer -ReplicationEnabled $True -ComputerName HYPER-VR -AllowedAuthenticationType Kerberos -ReplicationAllowedFromAnyServer $True -DefaultStorageLocation C:\ReplicaStorage

Enable-NetFirewallRule -displayname "Hyper-V Replica HTTP Listener (TCP-In)"

}

Per La sintassi del commando Set-VMReplicationServer fare riferimento al seguente link: http://technet.microsoft.com/en-us/library/hh848598.aspx

Controllare lo stato del Server di Replica

È possibile controllare lo stato di salute di una replica sia in modalità grafica che tramite comando Powershell.

Tramite interfaccia grafica selezionare la Virtual Machine in replica, dal task pane cliccare su replica e successivamente su stato della replica.

image

 

 

 

 

 

 

 

 

 

 

Alternativamente utilizzando PowerShell il comando è il seguente:

Measure-VMReplication –ComputerName nomedellaVM

Di seguito un esempio dell’output del comando eseguito su entrambi i server sia nella fase iniziale della replica che durante il funzionamento a regime:

image

image

image

 

Test Failover

Uno dei plus più comodi della funzionalità di replica in Hyper-V è la possibilità di fare un test di Failover.

Il test genera una copia di una Virtual Machine replicata al fine di verificarne l’integrità e la genuinità. La copia verrà poi fatta partire in un ambiente isolato e, una volta controllata l’efficienza e la salute della VM, cancellata.

Per eseguire il test selezionare la Virtual Machine in replica, dal task pane cliccare su replica e successivamente su Test failover.

Scegliere un punto di ripristino e premere Test failover

 

image

La procedura creerà una VM di test e la metterà in esecuzione.

image

Una volta verificato che tutto funziona correttamente si può interrompere la replica spegnendo la Virtual Machine in esecuzione:

· Evidenziare la VM, dal task pane cliccare su replica e successivamente su Interrompi il test di failover

· Il sistema eliminerà ogni traccia della copia.

image

 

 

 

Failover pianificato

Il failover pianificato, a differenza del test di failover, ha lo scopo di spostare l’esecuzione della Macchina Virtuale nel server host di destinazione e di spegnerla sull’host principale replicando tutte le modifiche non ancora passate.

Per eseguire failover pianificato spegnere la Virtual Machine in replica, evidenziarla, dal task pane cliccare su replica e successivamente su Failover pianificato.

 

image

Premendo su Failover il sistema inizierà il controllo dei prerequisiti, invierà i dati non ancora replicati, invertirà la direzione di replica e avvierà la VM:

image

 

 

Approfondimenti

Per chi intendesse prendere confidenza e/o approfondire la funzionalità di Hyper-V Replica in Windows Server 2012 è disponibile, sul sito “Technet – Windows Server Virtual Labs” un laboratorio on-line che mette a disposizione Macchine Virtuali già pre-configurate e pronte all’uso.

Lo potete trovare a questo indirizzo: http://technet.microsoft.com/en-us/windowsserver/hh968267.aspx

Inoltre è possibile approfondire la funzionalità Hyper-V Replica anche sul sito di formazione gratuito Microsoft Virtual Academy in cui è disponibile il corso online Windows Server 2012: Server Virtualization che comprende il modulo Virtual Machine Availability with Hyper-V Replica.

Per testare dal vivo le funzionalità di Windows Server 2012, scarica una versione gratuita del sistema operativo.