Alphorm.com Formation LXC

4 837 vues

Publié le

Formation complète ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-lxc

LXC "Linux Containers" est une solution puissante de virtualisation basée sur les conteneurs.
LXC permet de créer des conteneurs Linux sécurisés et isolés sur un «petit» serveur physique permettant une meilleure utilisation des serveurs et assurant que les applications ne soient pas en conflit.

Dans cette formation vous allez apprendre comment installer, configurer, déployer et administrer au quotidien un environnement virtualisé par conteneurs sous LXC et LXD.

Ludovic vous guidera dans la compréhension et la mise en place des concepts avancés de LXC : vous allez découvrir des fonctionnalités avancées du noyau Linux comme les espaces de noms et les groupes de contrôle Linux.
Aussi vous apprendrez à connecter vos conteneurs avec différents modèles réseau (Veth, Bridge, MacVlan et OpenVswitch). En plus, vous étudierez la gestion du stockage avec les systèmes de fichiers (LVM, BRFS et ZFS).
Vous pourrez administrer des serveurs locaux et distants, des serveurs d’images et vous maîtriserez la gestion quotidienne de vos conteneurs avec les snapshots, le clonage, la migration, mais également la gestion des ressources.

Comme à son habitude, Ludovic partagera avec vous toutes les astuces et bonnes pratiques avec plein de travaux pratiques.

Publié dans : Formation
1 commentaire
1 j’aime
Statistiques
Remarques
  • Merci pour cette formation elle est très intéressante. Le seul problème, c'est qu'elle n'est pas complète et que le chapitre "Les Namespaces et les Control groups" se répète à la place de ceux qui le suivent.
       Répondre 
    Voulez-vous vraiment ?  Oui  Non
    Votre message apparaîtra ici
Aucun téléchargement
Vues
Nombre de vues
4 837
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2 836
Actions
Partages
0
Téléchargements
116
Commentaires
1
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Alphorm.com Formation LXC

  1. 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. 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. 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. 4. Formation Virtualisation légère avec LXC alphorm.com™© Mes formations sur Alphorm
  5. 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. 6. Formation Virtualisation légère avec LXC alphorm.com™© Publics concernés  Chef de projet  Administrateur  Développeur  Les techniciens
  7. 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. 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. 9. Formation Virtualisation légère avec LXC alphorm.com™© Autres formations sur la virtualisation
  10. 10. Formation Virtualisation légère avec LXC alphorm.com™© Are you ready ? 
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 28. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  29. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 39. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  40. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 50. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  51. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 65. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  66. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 76. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  77. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 87. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  88. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 98. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  99. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 109. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  110. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 120. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  121. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 131. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  132. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 142. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  143. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 153. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  154. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 164. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  165. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 175. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  176. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 186. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  187. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 197. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  198. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 208. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  209. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 219. Formation Virtualisation légère avec LXC alphorm.com™© Création d’un espace de nom réseau
  220. 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. 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. 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. 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. 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. 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. 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

×