Hyper-V R3 et la réplication

Une nouveauté de Windows 2012 est la capacité de réplication de machines virtuelles.

Cette fonction est sans doute la plus importante de toutes les nouveautés ajoutées à Hyper-V dans sa version R3 car elle impacte de façon très positive les plans de reprise d’activité.
Sur le principe:

  • Un Réplica est une image d’une machine à un instant T, stockée sur une machine tierce, et non active (hors ligne)
  • Le Réplica est une copie asynchrone (car faite à un instant T et n’est donc pas toujours synchrone)
  • Le Réplica peut être une image cohérente de la source (pour les applications tels que SQL ou le rôle contrôleur de domaine ceci est très important)

Dans les faits, c’est une copie asynchrone de machines virtuelles à travers une ligne à haute latence et bas débit.

Ce n’est bien entendu pas un replacement au cluster, qui est lui ciblé pour les lignes à haut débit et latence faible, mais s’en est un excellent complément.
Comment fonctionne la réplication:

  • Toutes les 5 minutes (non configurables), un regroupement de modifications apportées à la VM est généré et envoyé vers le serveur de réplica.
  • Si ce package n’a pas réussi à être émis vers la cible dans l’heure, le réplica entrera en erreur et nécessitera un dépannage administratif. Bien entendu, ceci semble difficile à accepter, mais dans ce cas vous êtes libres d’investir dans un stockage en miroir intersites et une dark-fiber pour relier les dits sites (le budget commence à 100.000 €).
  • A chaque période définit par l’administrateur, ces modifications sont intégrées au réplica pour permettre un démarrage de ce dernier en cas de problème. Plusieurs versions sont accessibles pour pouvoir revenir à la version n-1,2,3 ou x de la machine.

Comment configurer la Replication

Pour cet article, une réplication entre un cluster sur le Site A et un serveur sur le Site B est prise en compte.

Comme dans de nombreuses productions, ces deux sites ont des plans d’adressages IP différents et sont donc des sites AD différents.
Le cluster est déjà configuré et la VM est déjà montée avec les paramètres par défaut et les deux sites fonctionnent en Windows 2012 (niveau fonctionnel du domaine et de la forêt: Windows 2008R2 même si cela n’a que peu d’importance ici).
Schéma



Les deux serveurs du cluster sont nommés HyperV18 et HyperV27, le serveur du site B est nommé ici HyperV28.
Méthodologie

Sur le cluster, il faut commencer par configurer un Hyper-V Replica Broker. Ce rôle du cluster a pour objectif de gérer la synchronisation des machines quel que soit le serveur hébergeant la VM dans le cluster.

Il n’est pas possible de configurer un Replica entre des membres d’un cluster, le cluster annule et remplace ce besoin technique.

Dans le site B cette configuration n’est pas utile puisque ce n’est pas un cluster.
Une fois le Broker configuré, la réplication sera mise en place, puis une petite correction réseau sera à faire.
Création du rôle Broker

Un seul broker par cluster est configurable.

Dans la console Failover Cluster Manager, cliquer sur Configure Role.



Choisir Hyper-V Replica Broker



Configurer un nom (Repl-CL2012 ici) et un IP pour ce rôle et valider la configuration

Une nouvelle entrée est créé (ici Repl-CL2012) et est lancée par le serveur:



Une fois activée, on peut commencer à activer la réplication pour nos VMs.
Configurer le Replica Server

Un Replica Server est un serveur pouvant accepter les copies de vos VMs. Il faut donc le configurer avant de paramétrer vos VMs.

Il faut donc modifier les paramètres Hyper-V de ce serveur:


Ici le serveur est activé et la réplication est effectuée via Kerberos/HTTP

Plus bas dans la même page nous modifions les serveurs sources (Primary Server) en ciblant spécifiquement les serveurs et le stockage utilisé par ces serveurs:



Deux possibilités:

Allow replication from any authenticated server: Assez simple, puisque tous les Replica sont stockés au même endroit.

Allow replication from the specified servers: permet de stocker les Replica de chaque hôte/cluster sur un stockage dédié, ce qui est très utile pour la gestion de stockage de machines plus ou moins critiques.
On clic donc sur Add…


Notez-le Primary server: c’est le Hyper-V Replica Broker configuré dans le cluster (ne saisissez donc pas le nom du cluster ou l’un de ses nœud).
Voilà, les configurations nécessaires aux Replica sont maintenant faites, il ne reste plus qu’à tester.

Activer la réplication

Sur la VM devant être protégée, clic-droit puis Replication > Enable Replication



Comme serveur de Replica, choisissez la cible


Une vérification a lieu et il retrouve les paramètres déjà mis en place précédemment.


Les disques de la VM sont détectés et il demande lesquels sont à répliqués:


(Les meilleurs pratiques conseillent de ne PAS stocker le fichier de pagination avec la VM. Comme cela n’a pas été fait le Replica contiendra donc aussi toutes les modifications apportées à ce fichier, ce qui est inutile puisque la VM ne peut pas être récupérée à chaud)
On configure alors les versions précédentes à conserver.


Par défaut seule la dernière version est conservée. Ici je réplique un contrôleur de domaine donc je souhaite avoir plusieurs versions précédentes et j’active en plus le Replicate incremental VSS copy qui permet de récupérer ma base Active Directory dans une version utilisable. (Ne tentez pas de récupérer une version non cohérente avec VSS pour les machines contenant des bases de données!)
Il ne reste donc plus qu’à copier et à planifier les synchronisations:


