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 [09/12/2015 19:10] captnfab [Préparation] |
doc:autres:vm:lxc:mode-utilisateur [09/12/2015 20:13] captnfab [Préparation] |
||
---|---|---|---|
Ligne 67: | Ligne 67: | ||
=== Création du pont === | === Création du pont === | ||
<code root>brctl addbr lxcbr0</code> | <code root>brctl addbr lxcbr0</code> | ||
+ | (Penser à automatiser sa création, par exemple via le fichier ''/e/n/interfaces'' ou via Network-Manager) | ||
=== Accès === | === Accès === | ||
On autorise l'utilisateur lxcuser-test à connecter une interface //ethernet// virtuelle au port (vous pouvez augmenter ce nombre selon vos besoins, fichier à créer) : | On autorise l'utilisateur lxcuser-test à connecter une interface //ethernet// virtuelle au port (vous pouvez augmenter ce nombre selon vos besoins, fichier à créer) : | ||
Ligne 79: | Ligne 79: | ||
Créons les fichiers suivants : | Créons les fichiers suivants : | ||
- | <code bash /usr/local/etc/lxc-cgroups-user> | + | <code bash /usr/local/etc/lxc-cgroups-users> |
# Liste des utilisateurs pouvant lancer des lxc | # Liste des utilisateurs pouvant lancer des lxc | ||
LXCUSERS="lxcuser-test" | LXCUSERS="lxcuser-test" | ||
Ligne 85: | Ligne 85: | ||
<code bash /usr/local/sbin/prepare-lxc-cgroups> | <code bash /usr/local/sbin/prepare-lxc-cgroups> | ||
- | #!/bin/sh | + | #!/bin/bash |
- | . /usr/local/etc/lxc-cgroups-users | + | source /usr/local/etc/lxc-cgroups-users |
+ | |||
+ | echo 1 > /sys/fs/cgroup/cpuset/cgroup.clone_children | ||
+ | echo 1 > /proc/sys/kernel/unprivileged_userns_clone | ||
for u in $LXCUSERS do | for u in $LXCUSERS do | ||
Ligne 107: | Ligne 110: | ||
[Install] | [Install] | ||
WantedBy=multi-user.target</code> | WantedBy=multi-user.target</code> | ||
+ | |||
+ | <code root>chmod a+x /usr/local/sbin/prepare-lxc-cgroups | ||
+ | systemctl enable /etc/systemd/system/lxc-cgroups.service</code> | ||
===== Création du conteneur ===== | ===== Création du conteneur ===== | ||
Ligne 142: | Ligne 148: | ||
===== Utilisation du conteneur ===== | ===== Utilisation du conteneur ===== | ||
+ | <code user>cgm modepid all $USER $$ | ||
+ | lxc-start -n test -d</code> | ||
+ | |||
+ | Attention, la première commande peut renvoyer une erreur tout en fonctionnant correctement, donc ne pas utiliser ''&&''. | ||
===== FAQ / Problèmes rencontrés ===== | ===== FAQ / Problèmes rencontrés ===== | ||
Messages d'erreur rencontrés en lançant les différentes commandes du tuto, ou encore journalctl -xe | Messages d'erreur rencontrés en lançant les différentes commandes du tuto, ou encore journalctl -xe | ||
Ligne 147: | Ligne 157: | ||
* ''lxc_container: Failed to chown /dev/pts/X'' | * ''lxc_container: Failed to chown /dev/pts/X'' | ||
Vérifier que le paquet ''uidmap'' est bien installé | Vérifier que le paquet ''uidmap'' est bien installé | ||
+ | Vérifier que ''/proc/sys/kernel/unprivileged_userns_clone'' et ''/sys/fs/cgroup/cpuset/cgroup.clone_children'' sont bien à ''1'' | ||
* ''pam_unix(sudo:auth): conversation failed'', ''pam_unix(sudo:auth): auth could not identify password for [lxcuser-test]'' | * ''pam_unix(sudo:auth): conversation failed'', ''pam_unix(sudo:auth): auth could not identify password for [lxcuser-test]'' | ||
Ligne 167: | Ligne 178: | ||
* ''lxc_container: cgmanager.c: lxc_cgmanager_enter: 698 call to cgmanager_move_pid_sync failed: invalid request'' | * ''lxc_container: cgmanager.c: lxc_cgmanager_enter: 698 call to cgmanager_move_pid_sync failed: invalid request'' | ||
Muh ? Visiblement, problème avec une version cgmanager trop récente (stretch/sid et non jessie) | Muh ? Visiblement, problème avec une version cgmanager trop récente (stretch/sid et non jessie) | ||
+ | |||
+ | * ''lxc_start - failed to create the configured network'' | ||
+ | Vérifier que le bridge renseigné dans ''/etc/lxc/usernet'' existe bien. |