SlideShare une entreprise Scribd logo
Formation Virtualisation légère avec LXC alphorm.com™©
La virtualisation légère
LXC
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Présentation de la
formation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Présentation du formateur
• Le plan de formation
• Publics concernés
• Connaissances requises
• Liens utiles
Formation Virtualisation légère avec LXC alphorm.com™©
Présentation du formateur
• Ludovic QUENEC’HDU
• lquenec@alphorm.com
• Consultant et expert en Open source, logiciel libre et virtualisation
• Mission de conseil, d’architecture, d’administration, de migration et de
formation
• Mes références :
 Mon profil LinkedIn : https://fr.linkedin.com/pub/ludovic-quenec-hdu/47/6bb/550
 Mon profil Alphorm : http://www.alphorm.com/formateur/ludovic-quenechdu
Formation Virtualisation légère avec LXC alphorm.com™©
Mes formations sur Alphorm
Formation Virtualisation légère avec LXC alphorm.com™©
Le plan de formation
• Concept
• La virtualisation par conteneurs
• Les Namespaces et les Control groups
• LinuxContainers.org – LXC
• Mise en œuvre
• Installation et configuration de LXC
• Containers privilégiés
• Containers non-privilégiés
• Exploitation des containers avec LXC
• Commandes de manipulation des conteneurs
• Le clonage des conteneurs
• Snapshot
• Gestion des ressources avec les cgroup
• Exploitation des containers avec LXD
• LXD présentation et installation
• Gestion des images LXD
• Manipulation des conteneurs
• Les snapshots
• Exploitation des containers avec LXD
• Administration des serveurs distants
• Migration des conteneurs
• Configuration avancée des containers
• Le modèle réseau Veth, MacVlan, le Bridge et
Phys
• OpenVswitch et LXC
• Les Backends de stockage
• LVM et LXC
• ZFS et LXC
• BTRFS et LXC
Formation Virtualisation légère avec LXC alphorm.com™©
Publics concernés
 Chef de projet
 Administrateur
 Développeur
 Les techniciens
Formation Virtualisation légère avec LXC alphorm.com™©
Connaissances requises
 Un bonne culture du système Linux
 La maitrise de la ligne de commande shell
 Des connaissances sur le stockage et le réseau
 Une connaissance de la virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Liens utiles
• https://linuxcontainers.org/fr/
• https://github.com/lxc/lxd
• https://github.com/lxc
• https://www.stgraber.org/category/lxc/
Formation Virtualisation légère avec LXC alphorm.com™©
Autres formations sur la virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Are you ready ? 
Formation Virtualisation légère avec LXC alphorm.com™©
La virtualisation
par conteneurs
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Le modèle : Machines Virtuelles
• Le modèle : isolation, containers
• Les produits : “Isolateur”, containers
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : Machine Virtuelle
• Une machine virtuelle c’est :
 Représentation logicielle d’une
machine physique
 Émulation du CPU, mémoire, nic,
contrôleur de disque, disque,
etc..
 Un OS installé dans la VM –
Guest OS ou OS invité
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : Machine Virtuelle
• La virtualisation complète
Matériel - Hardware
Système d’exploitation/Hyperviseur
NOYAU
Matériel
émulé
Linux -
Windows
NOYAU
VMM
Virtual
Machine
Manager
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : Machine Virtuelle
• La virtualisation complète
• La para virtualisation
Matériel - Hardware
Système d’exploitation/Hyperviseur
NOYAU
Matériel
émulé
Linux -
Windows
NOYAU
Matériel
paravirtuel
Linux - Windows
NOYAU modifié
VMM
Virtual
Machine
Manager
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : Machine Virtuelle
• La virtualisation complète
• La para virtualisation, La virtualisation assistée par le matériel
Matériel - Hardware
Système d’exploitation/Hyperviseur
NOYAU
Matériel
émulé
Linux -
Windows
NOYAU
Matériel
paravirtuel
Linux - Windows
NOYAU modifié
Matériel
VT/PAE
Passtrough
Linux -
Windows
NOYAU
VMM
Virtual
Machine
Manager
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : isolation, containers
Matériel - Hardware
OS Linux - Noyau
/etc/
/dev
/usr/bin/apache
/usr/lib/
/var/
• Mode de fonctionnement « classique »
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : isolation, containers
Matériel - Hardware
/
OS Linux - Noyau
/etc/
/usr/bin/ftpd
/usr/lib/
/var/
/etc/
/usr/bin/apache
/usr/lib/
/var/
/mnt/root-apache/ /mnt/root-ftpd/
•L’isolation d’application
Formation Virtualisation légère avec LXC alphorm.com™©
Le modèle : isolation, containers
• Pas de noyau dans les conteneurs, un répertoire égale un OS
• Pas d’émulation de matériel
• Accès direct au matériel
Matériel - Hardware
/var/lib/lxc
Ubuntu 15
/CT-03/root-fs/
CentOS 7
/CT-02/root-fs/
Débian 8
/CT-01/root-fs/
OS Linux - Noyau
Formation Virtualisation légère avec LXC alphorm.com™©
Les produits : “Isolateur”, containers
• En isolation :
 Chroot
 BSD Jails
 Les zones de Solaris
