Come configurare la replica Hyper-V [Passo dopo passo]

Gestisci macchine virtuali (VM) Hyper-V e vuoi mettere in atto un piano di ripristino in caso di disastro? Puoi iniziare con la replica Hyper-V. Le cose possono andare storte, ed è probabile che succeda. E se hai una sola copia delle tue macchine virtuali, ti stai preparando a un mondo di dolore.

Avere una o più repliche delle tue VM, specialmente quelle critiche, non deve essere complesso o costoso. Microsoft ha integrato una funzione di replica nel proprio Hyper-V, che puoi configurare senza la complicazione di introdurre software o apparecchiature di terze parti nella tua infrastruttura.

Se sei pronto a imparare come abilitare la replica Hyper-V e prepararti a prevenire possibili perdite catastrofiche di dati, allora iniziamo!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri seguirmi, assicurati di avere quanto segue:

Due server host Hyper-V. Questi due host possono essere in un dominio Active Directory (AD) o in un gruppo di lavoro. Questo tutorial utilizzerà due server con i seguenti dettagli.

Hostname IP Address Designation Location Operating System
hyperv-ny 10.1.0.4 Primary Server Primary Site Windows Server 2019 Datacenter (version 1809)
hyperv-wa 10.0.0.4 Replica Server Secondary Site Windows Server 2019 Datacenter (version 1809)

L’host Hyper-V primario deve avere almeno una macchina virtuale ospite da replicare. In questo tutorial, l’host primario avrà una macchina virtuale ospite chiamata webserver.

Per ulteriori dettagli sui requisiti di sistema di Hyper-V, fare riferimento a Requisiti di sistema per Hyper-V su Windows Server.

Preparazione degli host per la replica di Hyper-V

Presumendo che si abbiano già i prerequisiti necessari, non si pensi ancora di avviare la replica di Hyper-V. Prima di replicare le macchine virtuali, è ancora necessario effettuare diverse preparazioni. Di seguito sono elencati gli elementi generali che è necessario verificare prima che tutto sia pronto.

Consentire il traffico di replica di Hyper-V

Questa sezione si applica solo se si utilizza Windows Firewall sugli host di Hyper-V. In caso contrario, è possibile passare alla parte successiva.

Oppure, se si sta già utilizzando Windows Firewall e si desidera disabilitarlo completamente, leggere Come disabilitare o spegnere Windows Firewall (tutti i modi).

Quando si installa il ruolo di Hyper-V sul server, Windows crea due regole di ingresso aggiuntive nel firewall di Windows. Queste due regole controllano se consentire il traffico di replica di Hyper-V e sono:

  • Hyper-V Replica HTTP Listener (TCP-In) – Regola di ingresso per il listener di Hyper-V Replica per accettare connessioni HTTP per la replica (tramite porta 80, non crittografata).
  • Hyper-V Replica HTTPS Listener (TCP-In) – Regola in entrata per il listener di Hyper-V Replica per accettare connessioni HTTPS per la replica (tramite la porta 443, crittografata con certificato).

Di default, questi firewall di Windows sono disabilitati, bloccando efficacemente il traffico di replica Hyper-V verso l’host. Ma lo scopo di questo tutorial è configurare la replica di Hyper-V solo tramite HTTPS e non HTTP.

Per abilitare la regola del firewall per la replica di Hyper-V, seguire questi passaggi.

1. Accedere al server replica e aprire PowerShell come amministratore.

2. Eseguire il comando Enable-Netfirewallrule di seguito in PowerShell per abilitare la regola.

# Abilita la regola del firewall per il traffico di replica Hyper-V HTTPS.
Enable-Netfirewallrule -DisplayName 'Hyper-V Replica HTTPS Listener (TCP-In)'

3. Infine, per confermare che hai abilitato correttamente le regole del firewall, eseguire il comando di seguito.

Get-Netfirewallrule -DisplayName 'Hyper-V Replica HTTPS Listener (TCP-In)'

Se tutto è andato bene, dovresti vedere un risultato simile allo screenshot qui sotto.

Enabling Hyper-V replication firewall rules

Configurazione dei record dell’host Hyper-V

