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 [22/02/2014 17:25] bendia [LXC ou la virtualisation allégé] |
doc:autres:vm:lxc [01/03/2014 21:36] paskal [Utilisation] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== LXC ou la virtualisation allégé ====== | + | ====== LXC ou la virtualisation allégée ======= |
* Objet : Créer des environnements cloisonnés avec LXC sous Debian Wheezy | * Objet : Créer des environnements cloisonnés avec LXC sous Debian Wheezy | ||
Ligne 25: | Ligne 25: | ||
Lors de l'installation, vous devez indiquer l'emplacement où seront installée vos conteneur, ///var/lib/lxc// par défaut (FIXME Y-a-t-il des précautions pour installer sur une autre partition par exemple ?) | Lors de l'installation, vous devez indiquer l'emplacement où seront installée vos conteneur, ///var/lib/lxc// par défaut (FIXME Y-a-t-il des précautions pour installer sur une autre partition par exemple ?) | ||
- | D'autres paquet sont recommandés, et notamment //debootstrap// qui permettra d'installer un autre système Debian | + | D'autres paquets sont recommandés, et notamment //debootstrap// qui permettra d'installer un autre système Debian |
<code root>apt-get install bridge-utils libvirt-bin debootstrap</code> | <code root>apt-get install bridge-utils libvirt-bin debootstrap</code> | ||
Ligne 35: | Ligne 35: | ||
=== /etc/fstab === | === /etc/fstab === | ||
- | LXC utilise les //cgroups// (FIXME une petite vulgarisation la dessus :?: ). Il faut donc monter ce système de fichier virtuel dans ///etc/fstab// | + | LXC utilise les //cgroups// (FIXME une petite vulgarisation la dessus :?: ). Il est nécessaire de lister ce système de fichier virtuel dans ///etc/fstab// |
<code>cgroup /sys/fs/cgroup cgroup defaults 0 0</code> | <code>cgroup /sys/fs/cgroup cgroup defaults 0 0</code> | ||
Ligne 93: | Ligne 93: | ||
==== Le fichier de configuration ==== | ==== Le fichier de configuration ==== | ||
- | FIXME | + | Un fichier par défaut est créé lors de la création du conteneur, par exemple : |
+ | <file bash /var/lib/lxc/myfirstcontainer/config> | ||
+ | lxc.rootfs = /var/lib/lxc/myfirstcontainer/rootfs | ||
+ | lxc.tty = 4 | ||
+ | lxc.pts = 1024 | ||
+ | lxc.arch = amd64 | ||
+ | lxc.utsname = myfirstcontainer | ||
+ | lxc.cap.drop = sys_module mac_admin mac_override sys_time | ||
+ | |||
+ | # When using LXC with apparmor, uncomment the next line to run unconfined: | ||
+ | #lxc.aa_profile = unconfined | ||
+ | |||
+ | lxc.cgroup.devices.deny = a | ||
+ | # /dev/null and zero | ||
+ | lxc.cgroup.devices.allow = c 1:3 rwm | ||
+ | lxc.cgroup.devices.allow = c 1:5 rwm | ||
+ | # consoles | ||
+ | lxc.cgroup.devices.allow = c 5:1 rwm | ||
+ | lxc.cgroup.devices.allow = c 5:0 rwm | ||
+ | lxc.cgroup.devices.allow = c 4:0 rwm | ||
+ | lxc.cgroup.devices.allow = c 4:1 rwm | ||
+ | # /dev/{,u}random | ||
+ | lxc.cgroup.devices.allow = c 1:9 rwm | ||
+ | lxc.cgroup.devices.allow = c 1:8 rwm | ||
+ | lxc.cgroup.devices.allow = c 136:* rwm | ||
+ | lxc.cgroup.devices.allow = c 5:2 rwm | ||
+ | # rtc | ||
+ | lxc.cgroup.devices.allow = c 254:0 rm | ||
+ | |||
+ | # mounts point | ||
+ | lxc.mount.entry = proc proc proc nodev,noexec,nosuid 0 0 | ||
+ | lxc.mount.entry = sysfs sys sysfs defaults 0 0 | ||
+ | </file> | ||
+ | Ce fichier est à adapter suivant les besoins. | ||
==== Lancer le conteneur ==== | ==== Lancer le conteneur ==== | ||
Ligne 101: | Ligne 134: | ||
le **-n** pour indiquer le nom du conteneur, le **-d** pour le lancer en arrière plan ( non attaché à la console ) | le **-n** pour indiquer le nom du conteneur, le **-d** pour le lancer en arrière plan ( non attaché à la console ) | ||
- | <note warning>Sans le **-d**, il ne sera pas possible de quitter proprement le conteneur. Utiliser lxc-start au premier plan seulement dans un but de debuggage.</code> | + | <note warning>Sans le **-d**, il ne sera pas possible de quitter proprement le conteneur. Utiliser lxc-start au premier plan seulement dans un but de debuggage.</note> |
Pour un démarrage automatique | Pour un démarrage automatique | ||
Ligne 115: | Ligne 148: | ||
<code root>lxc-halt -n myfirstcontainer</code> | <code root>lxc-halt -n myfirstcontainer</code> | ||
- | ==== Enter dans le conteneur ==== | + | ==== Afficher la liste des conteneurs ==== |
+ | <code root>lxc-ls</code> | ||
+ | <code>myfirstcontainer | ||
+ | monsecondconteneur | ||
+ | unautreconteneur | ||
+ | </code> | ||
+ | |||
+ | ==== Mettre en pause un conteneur ==== | ||
+ | <code root>lxc-freeze -n myfirstcontainer</code> | ||
+ | |||
+ | ==== Sortir de pause un conteneur ==== | ||
+ | <code root>lxc-unfreeze -n myfirstcontainer</code> | ||
+ | |||
+ | ==== Détruire un conteneur ==== | ||
+ | <code root>lxc-destroy -n myfirstcontainer</code> | ||
+ | |||
+ | ==== Afficher l'état d'un conteneur et son PID ==== | ||
+ | <code root>lxc-info -n myfirstcontainer</code> | ||
+ | <code>state: RUNNING | ||
+ | pid: 19879</code> | ||
+ | |||
+ | ==== Lister les conteneurs et leur état ==== | ||
+ | <code root>lxc-list</code> | ||
+ | <code>RUNNING | ||
+ | myfirstcontainer | ||
+ | |||
+ | FROZEN | ||
+ | unautreconteneur | ||
+ | |||
+ | STOPPED | ||
+ | monsecondconteneur | ||
+ | </code> | ||
+ | |||
+ | ==== Se connecter au conteneur ==== | ||
<code>lxc-console -n myfirstcontainer</code> | <code>lxc-console -n myfirstcontainer</code> | ||
- | Le login/mot de passe est //root/root// [[doc:systeme:passwd|à changer dès que possible]] :-) | + | Le login/mot de passe est //root/root// [[doc:systeme:passwd|à changer à la première connexion]] :-) |