• En containers :
 LXC
 OpenVZ
 Linux-Vserver
 Dockers
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Le modèle : Machines Virtuelles
• Le modèle : isolation, containers
• Les produits : “Isolateur”, containers
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les Namespaces
et les Control groups
Concept
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Forum : http://forum.alphorm.com
Ludovic Quenec'hdu
Formateur et Consultant indépendant
OpenSource et virtualisation
Formation Virtualisation légère avec LXC alphorm.com™©
Plan
• Les espace de noms ou Namespaces
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement
plusieurs petits systèmes d’environnement ou applications sur une machine
physique
• Ces environnements exécutent des applications (web, BD, DHCP, ..) qui
n’interfèrent ni avec le système installé sur la machine, ni entre eux.
• Ils sont donc ISOLÉS
• LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements
• Les Linux namespaces
• Chroot permet une isolation au niveau du système de fichiers
 Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de
domaines ne sont pas isolés du système parent
Formation Virtualisation légère avec LXC alphorm.com™©
Les espace de noms ou Namespace
• Les namespaces sont une fonctionnalité du noyau Linux :
 Process Namespace
• Isole les processus, le conteneur dispose de sa liste de processus
 Network Namespace
• Isole les interfaces réseau, le conteneur dispose de ses propres interfaces
 Mount Namespace
• Isole les systèmes de fichiers
 UTS Namespace
• Permet au conteneur de disposer de ses noms d’hôtes et de domaines
 IPC Namespace
• Ses propres processus Inter Communications
 User Namespace
• Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Création du répertoire pour notre espace de nom de type réseau
#mkdir /var/run/netns
• Création de l’espace de nom de type réseau
#ip netns add mon_espace
#ip netns list
#ls -l /var/run/netns/
• Exécution d’un shell dans l’espace de nom
#ip netns exec mon_espace bash
#ip link list
1: lo: <LOOPBACK> mtu 65536 qdisc no ......
#exit
#ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
• Ajout d’une paire d’interface veth00 associé a eth0
#ip link add veth00 type veth peer name eth0
#ip link list
#ip address list
• Ajout et activation de l’interface eth0
#ip address add 10.0.3.10/24 dev eth0
#ip link set eth0 up
• Déplace l’interface veth00 dans l’espace de nom de PID 0
#ip link set veth00 netns 1
#exit
#ip link set veth00 up
#brctl addif lxcbr0 veth00
#brctl show
#ping 10.0.3.10
Formation Virtualisation légère avec LXC alphorm.com™©
Création d’un espace de nom réseau
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups ou Control Groups- Groupes de contrôle est une
fonctionnalité du noyaux Linux qui a pour but de :
 Contrôler les ressources
• Allocation, l'interdiction, prioritisation, figer
 Surveiller et mesurer les quantités de ressources consommées
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
profÉtudiant Système
Mémoire Disque
HTTP
NFS
1024640 512
50%20% 30% 50%20%
50%20%
Réseau
CPU Shares
50%20% 30%
Formation Virtualisation légère avec LXC alphorm.com™©
Introduction aux groupes de contrôle
• Les cgroups sont organisés en sous-systèmes ou modules
• Un sous-système est un contrôleur de ressources
• Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des
périphériques block
• Cpu : Planifie l'accès de la CPU
- Cpuacct : Rapports sur les CPU utilisées
- cpu.shares : Part relative du temps CPU disponible pour les tâches
• Cpuset : Assigne des CPU à des tâches
• Devices : Autorise ou refuse l'accès aux périphériques
• Freezer : Suspend ou réactive les tâches
• memory : Utilisation mémoire
Formation Virtualisation légère avec LXC alphorm.com™©
Ce qu’on a couvert
• Les espace de noms ou Namespace
• Création d’un espace de nom réseau
• Introduction aux groupes de contrôle – les cgroups

