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 →
Ci-dessous, les différences entre deux révisions de la page.
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:11] captnfab [Utilisation du conteneur] |
doc:autres:vm:lxc:mode-utilisateur [12/07/2018 11:20] captnfab [Préparation] |
||
---|---|---|---|
Ligne 95: | Ligne 95: | ||
<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 : | ||
+ | <code bash /usr/local/sbin/prepare-lxc-cgroups>#!/bin/sh | ||
+ | LXC_USERS=$(cat /etc/lxc/lxc-users) | ||
+ | for d in /sys/fs/cgroup/* | ||
+ | do | ||
+ | f=$(basename $d) | ||
+ | if [ "$f" = "cpuset" ] | ||
+ | then | ||
+ | echo 1 > $d/cgroup.clone_children; | ||
+ | elif [ "$f" = "memory" ] | ||
+ | then | ||
+ | echo 1 > $d/memory.use_hierarchy; | ||
+ | fi | ||
+ | for u in $LXC_USERS | ||
+ | do | ||
+ | mkdir -p $d/$u | ||
+ | chown -R $u $d/$u | ||
+ | done | ||
+ | done | ||
+ | </code> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | Que l'on lancera automatiquement via systemd en créant ce service : | ||
+ | <code ini /etc/systemd/system/lxc-cgroups.service> | ||
+ | [Unit] | ||
+ | Description=Préparation cgroups pour lxc | ||
+ | After=local-fs.target | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | RemainAfterExit=yes | ||
+ | ExecStart=/usr/local/sbin/prepare-lxc-cgroups | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </code> | ||
+ | |||
+ | Et en l'activant | ||
+ | <code root>chmod a+x /usr/local/sbin/prepare-lxc-cgroups | ||
+ | systemctl enable /etc/systemd/system/lxc-cgroups.service | ||
+ | systemctl daemon-reload | ||
+ | systemctl start lxc-cgroups</code> | ||
===== Création du conteneur ===== | ===== Création du conteneur ===== | ||
Ligne 166: | Ligne 209: | ||
===== Utilisation du conteneur ===== | ===== Utilisation du conteneur ===== | ||
- | |||
- | Pour l'instant, les cgroups nécessaires ne sont pas créés par défaut. Aussi, le code suivant doit être exécuté en root au boot : | ||
- | <code bash /usr/local/sbin/prepare-lxc-cgroups>#!/bin/sh | ||
- | LXC_USERS=$(cat /etc/lxc/lxc-users) | ||
- | for d in /sys/fs/cgroup/* | ||
- | do | ||
- | f=$(basename $d) | ||
- | if [ "$f" = "cpuset" ] | ||
- | then | ||
- | echo 1 | sudo tee -a $d/cgroup.clone_children; | ||
- | elif [ "$f" = "memory" ] | ||
- | then | ||
- | echo 1 | sudo tee -a $d/memory.use_hierarchy; | ||
- | fi | ||
- | for u in $LXC_USERS | ||
- | do | ||
- | mkdir -p $d/$u | ||
- | chown -R $u $d/$u | ||
- | done | ||
- | done | ||
- | </code> | ||
Il faut, en tant que ''lxcuser-test'', lancer le script suivant avant de lancer le conteneur. | Il faut, en tant que ''lxcuser-test'', lancer le script suivant avant de lancer le conteneur. |