Se i tuoi host Hyper-V possono risolvere i nomi l’uno dell’altro tramite la ricerca DNS, puoi saltare questa sezione.

Quando è il momento di abilitare la replica di Hyper-V, specificherai il nome del server di replica durante la configurazione. Se Hyper-V riesce a trovare il server secondario per nome dipende dalla corretta risoluzione del nome.

Per garantire che i nodi Hyper-V possano trovare i nomi degli altri nodi nella rete, è necessario modificare il file hosts su entrambi i server e aggiungere i rispettivi nomi e indirizzi IP. Per farlo, procedere come segue.

  1. Sul server primario, aprire PowerShell come amministratore.

2. Eseguire il comando seguente per aprire il file hosts in notepad.exe per la modifica.

notepad.exe "$env:windir\system32\drivers\etc\hosts"

3. Una volta aperto il file hosts, scorrere fino alla fine dell’editor di testo e aggiungere l’indirizzo IP e il nome del server replica come segue.

Assicurarsi di utilizzare il proprio indirizzo IP e nome del server.

10.1.0.4	hyperv-wa

4. Dopo aver modificato il file, premere CTRL+S o fare clic su File —> Salva per salvare le modifiche.

5. Ripetere gli stessi passaggi sul server replica e aggiungere il nome e l’indirizzo IP del server primario al file hosts del server replica. Lo screenshot di seguito mostra lo stato finale dei file hosts di entrambi i server affiancati.

Updating the hosts file

Creazione di certificati autofirmati

Questa sezione si applica solo se la replica Hyper-V utilizzerà l’autenticazione basata su certificato (HTTPS). Se gli host Hyper-V sono associati a un dominio e utilizzeranno l’autenticazione Kerberos (HTTP), è possibile saltare questa sezione.

La replica Hyper-V tramite HTTPS richiede che sia il server primario che il server replica utilizzino un certificato rilasciato da un emittente comune. Hyper-V utilizza questi certificati per autenticare il server primario al server replica.

Invece di acquistare certificati da un fornitore esterno di certificati, come DigiCert o NameCheap, è possibile generare certificati autofirmati da utilizzare gratuitamente con la replica di Hyper-V.

Per l’autenticazione basata su certificati tra due host Hyper-V, saranno necessari tre certificati. Un certificato radice e un certificato server per ciascun host. Seguire i seguenti passaggi per generare questi certificati.

1. Sul server host primario, aprire PowerShell come amministratore.

2. Successivamente, definire le seguenti variabili eseguendo i comandi seguenti in PowerShell. Fare riferimento ai commenti nel codice per capire ciascuna variabile e sostituire i valori come necessario.

# Impostare le variabili dei certificati

## Specificare il nome del nuovo certificato Root CA.
$rootCA_Name = 'Hyper-V Root CA'

## Specificare i nomi dei server Hyper-V.
$hostnames = @('hyperv-ny','hyperv-wa')

## Qual è la password per i certificati PFX esportati.
$CertPassword = 'this is a strong password' | ConvertTo-SecureString -Force -AsPlainText

## Dove esportare il certificato PFX dopo la creazione. Assicurarsi che questa cartella esista.
$CertFolder = 'C:\HPVCerts'

3. Dopo aver definito le variabili del certificato, eseguire il comando seguente per generare il certificato root. Questo comando crea un certificato root autofirmato utilizzando il cmdlet New-SelfSignedCertificate nello store dei certificati personali del server.

## Creare e salvare il certificato Root CA nello store dei certificati 'Personal'.
## Valido per 10 anni.
$rootCA = New-SelfSignedCertificate `
-Subject $rootCA_Name  `
-FriendlyName $rootCA_Name `
-KeyExportPolicy Exportable  `
-KeyUsage CertSign  `
-KeyLength 2048  `
-KeyUsageProperty All  `
-KeyAlgorithm 'RSA'  `
-HashAlgorithm 'SHA256'  `
-Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"  `
-NotAfter (Get-Date).AddYears(10)

4. Per far sì che il server si fidi del certificato root stesso, copiare il certificato root nello store dei certificati Trusted Root Certification Authorities eseguendo il comando seguente.

