Configurare la replica di Hyper-V Server 2016 in workgroup

La replica Hyper-V permette di replicare, con definiti intervalli di tempo, le macchine virtuali da un host (o da un cluster) all’altro in modo da poterle ripristinare rapidamente in caso di interruzioni, ad esempio guasti hardware o arresti pianificati per manutenzione. Il fatto che può essere abilitata anche in un cluster rende evidente che non si tratta di una soluzione ad alta disponibilità o un’alternativa al cluster ma piuttosto una soluzione di disaster recovery.
Ora vedremo come creare una semplice configurazione di replica utilizzando due host Hyper-V Server 2016 in workgroup.
Nel nostro caso HV-SERVER è l’host primario che ospita la macchina virtuale chiamata “VM1”, mentre HV-SERVER2 è il server di replica (server di destinazione). L’ordine viene descritto solo per rendere più comprensibile al procedura di configurazione, infatti da best practies è consigliato abilitare entrambi i server per la replica in ingresso in modo da poter invertire l’ordine dopo un eventuale ripristino dell’host primario.
NOTA: In ambiente workgroup è obbligatorio utilizzare l’autenticazione basata su certificati (HTTPS) in quanto l’autenticazione Kerberos su HTTP non è disponibile in assenza di dominio.

1)  Per prima cosa configurare un altro computer Windows 10 per gestire i due host tramite la console Hyper-V Manager, la procedura può essere trovata qui:
Gestire Hyper-V Server 2016 da Windows 10 in workgroup

2) In tutti gli host Hyper-V abilitare la regola di Windows Firewall per la replica.
Digitare nel prompt dei comandi:
netsh advfirewall firewall set rule group="Hyper-V Replica HTTPS" new enable=Yes

3) Se non si utilizza un DNS per la risoluzione dei nomi, modificare in ogni server Hyper-V il file HOSTS. Ogni server dovrà essere raggiungibile con il proprio nome.

4) Se non verranno utilizzati certificati emessi da CA pubbliche (solitamente a pagamento) è necessario generare un certificato root e per ogni host un certificato per l’autenticazione client e server. Possono essere utilizzati vari metodi, incluso il tool “makecert” incluso in Windows 7 SDK, ma poiché attualmente risulta deprecato consiglio direttamente l’utilizzo del nuovo cmdlet di PowerShell “New-SelfSignedCertificate”.

– Sul computer Windows 10 generare un certificato root eseguendo questo comando PowerShell:

New-SelfSignedCertificate -Type "Custom" -KeyExportPolicy "Exportable" -Subject "CN=Hyper-V Root CA" -CertStoreLocation "Cert:\LocalMachine\My" -KeySpec "Signature" -KeyUsage "CertSign"

E’ possibile utilizzare qualsiasi valore per il CN del certificato, ad esempio il nome dell’azienda (in questo esempio è semplicemente “Hyper-V Root CA”.
Al termine sarà visibile il “Thumbprint” del nuovo certificato, prendere nota di questo valore.

– Sempre dal computer Windows 10 generare un certificato autenticazione client/server per ogni host. Questi certificati dovranno avere come CN esattamente il nome dell’host Hyper-V ed utilizzare il thunderprint del certificato root. Per fare questo utilizzare questo comando PowerShell:

New-SelfSignedCertificate -type "Custom" -KeyExportPolicy "Exportable" -Subject "CN=HV-SERVER" -CertStoreLocation "Cert:\LocalMachine\My" -KeySpec "KeyExchange" -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2") -Signer "Cert:LocalMachine\My\D90CB5708C6F6C33BBD8BA16C48497DCD15A35D1" -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"

Nel nostro caso il comando genera un certificato per l’host HV-SERVER ed il certificato root generato nel passaggio precedente aveva come thunderprint il valore D90CB5708C6F6C33BBD8BA16C48497DCD15A35D1.

– Aprire lo snap-in “Certificati” del computer locale ed esportare i nuovi certificati che saranno presenti in “Personal”.
Per ulteriori informazioni sull’apertura dello snap-in consiglio questa pagina:
TechNet – Aggiungere lo snap-in certificati a una console MMC

Per il certificato root non includere la chiave privata ed utilizzare il formato CER, mentre per quelli host includere la chiave privata ed utilizzare quindi il formato PFX. Poiché il certificato root verrà esportato singolarmente, disabilitare inoltre l’opzione di esportazione di tutti i certificati del percorso.

– In tutti gli host, copiare il file del certificato root e il file del certificato autenticazione client/server corrispondente (ad esempio nella cartella C:\ del server).

– In ogni host, importare il certificato root in “Autorità di certificazione radice attendibili” e il certificato host in “Personale”.
Digitare questi comandi nel prompt per importare i certificati:
certutil -addstore -f Root "C:\root.cer"
certutil -f -p password -importpfx "c:\hv-server.pfx"

dove “password” è la password scelta durante l’esportazione per l’archivio PFX.

– Disabilitare la verifica della revoca dei certificati digitando nel prompt dei comandi di tutti gli host Hyper-V:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f

5) In Hyper-V Manager aprire le impostazioni Hyper-V dell’host che si vuole configurare per la replica (ovvero il server che riceverà le macchine virtuali in replica), quindi andare in “Replication Configuration” e selezionare “Enable this computer as Replica server”. Poiché si tratta di una replica HTTPS, è necessario selezionare il certificato da utilizzare per l’autenticazione (se è stato aggiunto al server correttamente dovrebbe venir proposto automaticamente).

Dopo la conferma un avviso ci ricorda che è necessario aver precedentemente abilitato la regola firewall per la replica HTTP o HTTPS.

6) In Hyper-V Manager spostarsi sull’host primario e selezionare la macchina virtuale che si intende replicare, quindi selezionare “Enable replication” per avviare la procedura guidata.


Specificare il nome del server di replica:

A questo punto sarà necessario selezionare nuovamente il certificato per il processo di replica:

Nel passaggio finale è possibile scegliere quando e come si vuole replicare la macchina virtuale sull’host di destinazione. L’opzione può essere modificata anche successivamente mediante le opzioni “Replication” che diventeranno disponibili per la macchina virtuale in replica.


Se si vuole optare per una replica di tipo out-of-band (ovvero per non saturare la connessione di rete) è possibile scegliere le opzioni “Send initial copy using external media” o “Use an existing virtual machine on the replica server as initial copy”. Ulteriori informazioni sulla procedura sono disponibili qui:
Virtualization Blog – Save network bandwidth by using Out-of-Band Initial Replication method in Hyper-V Replica

7) Al termine della procedura la replica della macchina virtuale verrà avviata e completata come richiesto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *