Aujourd’hui j’ai refait l’expérience d’un bug OpenVZ assez étrange. Au moment précis où l’on éteint une VM dont l’interface réseau est bridgé on perd momentanément la main sur le serveur parent. Si un ping cible le parent en même temps la reprise est plus rapide. C’est comme si le host “retrouvait” du réseau sur son interface bridgé une fois qu’il a répondu à une requête ARP.
En fait ce comportement s’explique par la manière dont le bridge réseau fonctionne sous Linux. La MAC adresse d’une interface bridgé correspond à la plus petite MAC de ses sous-interfaces. Ceci explique pourquoi sous d’autre hyperviseur, tels que Xen, les MAC des VM sont toutes à base de fe:ff:ff:ff:ff:ff, garantissant ainsi que la MAC de l’interface bridgé correspond bien à la MAC réelle de l’interface et non à une interface virtuelle d’une de ses VM.
Ce problème est donc imputable au comportement du script de génération des interfaces d’OpenVZ. Le plus simple pour le fixer est de redéfinir le host_mac dans la ligne NETIF du fichier de configuration de la VM par la valeur fe:ff:ff:ff:ff:ff.