replica Hyper-V – Failover Hyper-V
La situazione descritta di seguito prevede un server Host A=SRV2022 che dovrà replicare nel server Host B=SRV2023, entrambi Windows Server 2019, in modalità failover
La Replica di Hyper-V prevede 2 metodi di autenticazione:
- Kerberos
- HTTPS certificates
Il primo metodo di autenticazione può essere usato solo nel caso in cui gli host di Hyper-V siano uniti ad un dominio. Nel nostro caso invece useremo il secondo metodo avendo 2 server stand-alone, in una network separata che non raggiungiunge il controller di dominio.
REQUISITI
- I server fisici devono essere raggiungibili tra loro e risolvere reciprocamente i propri nomi correttamente. Se non si dispone di un server DNS dove poter creare i 2 record A, è necessario creare i 2 record nei file HOSTS dei server fisici
- Abilitare la regola nei firewall , nelle app consentite: “HTTPS Replica Hyper-V” (“Listener HTTPS di Replica Hyper-V (TCP-In)” )
- Se non si usano CA pubbliche per i certificati, occorre generare un certificato root su uno dei 2 server fisici, nel nostro caso SRV2023 e un certificato client per l’autenticazione del secondo server.
1 – CREARE I CERTIFICATI
Andare sul secondo server host che accetterà le repliche e tramite Powershell eseguire questi comandi
Generare il certificato root CA usando CN= il nome del server (nel nostro caso SRV2023):
New-SelfSignedCertificate -Type "Custom" -KeyExportPolicy "Exportable" -Subject "CN=SRV2023 Root CA" -CertStoreLocation "Cert:\LocalMachine\My" -KeySpec "Signature" -KeyUsage "CertSign" -NotAfter (Get-Date).AddYears(10)
NB: aggiungere i comandi per la durata dei certificati, nel nostro caso 10 anni (altrimenti durano 1 anno): -NotAfter (Get-Date).AddYears(10)
Copiare il “Thumbprint” del nuovo certificato.
(Nel nostro caso il Thumbrint è CD0FAF39F87F654F737DE26107C3B6343213BAC8)
Generare i certificati client/server authentication:
Usare come CN il nome del server fisico ed utilizzare il thumbprint del certificato root. Nel nostro caso genereremo due certificati che andranno scelti nelle rispettive console di Hyper-V: SRV2022 e SRV2023.
Digitare quindi il comando per il primo certificato client/server authentication per il server A :
New-SelfSignedCertificate -type "Custom" -KeyExportPolicy "Exportable" -Subject "CN=SRV2022 " -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\ CD0FAF39F87F654F737DE26107C3B6343213BAC8" -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -NotAfter (Get-Date).AddYears(10)
Comando per il secondo certificato client/server authentication per il server B:
New-SelfSignedCertificate -type "Custom" -KeyExportPolicy "Exportable" -Subject "CN=SRV2023 " -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\ CD0FAF39F87F654F737DE26107C3B6343213BAC8" -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -NotAfter (Get-Date).AddYears(10)
2 – ESPORTARE I CERTIFICATI E IMPORTARLI
Aprire la shell certlm.msc nel server B
spostare il certificato CA nella cartella “Autorità di certificazione radice attendibile” così che venga considerato valido.
Esportare la CA SRV2023 emessa da SRV2023 e il certificato client/server per il server SRV2022 emesso da SRV2023 come immagine sotto:
Per il certificato CA scegliere il formato .cer e salvarlo
Per il certificato client/server scegliere il format .pfx e salvarlo, impostando una password quando richiesto
A questo punto copiare i due certificati nel server A (SRV2022).
Installare sul server A per primo il certificato CA:
con il tasto destro sul certificato, scegliere l’opzione “Installa Certificato” , percorso “computer locale” e “Autorità di certificazione radice attendibili”
Installare sul server A per secondo il certificato Client/Server:
con il tasto destro sul certificato, scegliere l’opzione Installa Certificato , percorso “computer locale” e “Personale”
3 – DISABILITARE LA VERIFICA DELLA REVOCA DEI CERTIFICATI
Digitare su tutti i server fisici i seguenti comandi:
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\FailoverReplication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /freg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /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
4 – IMPOSTARE SUL SERVER B DESTINAZIONE LA REPLICA DI HYPER-V DEL SERVER A
Nella console di Hyper-V del server B, destinazione della replica, aprire le “Impostazioni di Hyper-v” e andare in “configurazione replica”, abilitare la replica, scegliere il certificato client/server SRV2023 emesso da CA SRV2023 e impostare il percorso degli archivi
5 – IMPOSTARE SUL SERVER A SORGENTE LA REPLICA DELLE VM DI HYPER-V SUL SERVER B
Sul server host sorgente, nel nostro caso SRV2022, cliccare con il tasto destro sulla macchina virtuale da replicare e scegliere “Abilitazione replica…”, digitare il nome del server di destinazione della replica, scegliere il certificato corretto
Scegliere i dischi da replicare e la frequenza della replica
Scegliere il numero di repliche da tenere e quando iniziare la replica iniziale
Controllare il riepilogo e confermare
Sul server destinazione delle repliche nella console Hyper-v appariranno le VM scelte per la replica
Prima di far partire la copia iniziale, è possibile decidere i percorsi di archiviazione. Cliccare sulla VM col tasto destro e scegliere “sposta”
A questo punto, conclusa la copia iniziale, le repliche avverranno con la frequenza scelta.
Autore: Fabio Querzè