Contenu connexe

PDF
alphorm.com - Formation Linux LPIC-2
PDF
Alphorm.com Formation Docker (1/2) : Installation et Administration
PDF
Alphorm.com Formation Nagios et Cacti : Installation et Administration
PDF
Alphorm.com Support de la Formation PromoxVE 4.x
PDF
Alphorm.com Formation Kubernetes : Installation et Configuration
PDF
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
PDF
Alphorm.com Formation Nouveautés Windows Server 2016
PDF
Alphorm.com formation Red Hat (RH134)
alphorm.com - Formation Linux LPIC-2
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Support de la Formation PromoxVE 4.x
Alphorm.com Formation Kubernetes : Installation et Configuration
Alphorm.com Formation Linux LPIC-3 (examen 300) Environnement mixte
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com formation Red Hat (RH134)

Tendances (20)

PDF
Alphorm.com Formation GLPI: Installation et Adminisration
PDF
Alphorm.com Formation Microsoft Hyperconvergence
PDF
alphorm.com - Formation Windows 8.1 (70-687)
PDF
Alphorm.com Formation Docker (2/2) - Administration Avancée
PDF
Alphorm.com Formation SOPHOS XG FIREWALL: Les fondamentaux
PDF
Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6
PDF
Alphorm.com Formation VirtualBox
PDF
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
PDF
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
PDF
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
PDF
Alphorm.com Formation Red Hat RH124
PDF
Alphorm.com Formation Python pour les pentesteurs 2/2
PDF
Alphorm.com Formation Drupal 7 pour les utilisateurs
PDF
Alphorm.com Formation Veeam Backup & Replication 9.5
PDF
alphorm.com - Formation Administration de Citrix XenApp 6.5
PDF
Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2
PDF
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
PDF
Alphorm.com Formation Sophos Certified Engineer : EndPoint Protection
PDF
Alphorm.com Formation Odoo Technique : Installer et Configurer
PDF
Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Alphorm.com Formation GLPI: Installation et Adminisration
Alphorm.com Formation Microsoft Hyperconvergence
alphorm.com - Formation Windows 8.1 (70-687)
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation SOPHOS XG FIREWALL: Les fondamentaux
Alphorm.com Formation Déployer Xen Desktop 7.6 ET XenApp 7.6
Alphorm.com Formation VirtualBox
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm.com Formation Red Hat RH124
Alphorm.com Formation Python pour les pentesteurs 2/2
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Veeam Backup & Replication 9.5
alphorm.com - Formation Administration de Citrix XenApp 6.5
Alphorm.com Formation Implémenter une PKI avec ADCS 2012 R2
Alphorm.com Formation Oracle 12c DBA2 : Installation et mise à niveau
Alphorm.com Formation Sophos Certified Engineer : EndPoint Protection
Alphorm.com Formation Odoo Technique : Installer et Configurer
Alphorm.com Formation Configuration des services avancés de Windows Server 20...
Publicité

En vedette (20)

PDF
Alphorm.com Formation Angular - Les fondamentaux
PDF
Alphorm.com Formation SOPHOS XG FIREWALL, Administration
PDF
alphorm.com - Formation Veeam Backup & Replication 6.5
PDF
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
PDF
Fortinet UTM - les Fonctionnalités avancéese
PDF
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
PDF
Alphorm.com Formation Hacking et Sécurité , avancé
PDF
alphorm.com - Formation VMware vSphere 5
PDF
Alphorm.com Formation Office 365 Avancé
PDF
Alphorm.com Formation Fortinet UTM
PDF
Alphorm.com Formation Certified Network Defender 1/2 : Réussir la certification
PDF
Alphorm.com Formation Cisco CCNP TSHOOT
PDF
Alphorm.com Formation Hacking et Sécurité, l'essentiel
PDF
Alphrom.com Formation Découverte Office 365
PDF
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
PDF
Alphorm.com Formation MS Project 2013
PDF
Alphorm.com : Formation Active directory 2008 R2 (70-640)
PDF
Alphorm.com Formation Security+ 1/2
PDF
Alphorm.com-Formation windows phone 8.1
PDF
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Alphorm.com Formation Angular - Les fondamentaux
Alphorm.com Formation SOPHOS XG FIREWALL, Administration
alphorm.com - Formation Veeam Backup & Replication 6.5
alphorm.com - Formation Configuration de SharePoint 2010 (70-667)
Fortinet UTM - les Fonctionnalités avancéese
Alphorm.com Support de la Formation VMware vSphere 6 - Clustering HA, DRS et ...
Alphorm.com Formation Hacking et Sécurité , avancé
alphorm.com - Formation VMware vSphere 5
Alphorm.com Formation Office 365 Avancé
Alphorm.com Formation Fortinet UTM
Alphorm.com Formation Certified Network Defender 1/2 : Réussir la certification
Alphorm.com Formation Cisco CCNP TSHOOT
Alphorm.com Formation Hacking et Sécurité, l'essentiel
Alphrom.com Formation Découverte Office 365
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation MS Project 2013
Alphorm.com : Formation Active directory 2008 R2 (70-640)
Alphorm.com Formation Security+ 1/2
Alphorm.com-Formation windows phone 8.1
Alphorm.com Formation Azure Active Directory RMS et Azure Information Protection
Publicité