## Copiare la CA radice dallo store 'Personale' allo store 'Autorità di certificazione radice attendibili'.
$rootStore = [System.Security.Cryptography.X509Certificates.X509Store]::new("Root","LocalMachine")
$rootStore.Open("ReadWrite")
$rootStore.Add($rootCA)
$rootStore.Close()

5. Successivamente, eseguire il comando sottostante per esportare il certificato radice in un file utilizzando il cmdlet Export-PfxCertificate. È necessario esportare il certificato in modo da poterlo copiare successivamente nel server replica.

## Esporta la CA radice
$rootCA | Export-PfxCertificate -FilePath "$CertFolder\$($rootCA_Name).pfx" -Password $CertPassword -Force
Exporting the Root Certificate

6. Ora, generare i certificati del server firmati dal certificato radice creato. Eseguire il comando sottostante per creare i certificati del server per ogni host Hyper-V ed esportare ciascun certificato in un file.

$hostnames | ForEach-Object {
	$name = $_
	## Crea il certificato
	New-SelfSignedCertificate `
	-FriendlyName $name `
	-Subject $name `
	-KeyExportPolicy Exportable `
	-CertStoreLocation "Cert:\LocalMachine\My" `
	-Signer $rootCA `
	-KeyLength 2048  `
	-KeyAlgorithm 'RSA'  `
	-HashAlgorithm 'SHA256'  `
	-Provider "Microsoft Enhanced RSA and AES Cryptographic Provider"  `
	-NotAfter (Get-Date).AddYears(10) |
	## Esporta il certificato
	Export-PfxCertificate -FilePath "$CertFolder\$($name).pfx" -Password $CertPassword -Force
}
Generating and exporting the server certificates

7. Infine, copiare il file del certificato radice (Hyper-V Root CA.pfx) e il file del certificato del server replica (hyperv-wa.pfx) nel server replica.

Copying the certificate files to the replica host

Installazione dei certificati sul server replica

Per far funzionare l’autenticazione basata sui certificati tra i due host Hyper-V, è necessario che la stessa CA radice e lo stesso certificato del server siano presenti anche nel server replica. Seguire i passaggi di seguito per installare i certificati radice e del server.

1. Sul server replica, aprire PowerShell come amministratore.

Per installare il certificato radice nel negozio delle Autorità di certificazione radice attendibili, eseguire il comando Import-PfxCertificate di seguito riportato. Assicurarsi di modificare i valori delle variabili come necessario.

## Specificare il nome del certificato dell'Autorità di certificazione radice.
$rootCA_Name = 'Hyper-V Root CA'

## Dove trovare i file del certificato PFX.
$CertFolder = 'C:\HPVCerts'

## Qual è la password per i certificati PFX esportati.
$CertPassword = 'this is a strong password' | ConvertTo-SecureString -Force -AsPlainText

## Importare l'Autorità di certificazione radice
Import-PfxCertificate  "$CertFolder\$($rootCA_Name).pfx" -CertStoreLocation Cert:\LocalMachine\Root -Password $CertPassword
Importing the root certificate

3. Per installare il certificato server nel negozio dei certificati personali, eseguire il comando di seguito riportato.

## Importare il certificato server
Import-PfxCertificate  "$CertFolder\$($env:COMPUTERNAME).pfx" -CertStoreLocation Cert:\LocalMachine\My -Password $CertPassword
Importing the server certificate

4. Infine, configurare il registro di sistema di Hyper-V per disabilitare il controllo della revoca del certificato. In questo modo, Hyper-V non cercherà di controllare i dettagli di revoca del certificato, che non esistono nel certificato autogenerato. Eseguire il seguente comando PowerShell New-ItemProperty.

## Disabilitare il controllo della revoca del certificato di Hyper-V.
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" -Name "DisableCertRevocationCheck" -Value 1 -PropertyType DWORD -Force

Configurazione della replica di Hyper-V

Hai ora terminato la preparazione degli host Hyper-V. Ora puoi abilitare la replica di Hyper-V e iniziare a replicare le VM.

Abilitazione dell’host come server replica

