Dépanner un `failed to open statefile /var/run/network/ifstate` sous OpenVZ

Logo OpenVZ

On update, on update et on ne voit pas le danger

Si vous utilisez OpenVZ avec un VE - Virtual Environment - Linux Ubuntu 9.04, vous risquez d'être victime d'une erreur failed to open statefile /var/run/network/ifstate: No such file or directory. En clair, le VE n'a plus d'accès réseau.

Comment corriger votre VE OpenVZ Ubuntu 9.04 pour récupérer votre réseau ?

Plus d'interface réseau

Le problème est que l'interface réseau n'est pas créée lors du démarrage du VE. Si vous tentez de démarrer le réseau depuis la console, vous obtenez une erreur. Dans l'exemple, l'identifiant du VE est 101 :

# vzctl enter 101
entered into CT 101
# /etc/init.d/networking start
* Configuring network interfaces...
ifup: failed to open statefile /var/run/network/ifstate: No such file or directory
                                                                                             [fail] 
# exit
logout

Corriger le VE

L'origine est un changement dans paquet ifupdown. Dans les dernières versions, la création du répertoire /var/run/network n'est plus assuré par le script /etc/init.d/loopback mais par /lib/udev/rules.d/85-ifupdown.rules.
Problème, udev est désactivé dans les VEs OpenVZ et donc le répertoire /var/run/network n'est pas créé.

Pour corriger cela, modifiez le fichier /etc/init.d/networking du VE :

# vzctl enter 101
entered into CT 101    
# vi /etc/init.d/networking

et ajoutez la ligne

[ -d /var/run/network ] || mkdir /var/run/network

juste sous la ligne start), vers la ligne 53. Sauvegardez, quittez le VE et redémarrez-le.

# exit
# vzctl restart 101

Commentaires

Un grand merci pour cette explication. Bonne continuation !