Similaire à Alphorm.com Formation LXC (20)

PDF
alphorm.com - Formation proxmoxVE 3
PDF
Alphorm.com Formation OpenVZ
PDF
Alphorm.com Formation KVM
PDF
Alphorm.com Support de la Formation Oracle VM Administration
PDF
alphorm.com - Formation XenSources
PDF
Linux LPIC-3 ( PDFDrive ).pdf
PPTX
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
PDF
Lin03 formation-linux-administration-bases-services
PDF
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
PPTX
Intro to docker
PDF
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
PDF
Midi technique - présentation docker
PDF
PHP dans le cloud
PDF
Php dans le cloud
PDF
Cloud et Virtualisation chapitre 1 ensakh.pdf
PPTX
Afterworks @Nouméa - DevOps, approche par container et Docker
PDF
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
PDF
M211-V1-0909.pptx.pdf
PDF
Alphorm.com - Formation programmer en Visual Basic .NET
PDF
Docker, mais qu’est-ce que c’est ?
alphorm.com - Formation proxmoxVE 3
Alphorm.com Formation OpenVZ
Alphorm.com Formation KVM
Alphorm.com Support de la Formation Oracle VM Administration
alphorm.com - Formation XenSources
Linux LPIC-3 ( PDFDrive ).pdf
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
Lin03 formation-linux-administration-bases-services
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Intro to docker
UE 2 PROJET - GROUPE MENANT--FERRY Th‚o, DO Alexandre, NADJAR Matt et Massi...
Midi technique - présentation docker
PHP dans le cloud
Php dans le cloud
Cloud et Virtualisation chapitre 1 ensakh.pdf
Afterworks @Nouméa - DevOps, approche par container et Docker
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
M211-V1-0909.pptx.pdf
Alphorm.com - Formation programmer en Visual Basic .NET
Docker, mais qu’est-ce que c’est ?

Plus de Alphorm (20)

PDF
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
PDF
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
PDF
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
PDF
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
PDF
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
PDF
Alphorm.com Formation Sage : Gestion Commerciale
PDF
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
PDF
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
PDF
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
PDF
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
PDF
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
PDF
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
PDF
Alphorm.com Formation PHP 8 : Les bases de la POO
PDF
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
PDF
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
PDF
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
PDF
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
PDF
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
PDF
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
PDF
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API

Dernier (20)

