17 06 2013
Hyper-V 2012: Bug: Le cluster de machines virtuelles ne fonctionne pas sur deux nœuds distincts (edit: 05.08.2012)
Dans certaines configurations particulières, un cluster dans 2 machines virtuelles ne fonctionne que lorsque les VMs sont sur le même serveur Hyper-V, et ne fonctionne plus lorsque les VMs sont sur des nœuds séparés.
Edit: Cet article est remplacé par le suivant: Hyper-V 2012: Le cluster de machines virtuelles ne fonctionne pas sur deux nœuds distincts, il est laissé en ligne pour information.
Symptômes:
Considérez la configuration suivante:
- Vous avez un cluster Hyper-V 2012;
- Vous utilisez le teaming de cartes réseau de Windows Server 2012 (en utilisant la fonction de Windows Server 2012 ou celle de Virtual Machine Manager 2012 SP1);
- Vous avez un cluster « dans » deux ou plus machine virtuelles (guest cluster);
Lorsque ces machines virtuelles sont sur un même serveur Hyper-V, le cluster fonctionne correctement.
Lorsque vous déplacez une machine virtuelle sur un serveur Hyper-V différend, le nœud passif de votre guest cluster apparaît « Down » dans la console Failover Cluster Manager. de plus vous pouvez rencontrer un message d’erreur indiquant que le quorum a été perdu (quelque-soit sa configuration, disque ou file share witness).
Lorsque vous déplacer le nœud passif pour rejoindre le serveur Hyper-V sur lequel tourne le nœud active, tout revient à la normale.
Probème:
Ce problème est un bug connu chez Microsoft. Il n’y a pas de solution définitive pour le moment.
Workaround:
Afin de régler le problème, vous pouvez, sur chaque nœud Hyper-V (en mode maintenance), désactiver la fonctionnalité de Checksum Offload.
Pour cela, sur votre serveur Hyper-V, entrez la commande suivante:
1 |
Get-NetAdapterChecksumOffload | Disable-NetAdapterChecksumOffload |
Attention: cette manipulation coupe momentanément toutes les connexions réseau (près d’1 minute). Faites attention de ne pas avoirde machines virtuelles sur le nœud pendant la manipulation.
Pour vérifier que la commande a bien fonctionné, tapez la commande suivante:
1 |
Get-NetAdapterChecksumOffload |
Vous devriez avoir un résultat similaire:
1 2 3 4 5 6 7 8 9 10 11 |
Name IpIPv4Enabled TcpIPv4Enabled TcpIPv6Enabled UdpIPv4Enabled UdpIPv6Enabled ---- ------------- -------------- -------------- -------------- -------------- lsNetworkTeam Disabled Disabled Disabled Disabled Disabled lsStorageTeam Disabled Disabled Disabled Disabled Disabled vEthernet (Cluster) Disabled Disabled Disabled Disabled Disabled vEthernet (LiveMigration) Disabled Disabled Disabled Disabled Disabled vEthernet (Management) Disabled Disabled Disabled Disabled Disabled Ethernet 4 Disabled Disabled Disabled Disabled Disabled Ethernet 3 Disabled Disabled Disabled Disabled Disabled Ethernet 2 Disabled Disabled Disabled Disabled Disabled Ethernet Disabled Disabled Disabled Disabled Disabled |
Une fois le checksum offload désactivé, vérifiez l’état de vos teams de cartes:
1 |
Get-NetLbfoTeam |
Si l’un d’entre eux est dans l’état « Down », redémarrez les cartes réseau puis vérifiez à nouveau.
1 |
Get-NetAdapter | Restart-NetAdapter |
Article initialement publié sur blog.sogeti.ch
Windows Server 2012 Core: Comment fermer une session RDP en mode Core ? Annonce: Windows Server 2012 R2, System Center 2012 R2 et SQL Server 2014 disponibles en Preview
[…] MAJ 05.08.2013: Remplace le précédent article du même nom. […]
[…] MAJ 05.08.2013: Remplace le précédent article du même nom. […]