Prima che un host Hyper-V possa ospitare repliche di VM, l’host deve essere abilitato come server replica. Per farlo, procedi come segue.

  1. Sull’host replica, apri Gestione Hyper-V. Per farlo, esegui il comando virtmgmt.msc in PowerShell.
  2. Mentre sei nella finestra di Gestione Hyper-V, fai clic con il pulsante destro del mouse sul nome del server replica e fai clic su Impostazioni Hyper-V.
Open the Hyper-V settings

3. Successivamente, nella finestra delle impostazioni di Hyper-V, fai clic su Configurazione replica nel riquadro di sinistra.

Nel riquadro di destra, seleziona la casella che dice Abilita questo computer come server replica. In questo modo verranno abilitate tutte le altre opzioni di configurazione sottostanti.

Nella sezione Autenticazione e porte, seleziona la casella Autenticazione basata su certificato utente (HTTPS). Lascia il valore della porta come 443.

Enabling the server as a replica

4. Nella sezione Autenticazione e porte, fai clic su Seleziona certificato. Nella finestra di dialogo Sicurezza di Windows, conferma che il certificato sia corretto e fai clic su OK.

Selecting the server certificate

Dopo aver selezionato il certificato, dovresti vedere che la casella Specifica il certificato mostra ora i dettagli del certificato.

Certificate details

Nota: Se non c’è un certificato valido o non hai installato correttamente il certificato, vedrai un errore simile all’immagine qui sotto. In tal caso, dovrai tornare indietro e installare il certificato.

The error shows no valid certificate

5. Successivamente, sotto Autorizzazione e archiviazione, seleziona Consenti la replica da qualsiasi server autenticato. In questo modo, qualsiasi server Hyper-V potrà replicare le VM su questo server a condizione che l’autenticazione basata su certificato vada a buon fine.

Per consentire la replica solo da server specifici, seleziona l’opzione Consenti la replica solo dai server specificati e aggiungi i dettagli di ciascun server.

Digita o sfoglia la posizione in cui memorizzare i file della replica. In questo esempio, la posizione di archiviazione è C:\Hyper-V\Virtual Hard Disks. Assicurati di scegliere una posizione con spazio di archiviazione sufficiente per ospitare i file della replica delle VM.

Infine, fai clic su OK per salvare le modifiche.

Choosing the authorization and storage

Abilitare la replica delle macchine virtuali

Fino ad ora, hai abilitato l’host di replica ad accettare la replica in ingresso di Hyper-V per le VM. A questo punto, sei pronto per abilitare la replica di una VM. Segui i seguenti passaggi per procedere.

1. Sull’host principale, apri la finestra di Gestione Hyper-V.

2. Successivamente, fai clic sul server Hyper-V nel riquadro di sinistra. Nell’elenco delle VM, fai clic sulla VM che desideri replicare e fai clic su Abilita replica nel riquadro Azioni.

Selecting the VM for Hyper-V replication

3. Nella finestra Abilita la replica per <nome VM> che appare, clicca su Avanti nella pagina Prima di iniziare.

4. Nella pagina Specifica server replica, digita il nome host del server replica nel campo Server replica e clicca su Avanti.

Specifying the target replica server

5. Ora, nella pagina Specifica parametri di connessione, cambia il numero di porta del Server replica a 443.

Sotto le opzioni Tipo di autenticazione, clicca per selezionare Autenticazione basata su certificato utente (HTTPS).

Noterai che le informazioni sul certificato in questo momento sono vuote. Per scegliere un certificato, clicca su Seleziona certificato.

Specifying the port and authentication type

6. Successivamente, nella finestra di dialogo Seleziona certificato, clicca per selezionare il certificato che hai precedentemente generato e che riporta il nome del server principale. Dopo aver selezionato il certificato, clicca su OK.

Selecting the server certificate

7. Dopo aver selezionato il certificato, dovresti ora vedere le informazioni sul certificato, come mostrato di seguito. Clicca su Avanti per procedere.

Confirming the certificate details

8. Successivamente, seleziona quali Dischi virtuali (VHD) includere nella replica. Se ci sono più VHD, assicurati di selezionare il VHD che contiene il sistema operativo della VM. Nell’esempio seguente è presente solo un VHD. Dopo aver effettuato la selezione, clicca su Avanti.