PDF
Consignes générales sécurité et environnement.pdf
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
GESTION PHYTO_10-1_ SESAME PRPS BF JUIN 2020.pptx
PPT
diaporama pictogrammes de securité2.ppt
PDF
Avis Digital Marketing Elite: Mon Retour d'Expérience Après 3 Mois d'Utilisation
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PDF
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PPTX
Séminaire protection des personnes vulnérables.pptx
PDF
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PPTX
le-present-de-lindicatif-ou-le-subjonctif-present-exercice-grammatical-feuill...
PPTX
Devenir Inspecteur HSE _ Chp1_ L1....pptx
PPTX
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
PPTX
Informatique pour débutants niveau 1.pptx
PPTX
Fondamentaux du LMD.pptx pour les etudiants
PDF
Il y a et les lieux de la ville (négation avec les indéfinis)
PPT
Les moyens de transport-2023.ppt french language teaching ppt
Consignes générales sécurité et environnement.pdf
Le rendez-vous de l'été.pptx Film français
GESTION PHYTO_10-1_ SESAME PRPS BF JUIN 2020.pptx
diaporama pictogrammes de securité2.ppt
Avis Digital Marketing Elite: Mon Retour d'Expérience Après 3 Mois d'Utilisation
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Hopital bonne sante.pptxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
🎓 Le Secret des Profs Captivants - 💡 2. Hygiène vocale et santé professionnel...
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
Séminaire protection des personnes vulnérables.pptx
🎓 Le Secret des Profs Captivants - 💡 Pourquoi l’oral est stratégique en class...
Le rendez-vous de l'été.pptx Film français
SESSION5-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
le-present-de-lindicatif-ou-le-subjonctif-present-exercice-grammatical-feuill...
Devenir Inspecteur HSE _ Chp1_ L1....pptx
Copie de Présentation Personal Branding J2025.pptx_20250610_120558_0000.pptx
Informatique pour débutants niveau 1.pptx
Fondamentaux du LMD.pptx pour les etudiants
Il y a et les lieux de la ville (négation avec les indéfinis)
Les moyens de transport-2023.ppt french language teaching ppt

