web-dev-qa-db-fra.com

Modification des valeurs sysctl dans le conteneur lxc

J'ai créé plusieurs conteneurs Linux à l'aide des outils utilisateur normaux (pas de menu fixe), et j'ai mis en place un environnement de test.

Je veux configurer deux conteneurs pour essayer heartbeat, ce qui nécessite que les conteneurs se lient à une adresse IP non encore configurée, à savoir net.ipv4.ip_nonlocal_bind = 1

Chaque fois que je l'essaie, il dit quelque chose comme ça:

user@lxc1:~$ Sudo sysctl -w net.ipv4.ip_nonlocal_bind=1
sysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directory

La modification du fichier sysctl.conf n’aide pas non plus. J'ai donc fait des recherches et le conteneur invité est lié au/proc/sys de l'hôte (ce qui est logique), j'ai donc modifié la valeur de l'hôte en ajoutant la valeur appropriée à l'hôte sysctl.conf, puis j'ai réinitialisé l'hôte pour de bon mesure:

user@Host:~$ Sudo sysctl -A | grep -i nonlocal
net.ipv4.ip_nonlocal_bind = 1

comme indiqué ci-dessus, l'hôte reflète la configuration que je souhaite voir dans le conteneur d'invité, mais même après le redémarrage, le conteneur - toujours - affiche le même problème.

Comment puis-je modifier ces valeurs dans le conteneur invité, est-ce même possible?

5
Ace

J'ai eu le même problème. Vous avez raison, il est lié aux conteneurs LXC. J'ai ajouté net.ipv4.ip_nonlocal_bind = 1 au fichier sysctl.conf de mon hôte LXC, puis j'ai exécuté: sysctl -p (nécessite un accès root/Sudo).

J'ai dû redémarrer le conteneur pour que le changement prenne effet. De plus, vous aurez toujours sysctl: cannot stat /proc/sys/net/ipv4/ip_nonlocal_bind: No such file or directory sur le conteneur. Si la fonctionnalité fonctionne, je ne suis pas tout à fait sûr qu'il soit nécessaire d'exécuter la même commande sur le conteneur invité.

Je peux maintenant accéder au conteneur via le VIP ou l'adresse IP définie.

2
Andrew Meyer

Une mise à jour très tardive, mais peut aider quelqu'un d'autre.

Aviez-vous/proc monté dans votre conteneur?

Le message d'erreur indique qu'il n'a pas été en mesure de trouver un fichier dans le système de fichiers/proc, qui doit (pour moi) être explicitement monté pour être disponible dans un conteneur LXC.

2
Michael Firth