Selecting VHDs to replicate

9. Nella pagina successiva, scegli l’intervallo di replica dall’elenco a tendina. Questo valore determina con quale frequenza Hyper-V invia le modifiche al server di replica. L’intervallo predefinito è 5 minuti. Altre opzioni disponibili sono 30 secondi e 15 minuti. Fai clic su Avanti.

Choosing the Hyper-V replication interval

10. Nella pagina Configura punti di ripristino aggiuntivi, fai clic sull’opzione per Mantenere solo l’ultimo punto di ripristino.

Scegliendo questa opzione, Hyper-V manterrà solo l’ultimo punto di ripristino o stato della VM sul server di replica. Questa opzione utilizza meno spazio di archiviazione ma consente solo un ripristino a un singolo punto nel tempo. Fai clic su Avanti per procedere.

Selecting the recovery points to maintain

11. Nella pagina Scegli il metodo di replica iniziale, ci sono tre opzioni su come inviare la copia iniziale del VHD al server di replica:

  • Invia la copia iniziale tramite la rete. Questa opzione copia il VHD tramite la rete.
  • Invia la copia iniziale utilizzando supporti esterni. Scegliendo questa opzione ti permette di salvare la copia del VHD su supporto esterno, come un disco rigido esterno. Puoi quindi trasportare fisicamente il supporto e collegarlo al server di replica per la copia.
  • Utilizza una macchina virtuale esistente sul server di replica come copia iniziale. Questa opzione è applicabile solo se hai già ripristinato una copia della VM sul server di replica.

Quale opzione scegliere nella realtà dipende dalla tua valutazione. Ma per questo tutorial, seleziona Invia la copia iniziale tramite la rete.

Successivamente, seleziona Avvia la replica immediatamente per avviare il processo di replica non appena hai finito di configurare.

Choosing the initial replication method

12. Nella pagina di riepilogo, verifica la configurazione di replica e fai clic su Termina per finalizzare.

Finalizing the replication configuration

13. Attendi il messaggio di conferma che indica che la Replica è stata abilitata con successo. Fai clic su Chiudi per tornare alla finestra di Gestione di Hyper-V.

La replica di Hyper-V replica la macchina virtuale, la sua configurazione e i VHD. Tuttavia, la replica risultante sul server di replica non è connessa. Come puoi vedere di seguito, è ancora necessario configurare la connessione di rete della VM replica.

Confirming the replication is now enabled

Verifica dello stato di replica

Hai abilitato la replica di Hyper-V per la tua VM selezionata. Come puoi sapere se la replica di Hyper-V è ancora in corso, completata o se è fallita? Fortunatamente, Hyper-V ti offre la comodità di verificare lo stato di replica direttamente nella finestra di Gestione di Hyper-V.

Per verificare lo stato di replica della VM, procedi come segue.

Fai clic con il pulsante destro del mouse sul nome della VM nella finestra di Gestione di Hyper-V dell’host primario -> Replica -> Visualizza stato replica.

Opening the VM replication health

All’inizio, vedrai un messaggio Stato replica come mostrato nella schermata di seguito, che indica che la replica è ancora in corso.

Initial replication in progress

E quando la replica di Hyper-V sarà terminata, dovresti vedere un messaggio simile a quello riportato di seguito.

And that’s it! You’ve successfully set up Hyper-V replication for your VM.

Ecco fatto! Hai configurato con successo la replica di Hyper-V per la tua macchina virtuale.

Conclusione

Infine, configurare la replica di Hyper-V è qualcosa che gli amministratori di sistema dovrebbero considerare quando pianificano e implementano il ripristino da disastro. Farlo può essere meno costoso rispetto alla perdita di dati o a tempi di inattività prolungati del servizio. Immagina se il tuo server di paghe va offline?

Hai utilizzato la replica di Hyper-V? Che ne pensi? La consiglieresti ad altri o ci sono motivi per cui ritieni che le organizzazioni dovrebbero evitarla?

Source:
https://adamtheautomator.com/hyper-v-replication/