La cas m’a occupé un certain temps avant de finaliser la solution à ce problème.

Posons la problématique

L’environnement a été installé selon les spécifications du guide détaillé de mise en œuvre d’Hyper-V en cluster. Si on se réfère à ce guide, on peut tester la haute disponibilité de la machine virtuelle simplement en arrêtant le service cluster. Jusque là, le comportement est normal. Mais poussons un peu plus les tests?

Qu’est ce qui se passe si on déconnecte la carte réseau privée? Pas de problème, c’est prévu dans le mode de fonctionnement du cluster, il va utiliser la carte publique pour le Heartbeat. Pas de problème pour la machine virtuelle.

Qu’est ce qui se passe si on déconnecte la carte réseau publique (celle liée à Hyper-V)? Rien, le cluster détecte bien la défaillance de la carte réseau publique mais cela ne provoque rien au niveau de la machine virtuelle. Elle n’est pas accessible sur le réseau mais techniquement elle répond au Heatbeat Hyper-V. Donc la machine virtuelle est opérationnelle mais inaccessible.

Cela peut sembler aberrant mais c’est bien le fonctionnement normal d’Hyper-V dans un cluster. Ce mode de fonctionnement ne pose pas de problème pour une machine virtuelle contenant elle même un nœud de cluster (SQL Server, Exchange) mais pour un système d’exploitation standard, cela pose problème.

Solution

Le début de réponse vient d’un billet de Robert Vierthaler, Escalation Engineer en Allemagne. Sa solution consiste à créer une ressource cluster de type “Script” qui va surveiller la carte réseau utilisée par Hyper-V. Comme il le dit lui même, cette nouvelle ressource sera liée à la machine virtuelle mais ne déclenchera pas encore sa bascule. Pour cela, il faut franchir une autre étape, ce que je me propose de détailler.

Configuration de la machine virtuelle

La première chose, c’est de s’assurer que la machine virtuelle n’est pas configurée pour un démarrage automatique dans la console Hyper-V. En effet, c’est le cluster qui doit décider de la mise en ligne ou non de la machine virtuelle et non Hyper-V.

La suite sur : http://blogcastrepository.com/blogs/benoits/archive/2009/06/28/haute-disponibilit-233-d-une-machine-virtuelle-dans-hyper-v.aspx