Alphorm.com Formation LXC

  • 1. Formation Virtualisation légère avec LXC alphorm.com™© La virtualisation légère LXC Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation Présentation de la formation
  • 2. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Présentation du formateur • Le plan de formation • Publics concernés • Connaissances requises • Liens utiles
  • 3. Formation Virtualisation légère avec LXC alphorm.com™© Présentation du formateur • Ludovic QUENEC’HDU • lquenec@alphorm.com • Consultant et expert en Open source, logiciel libre et virtualisation • Mission de conseil, d’architecture, d’administration, de migration et de formation • Mes références :  Mon profil LinkedIn : https://fr.linkedin.com/pub/ludovic-quenec-hdu/47/6bb/550  Mon profil Alphorm : http://www.alphorm.com/formateur/ludovic-quenechdu
  • 4. Formation Virtualisation légère avec LXC alphorm.com™© Mes formations sur Alphorm
  • 5. Formation Virtualisation légère avec LXC alphorm.com™© Le plan de formation • Concept • La virtualisation par conteneurs • Les Namespaces et les Control groups • LinuxContainers.org – LXC • Mise en œuvre • Installation et configuration de LXC • Containers privilégiés • Containers non-privilégiés • Exploitation des containers avec LXC • Commandes de manipulation des conteneurs • Le clonage des conteneurs • Snapshot • Gestion des ressources avec les cgroup • Exploitation des containers avec LXD • LXD présentation et installation • Gestion des images LXD • Manipulation des conteneurs • Les snapshots • Exploitation des containers avec LXD • Administration des serveurs distants • Migration des conteneurs • Configuration avancée des containers • Le modèle réseau Veth, MacVlan, le Bridge et Phys • OpenVswitch et LXC • Les Backends de stockage • LVM et LXC • ZFS et LXC • BTRFS et LXC
  • 6. Formation Virtualisation légère avec LXC alphorm.com™© Publics concernés  Chef de projet  Administrateur  Développeur  Les techniciens
  • 7. Formation Virtualisation légère avec LXC alphorm.com™© Connaissances requises  Un bonne culture du système Linux  La maitrise de la ligne de commande shell  Des connaissances sur le stockage et le réseau  Une connaissance de la virtualisation
  • 8. Formation Virtualisation légère avec LXC alphorm.com™© Liens utiles • https://linuxcontainers.org/fr/ • https://github.com/lxc/lxd • https://github.com/lxc • https://www.stgraber.org/category/lxc/
  • 9. Formation Virtualisation légère avec LXC alphorm.com™© Autres formations sur la virtualisation
  • 10. Formation Virtualisation légère avec LXC alphorm.com™© Are you ready ? 
  • 11. Formation Virtualisation légère avec LXC alphorm.com™© La virtualisation par conteneurs Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 12. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Le modèle : Machines Virtuelles • Le modèle : isolation, containers • Les produits : “Isolateur”, containers
  • 13. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : Machine Virtuelle • Une machine virtuelle c’est :  Représentation logicielle d’une machine physique  Émulation du CPU, mémoire, nic, contrôleur de disque, disque, etc..  Un OS installé dans la VM – Guest OS ou OS invité
  • 14. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : Machine Virtuelle • La virtualisation complète Matériel - Hardware Système d’exploitation/Hyperviseur NOYAU Matériel émulé Linux - Windows NOYAU VMM Virtual Machine Manager
  • 15. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : Machine Virtuelle • La virtualisation complète • La para virtualisation Matériel - Hardware Système d’exploitation/Hyperviseur NOYAU Matériel émulé Linux - Windows NOYAU Matériel paravirtuel Linux - Windows NOYAU modifié VMM Virtual Machine Manager
  • 16. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : Machine Virtuelle • La virtualisation complète • La para virtualisation, La virtualisation assistée par le matériel Matériel - Hardware Système d’exploitation/Hyperviseur NOYAU Matériel émulé Linux - Windows NOYAU Matériel paravirtuel Linux - Windows NOYAU modifié Matériel VT/PAE Passtrough Linux - Windows NOYAU VMM Virtual Machine Manager
  • 17. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : isolation, containers Matériel - Hardware OS Linux - Noyau /etc/ /dev /usr/bin/apache /usr/lib/ /var/ • Mode de fonctionnement « classique »
  • 18. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : isolation, containers Matériel - Hardware / OS Linux - Noyau /etc/ /usr/bin/ftpd /usr/lib/ /var/ /etc/ /usr/bin/apache /usr/lib/ /var/ /mnt/root-apache/ /mnt/root-ftpd/ •L’isolation d’application
  • 19. Formation Virtualisation légère avec LXC alphorm.com™© Le modèle : isolation, containers • Pas de noyau dans les conteneurs, un répertoire égale un OS • Pas d’émulation de matériel • Accès direct au matériel Matériel - Hardware /var/lib/lxc Ubuntu 15 /CT-03/root-fs/ CentOS 7 /CT-02/root-fs/ Débian 8 /CT-01/root-fs/ OS Linux - Noyau
  • 20. Formation Virtualisation légère avec LXC alphorm.com™© Les produits : “Isolateur”, containers • En isolation :  Chroot  BSD Jails  Les zones de Solaris • En containers :  LXC  OpenVZ  Linux-Vserver  Dockers
  • 21. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Le modèle : Machines Virtuelles • Le modèle : isolation, containers • Les produits : “Isolateur”, containers
  • 22. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 23. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 24. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 25. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 26. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 27. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 28. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 29. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 30. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 31. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 32. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 33. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 34. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 35. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 36. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 37. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 38. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 39. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 40. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 41. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 42. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 43. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 44. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 45. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 46. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 47. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 48. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 49. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 50. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 51. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 52. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 53. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 54. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 55. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 56. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 57. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 58. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 59. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 60. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 61. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 62. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 63. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 64. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 65. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 66. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 67. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 68. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 69. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 70. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 71. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 72. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 73. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 74. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 75. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 76. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 77. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 78. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 79. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 80. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 81. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 82. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 83. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 84. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 85. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 86. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 87. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 88. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 89. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 90. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 91. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 92. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 93. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 94. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 95. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 96. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 97. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 98. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 99. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 100. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 101. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 102. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 103. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 104. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 105. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 106. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 107. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 108. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 109. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 110. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 111. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 112. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 113. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 114. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 115. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 116. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 117. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 118. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 119. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 120. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 121. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 122. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 123. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 124. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 125. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 126. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 127. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 128. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 129. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 130. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 131. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 132. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 133. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 134. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 135. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 136. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 137. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 138. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 139. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 140. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 141. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 142. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 143. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 144. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 145. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 146. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 147. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 148. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 149. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 150. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 151. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 152. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 153. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 154. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 155. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 156. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 157. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 158. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 159. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 160. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 161. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 162. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 163. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 164. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 165. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 166. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 167. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 168. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 169. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 170. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 171. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 172. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 173. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 174. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 175. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 176. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 177. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 178. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 179. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 180. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 181. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 182. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 183. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 184. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 185. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 186. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 187. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 188. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 189. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 190. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 191. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 192. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 193. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 194. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 195. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 196. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 197. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 198. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 199. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 200. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 201. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 202. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 203. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 204. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 205. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 206. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 207. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 208. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 209. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 210. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 211. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 212. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 213. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 214. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 215. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 216. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 217. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 218. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 219. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 220. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 221. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 222. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 223. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 224. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 225. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 226. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 227. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 228. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 229. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 230. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 231. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 232. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 233. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 234. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 235. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 236. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 237. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 238. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 239. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 240. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 241. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 242. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 243. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 244. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 245. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 246. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 247. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 248. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 249. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 250. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 251. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 252. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 253. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 254. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 255. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 256. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 257. Formation Virtualisation légère avec LXC alphorm.com™© Les Namespaces et les Control groups Concept Site : http://www.alphorm.com Blog : http://blog.alphorm.com Forum : http://forum.alphorm.com Ludovic Quenec'hdu Formateur et Consultant indépendant OpenSource et virtualisation
  • 258. Formation Virtualisation légère avec LXC alphorm.com™© Plan • Les espace de noms ou Namespaces • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 259. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • LXC, OpenVZ, Docker sont des “outils” qui permettent d’isoler très simplement plusieurs petits systèmes d’environnement ou applications sur une machine physique • Ces environnements exécutent des applications (web, BD, DHCP, ..) qui n’interfèrent ni avec le système installé sur la machine, ni entre eux. • Ils sont donc ISOLÉS • LXC utilise des fonctions du noyau Linux afin d’isoler ces environnements • Les Linux namespaces • Chroot permet une isolation au niveau du système de fichiers  Les utilisateurs, les cartes réseaux, les processus. Les noms d’hôtes et noms de domaines ne sont pas isolés du système parent
  • 260. Formation Virtualisation légère avec LXC alphorm.com™© Les espace de noms ou Namespace • Les namespaces sont une fonctionnalité du noyau Linux :  Process Namespace • Isole les processus, le conteneur dispose de sa liste de processus  Network Namespace • Isole les interfaces réseau, le conteneur dispose de ses propres interfaces  Mount Namespace • Isole les systèmes de fichiers  UTS Namespace • Permet au conteneur de disposer de ses noms d’hôtes et de domaines  IPC Namespace • Ses propres processus Inter Communications  User Namespace • Permet aux conteneurs de disposer de ses utilisateurs, root dans le conteneur possede l’id et le gid 0
  • 261. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 262. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 263. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 264. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 265. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 266. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 267. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups
  • 268. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Création du répertoire pour notre espace de nom de type réseau #mkdir /var/run/netns • Création de l’espace de nom de type réseau #ip netns add mon_espace #ip netns list #ls -l /var/run/netns/ • Exécution d’un shell dans l’espace de nom #ip netns exec mon_espace bash #ip link list 1: lo: <LOOPBACK> mtu 65536 qdisc no ...... #exit #ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group .
  • 269. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau • Ajout d’une paire d’interface veth00 associé a eth0 #ip link add veth00 type veth peer name eth0 #ip link list #ip address list • Ajout et activation de l’interface eth0 #ip address add 10.0.3.10/24 dev eth0 #ip link set eth0 up • Déplace l’interface veth00 dans l’espace de nom de PID 0 #ip link set veth00 netns 1 #exit #ip link set veth00 up #brctl addif lxcbr0 veth00 #brctl show #ping 10.0.3.10
  • 270. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  • 271. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups ou Control Groups- Groupes de contrôle est une fonctionnalité du noyaux Linux qui a pour but de :  Contrôler les ressources • Allocation, l'interdiction, prioritisation, figer  Surveiller et mesurer les quantités de ressources consommées
  • 272. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle profÉtudiant Système Mémoire Disque HTTP NFS 1024640 512 50%20% 30% 50%20% 50%20% Réseau CPU Shares 50%20% 30%
  • 273. Formation Virtualisation légère avec LXC alphorm.com™© Introduction aux groupes de contrôle • Les cgroups sont organisés en sous-systèmes ou modules • Un sous-système est un contrôleur de ressources • Blkio : Surveille et contrôle l'accès des tâches aux entrées/sorties sur des périphériques block • Cpu : Planifie l'accès de la CPU - Cpuacct : Rapports sur les CPU utilisées - cpu.shares : Part relative du temps CPU disponible pour les tâches • Cpuset : Assigne des CPU à des tâches • Devices : Autorise ou refuse l'accès aux périphériques • Freezer : Suspend ou réactive les tâches • memory : Utilisation mémoire
  • 274. Formation Virtualisation légère avec LXC alphorm.com™© Ce qu’on a couvert • Les espace de noms ou Namespace • Création d’un espace de nom réseau • Introduction aux groupes de contrôle – les cgroups