La première copie se fera via le réseau, mais on peut tout à fait exporter le VHDX sur le site distant et l’utiliser comme base de synchronisation ou avoir une copie de la VM déjà en place.
Il ne reste plus qu’à laisser la première synchronisation se faire, tout en observant le résultat dans la console de gestion du cluster:



Voilà comment on configure la réplication de VMs sous Hyper-V.
Mais et le réseau alors

Bonne remarque, car comme précisés au début de cet article: Mes deux sites utilisent des sous réseaux IP différents et de classes différentes!
Et bien une fois une machine activée pour la réplication, de nouvelles fonctions sont disponibles pour ses cartes réseaux.
Regardons les paramètres de la VM avec Replica actif et de la VM sans Replica:


Failover TCP/IP est apparu.
Cette option contient pour la carte réseau sélectionnée les paramètres standards pour le site actuel.

Pour le site A je saisi donc mes paramètres:


Je valide ces paramètres.
Allons regarder sur le Replica Server où une nouvelle VM est apparue, cette VM est le Replica hors-ligne de notre VM source.

Au même endroit se situe Failover-TCP/IP avec les mêmes options, mais qui ne sont pas synchronisés. Je saisi donc les paramètres réseau de la machine pour le site B:



Dès lors, quand le serveur sera redémarré sur le Site B, sa carte réseau utilisera les paramètres du Site B et non ceux du Site A. Ce paramètre évite d’avoir à étendre les LANs entres les sites avec la complexité de configuration que cela A.
Points important

Cette fonctionnalité est INCLUSE DANS L’OS et ne nécessite aucune licence particulière.

Les versions Standard et Datacenter de Windows 2012 peuvent être des serveurs Primaires pour des Replica Server l’un de l’autre.

Les serveurs peuvent êtres dans des domaines différents et dans des sous réseaux différents.

15 réflexions au sujet de « Hyper-V R3 et la réplication »

  1. Bonjour,
    merci pr ce post vraiment tres instructif, petite question
    la replication inter site peut-elle se faire avec 2 forets differentes ?
    fabien

    • Vous pouvez même l’activer entre un serveur de domaine et un de Workgroups si vous passer par l’authentification par certificat.
      Cela est bien plus complexe que le « proof of concept » de cet article.

      • merci pr ta reponse,
        les progres son impressionnant entre la gestion hyper-v sous 2008 et 2012 !!
        savez-vs si l’on peut encore trouver des certificats gratuits et validés par microsoft ?

      • En fait vous pouvez tout a fait utiliser votre/vos infrastructure PKI interne pour cela. Une fois le certificat de votre serveur de certificat placé dans le Trusted Root du serveur distant, l’usage de vos certificats internes (gratuits donc) devient possible.

      • ok j’ai compris le principe et ai essayé de le mettre en test.
        j’avoue que j’avais jamais installé d’autorité de certification avant
        bref j’ai installé, configuré …
        mais lors du paramétrage de la réplication il me demande plusieurs pts parmis eux:
        -le certif doit avoir l’attribut utilisation améliorée de la clé (EKU) d’authentification client, ainsi qu’une clé privée associée.
        mais la je ne sais pas comment faire, as-tu une idée ?

  2. bonjour, avez vous fait le test entre deux clusters Hyper-V ? j’aurais en tête ce genre d’architecture pour un PRA

    • Cela fonctionne entre deux clusters, mais il faut un Hyper-V Replica Broker par cluster car c’est uniquement par ce biais que transites les données de réplication depuis ou vers un cluster.
      Evidement, s’ils sont dans le même domaine cela facilite la tâche en évitant la création de certificats.

      • Merci de cette réponse, c’est effectivement ce que j’ai pu trouver entre temps. Fonctionnalité bien sympathique de cette nouvelle version de l’Hyperviseur Microsoft

  3. Bonjour,
    Pour la réplic c’est ok. Mais comment récupère t’on une vm répliquée en cas de crash?

    • Il ne faut pas voir le réplica comme une sauvegarde.
      C’est en fait une copie hors-ligne de votre VM, dans un second Datacenter (même si vous n’en avez qu’un)

      Cette VM est a démarrer dans 2 cas:
      1. En cas de panne, en assignant via les options l’IP de la machine « en panne » a son réplica (ou une autre IP utilisable dans le site ou cette dernière se trouve s’il est différent). Une fois les enregistrements DNS a jour (normalement fait par netlogon) le service sera a nouveau en ligne. Il suffit alors de casser le réplica puis d’en inverser le sens 😉
      2. Pour test, dans ce cas on la remonte avec une IP différente dans un range non routable vers le premier, on fait ses installations/tests, puis on l’éteind en ne sauvegardant aucun changement. Elle sera remise à l’état de la dernière réplication et cela ne casse pas la réplication (c’est la pré-production le plus simple a monter et la moins cher du marché!)

  4. Ping : Hyper-v 2012 Replica: Understand, configure and test scenarios | Do{IT}urself

  5. Ping : Hyper-v 2012 Replica: Configure and test scenarios | Do{IT}urself

  6. Merci pour cette article très bien ficeler et très claire
    J’avais un souci car mes deux serveurs hôtes sont en Workgroups donc non membre d’un domaine
    Et bien en configurant la réplication en https avec les certificats la réplication fonctionne parfaitement !!!!!!! donc pas besoin de domaine….

  7. Ping : Hyper-V failover clustering and HA | Jacques DALBERA's IT world

Répondre à Fredg Annuler la réponse.