Una funzione molto apprezzata di Hyper-V, introdotta con Windows Server 2012, è sicuramente la Replica. Questa funzione consente di replicare la configurazione di una macchina virtuale da un nodo ad un altro in modo facile. Oltre a scenari di Disaster Recovery, motivo per cui è nato, la Replica potrebbe essere anche utilizzata per migrare le proprie VM verso un ambiente totalmente diverso.
Cosa succede, però, se abbiamo un vecchio server basato su Hyper-V Server 2008 R2 e vogliamo migrare le nostre VM, nel modo più rapido possibile, verso un sistema Hyper-V Server 2012 R2? Se non vogliamo spendere soldi possiamo fare l’export e l’import della VM, ma ogni VM potrebbe richiedere diversi minuti, che aumentano con l’abbassarsi delle performance dell’unità dove si va a salvare i dati.
La seconda possibilità è utilizzare Veeam Backup & Replication, il software che consente, tra le altre cose, di fare una replica di una macchina virtuale tra nodi di sistemi operativi diversi tra di loro.
La prima cosa da fare è di installare l’agent su entrambi i nodi che vogliamo gestire, una volta fatto questo sarà necessario creare un nuovo Replication Job, come mostra la figura 1.
Figura 1 – Nuovo Replication Job
Dopo inserito un nome, figura 2, è necessario selezionare le VM che si intendono replicare dal server obsoleto; nella sezione di Destination, figura 3, è necessario selezionare la macchina che riceverà la replica ed il percorso dove salvarla.
Figura 2 – Nome Replication Job
Figura 3 – Destinazione e Path
Impostate un suffiso ed il tempo di restore point, che non deve essere troppo alto dato che si tratta di una replica per la migrazione, e successivamente selezionare se attivare o meno l’utilizzo del VSS, come mostra la figura 4.
Impostare la schedulazione e far partire la replica. Dopo aver terminato l’operazione sarà possibile visualizzare la VM dentro il server di destinazione. L’operazione è conclusa! Non resta che spegnere le VM sul vecchio host, disattivare il task di replica e riaccedere le VM sul nuovo host.
Analisi per una Perfetta Replica
E’ chiaro che replicare non è sufficiente, perchè ci sarebbe sempre il delta delle modifiche fatte durante la giornata, quindi è necessario pianificare con molta attenzione l’attività di migrazione. Sicuramente la replica deve essere impostata in due fasi della giornata, di cui una serale/notturna, per poter fare al meglio la cosa. E’ ovvio che prima di spegnere la VM da un server è assolutamente necessario che nessuno stia utilizzando i suoi servizi (come un mail server), così com’è consigliato di fare questa migrazione fuori dagli orari di produzione!
Replica vs Backup/Copy
Perchè la replica sarebbe meglio della classica copia, presente in Veeam Backup & Replication, oppure rispetto al normale backup e restore? Personalmente il vero valore aggiunto di questa scelta è la ridotta tempistica nello spostamento finale: se io parto da zero, dovrò aspettare la copia di N macchine virtuali ed il tempo richiesto sarà di diverse ore; di contro se io parto da una struttura quasi ultimata, non dovrò fare altro che replicare i differenziali che porteranno via molto meno tempo.
Automatizzare il Job
Altra grande feature di Veeam Backup & Replication è la presenza dei cmdlet PowerShell che consentono di automatizzare i vari processi, senza dover passare dall’interfaccia grafica. Questo strumento diventa incredibilmente utile in scenari dove sono presenti tanti Job o dove ci sono operazioni ripetitive. Assicuratevi di aver installato il modulo, in caso contrario potete farlo tramite il classico setup, come mostra la figura 5.
Figura 5 – Attivazione Snapin PowerShell
L’uso di PowerShell può portarci a creare un task di automazione per fare quello che si è analizzato prima, con la differenza che non dovremmo più fare niente a mano; infatti si può prevedere lo spegnimento delle VM che si trovano nel server obsoleto, avviare il job di replica verso il server di destinazione, riaccedere le VM sul nuovo server e disattivare il job di replica. Per fare questo è necessario installare i moduli PowerShell di Hyper-V dentro il server Veeam.
Altra operazione che va fatta, nel caso non sia già presente, è attivare PowerShell sul server Hyper-V 2008 R2 ed importare i moduli che si possono scaricare sul sito CodePlex al link http://pshyperv.codeplex.com/.
Ricordate che la macchina remota deve avere i seguenti requisiti:
- Service Pack 1
- Framework .NET 4 (http://www.microsoft.com/en-us/download/confirmation.aspx?id=22833)
- Windows Management Framework 3 (che contiene PowerShell v3)
- Copiare la cartella HyperV (dal file zip scaricato da CodePlex) in c:\windows\system32\windowsPowerShell\v1.0\modules
Partendo dal job creato in precedenza, legato alla replica della VM, lo script scaricabile a questo link vi darà la possibilità di eseguire le seguenti operazioni:
- Spegnimento VM sul server Hyper-V 2008 R2
- Avvio job replica tramite Veeam B&R
- Accensione VM sul server Hyper-V 2012 R2
- Disattivazione task replica
Lo script è fatto in modo da fare una serie di domande per semplificare le operazioni. Sono inoltre presenti, al suo interno, dei cmdlet disattivati per la migrazione di massa di tutte le VM.
Veeam Backup & Replication v7 conferma la propria validità e con l’unione di PowerShell rende la cosa ancora più funzionale. Ricordate che potete provare Veeam Backup & Replication in prova per 30 giorni, tramite questo link http://www.veeam.com/downloads/.