Microsoft a lancé il y’a quelques années sa solution de virtualisation nommée Hyper-V ou Windows Server Virtualisation.
Apparue avec Windows Server 2008, elle permet d’attribuer le rôle d’hyperviseur à un serveur Windows.
En production, il est intéressant d’avoir plusieurs hyperviseurs pour assurer une haute disponibilité des machines virtuelles hébergées.
Il convient donc de créer un cluster de machines, ou d’activer la réplication de machines virtuelles entre les hyperviseurs.
Nous allons voir comment mettre en place cette réplication en utilisant une authentification basée sur des certificats.
Pré requis
– Au minimum deux Windows Server avec le rôle Hyper-V installé
– L’application MakeCert (comprise dans le SDK Windows ou téléchargeable ici)
Création de la CA et des certificats
Pour générer nos certificats, il nous faut commencer par créer une autorité de certification auto signée.
Sur notre premier serveur, nous allons donc la créer et l’installer directement à l’aide de la commande suivante :
1 |
makecert -pe -n "CN=HYPERV-CA" -ss root -sr LocalMachine -sky signature -r "HYPERV-CA.cer" |
Notre autorité étant créée, nous allons pouvoir l’utiliser pour générer les certificats clients avec la commande ci dessous. Attention : cette commande est à exécuter autant de fois qu’il y a de serveurs Hyper-V. Donc dans notre cas, deux fois : pour SRV-HYPERV-01 et SRV-HYPERV-02. Il faut également faire attention à ce que le FQDN corresponde bien aux noms de chacun des serveurs.
1 |
makecert -pe -n "CN=SRV-HYPERV-01" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "HYPERV-CA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 SRV-HYPERV-01.cer |
1 |
makecert -pe -n "CN=SRV-HYPERV-02" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "HYPERV-CA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 SRV-HYPERV-02.cer |
L’autorité de certification et nos certificats ont été installés directement sur notre premier serveur, et sauvegardés localement dans le dossier de travail.
Pour le vérifier nous allons ouvrir une console MMC et ajouter le composant Certificats.
Dans le magasin Personnel de l’ordinateur local on retrouve bien nos deux certificats générés précédemment.
Nous allons exporter le certificat SRV-HYPERV-02 pour l’installer sur le serveur en question. Il est important de l’exporter avec sa clé privée.
Nous devons donc transférer vers le deuxième serveur notre CA (HYPERV-CA.cer) et notre certificat client (SRV-HYPERV-02.pfx).
Sur le second serveur nous allons importer la CA à l’aide de la commande suivante :
1 |
certutil -addstore -f Root "HYPERV-CA.cer" |
Enfin, nous allons ouvrir une console MMC comme sur le second serveur. Cela va nous permettre d’importer le certificat PFX.
Pour terminer, nous allons modifier une clé de registre vérifiant les certificats auto-signés. Cette commande est à exécuter sur chaque serveur.
1 |
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f |
Configuration Hyper-V
Maintenant que nos certificats sont installés sur chacun des serveurs, il ne reste plus qu’à configurer la réplication.
Nous allons donc dans les Paramètres Hyper-V de chacun des serveurs pour activer la réplication en sélectionnant le certificat installé.
Il restera ensuite à spécifier les VM qui doivent être répliquées sur les serveurs distants.
N’hésitez pas à me faire part de vos remarques ou améliorations dans les commentaires.