logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:autres:vm:lxc:mode-utilisateur [12/07/2018 11:16]
captnfab
doc:autres:vm:lxc:mode-utilisateur [12/07/2018 11:28]
captnfab [Préparation]
Ligne 81: Ligne 81:
 Il faut activer certaines fonctionnalités des cgroups pour que l'on puisse lancer les conteneurs utilisateurs. Il faut activer certaines fonctionnalités des cgroups pour que l'on puisse lancer les conteneurs utilisateurs.
  
 +== Configuration du noyau ==
 Vérifier que le fichier ''/​sys/​fs/​cgroup/​cpuset/​cgroup.clone_children''​ est bien à 1 par défaut sur le système. Vérifier que le fichier ''/​sys/​fs/​cgroup/​cpuset/​cgroup.clone_children''​ est bien à 1 par défaut sur le système.
 <code root>cat /​sys/​fs/​cgroup/​cpuset/​cgroup.clone_children</​code>​ <code root>cat /​sys/​fs/​cgroup/​cpuset/​cgroup.clone_children</​code>​
Ligne 95: Ligne 96:
 <code root>​sysctl --sys</​code>​ <code root>​sysctl --sys</​code>​
  
-Pour l'​instant,​ les cgroups nécessaires ne sont pas créés par défaut. Créer ​le fichier ​suivant :+== Création des cgroups == 
 +Pour l'​instant,​ les cgroups nécessaires ne sont pas créés par défaut. Créer ​les fichiers ​suivant :
 <code bash /​usr/​local/​sbin/​prepare-lxc-cgroups>#​!/​bin/​sh <code bash /​usr/​local/​sbin/​prepare-lxc-cgroups>#​!/​bin/​sh
 LXC_USERS=$(cat /​etc/​lxc/​lxc-users) LXC_USERS=$(cat /​etc/​lxc/​lxc-users)
Ligne 103: Ligne 105:
   if [ "​$f"​ = "​cpuset"​ ]   if [ "​$f"​ = "​cpuset"​ ]
   then   then
-    echo 1 | sudo tee -a $d/​cgroup.clone_children;​+    echo 1 $d/​cgroup.clone_children;​
   elif [ "​$f"​ = "​memory"​ ]   elif [ "​$f"​ = "​memory"​ ]
   then   then
-    echo 1 | sudo tee -a $d/​memory.use_hierarchy;​+    echo 1 $d/​memory.use_hierarchy;​
   fi   fi
   for u in $LXC_USERS   for u in $LXC_USERS
Ligne 115: Ligne 117:
 done done
 </​code>​ </​code>​
 +et
 +<code bash /​usr/​local/​bin/​move-pid-to-cgroup>#​!/​bin/​sh
 +PID=$1
 +for d in /​sys/​fs/​cgroup/​*
 +do
 +        echo $PID > $d/​$USER/​tasks
 +done</​code>​
 +à rendre exécutables :
 +<code root>​chmod a+x /​usr/​local/​sbin/​prepare-lxc-cgroups
 +chmod +x /​usr/​local/​bin/​move-pid-to-cgroup</​code>​
  
 +== Accès ==
 Et rajouter ''​lxcuser-test''​ dans le fichier ''/​etc/​lxc/​lxc-users''​. S'il y a plusieurs utilisateurs,​ ils doivent être séparés par un espace. Et rajouter ''​lxcuser-test''​ dans le fichier ''/​etc/​lxc/​lxc-users''​. S'il y a plusieurs utilisateurs,​ ils doivent être séparés par un espace.
 +<code ini /​etc/​lxc/​lxc-users>​lxcuser-test</​code>​
  
 +== Automatisation ==
 Que l'on lancera automatiquement via systemd en créant ce service : Que l'on lancera automatiquement via systemd en créant ce service :
 <code ini /​etc/​systemd/​system/​lxc-cgroups.service>​ <code ini /​etc/​systemd/​system/​lxc-cgroups.service>​
Ligne 133: Ligne 148:
 </​code>​ </​code>​
  
-Et en l'​activant +Et en l'​activant ​: 
-<code root>chmod a+x /​usr/​local/​sbin/​prepare-lxc-cgroups +<code root>​systemctl enable /​etc/​systemd/​system/​lxc-cgroups.service
-systemctl enable /​etc/​systemd/​system/​lxc-cgroups.service+
 systemctl daemon-reload systemctl daemon-reload
 systemctl start lxc-cgroups</​code>​ systemctl start lxc-cgroups</​code>​
Ligne 210: Ligne 224:
 ===== Utilisation du conteneur ===== ===== Utilisation du conteneur =====
  
-Il faut, en tant que ''​lxcuser-test'', ​lancer ​le script suivant avant de lancer ​le conteneur+Il faut, en tant que ''​lxcuser-test'', ​et dans le shell qui lancera ​le conteneur, exécuter ​la commande ​suivante (qui ajoutera le shell au cgroup) :
-<code bash /​usr/​local/​bin/​move-pid-to-cgroup>#​!/​bin/​sh +
-PID=$1 +
-for d in /​sys/​fs/​cgroup/​* +
-do +
-        echo $PID > $d/​$USER/​tasks +
-done</​code>​ +
-Via la commande+
 <code user>​move-pid-to-cgroup $$</​code>​ <code user>​move-pid-to-cgroup $$</​code>​
  
doc/autres/vm/lxc/mode-utilisateur.txt · Dernière modification: 18/11/2020 20:51 par captnfab

Pied de page des forums

Propulsé par FluxBB