Académique Documents
Professionnel Documents
Culture Documents
Maintenant, vous avez une meilleure option - la virtualisation. La virtualisation vous permet
de séparer le système d'exploitation à partir du matériel sous-jacent, ce qui signifie que vous
pouvez exécuter plusieurs systèmes d'exploitation tels que Windows et Linux
simultanément sur une même machine physique. Ces systèmes d'exploitation sont
appelés systèmes d'exploitation invités (systèmes d'exploitation). La virtualisation vous
permet d'économiser de l'argent et du temps.
1.3 Avantages de la virtualisation
Bien entendu, le matériel du serveur physique est toujours nécessaire, mais au lieu d’installer
directement un système d’exploitation sur ce matériel, nous installons un logiciel
appelé hyperviseur, qui nous permet de scinder un système physique en plusieurs
environnements virtuels distincts et isolés appelés machines virtuelles.
Il existe deux types d'hyperviseurs: les hyperviseurs de type 1 et les hyperviseurs de type 2.
2.1.1 L'hyperviseur de type 1
est également appelé hyperviseur natif ou bare-metal, installé directement sur le matériel,
ce qui le divise en plusieurs machines virtuelles sur lesquelles nous pouvons installer des
systèmes d'exploitation invités. Le logiciel de gestion de machine virtuelle facilite la gestion
de cet hyperviseur, ce qui permet de déplacer automatiquement les systèmes d'exploitation
invités entre serveurs physiques en fonction des besoins actuels en ressources.
2.1.2 Avantages des hyperviseurs de type 1
• Tolérance aux pannes: lorsque le serveur physique tombe en panne, le logiciel de gestion
migre les instances vers les serveurs disponibles si rapidement que nous ne réalisons même
pas que le matériel physique est en panne. Les utilisateurs ne connaîtront aucun temps d'arrêt
et le matériel défaillant peut être réparé ou remplacé à un moment qui convient au personnel
de maintenance et d'exploitation.
• Allocation excessive / dynamique de la capacité de RAM: lors de l'exécution de plusieurs
instances sur un serveur, le total de RAM alloué aux machines virtuelles peut être supérieur à
la capacité de mémoire physique totale du matériel sous-jacent.
2.1.3 L’hyperviseur de type 2
est également appelé hyperviseur hébergé, installé dans un système d’exploitation hôte, avec
l’avantage de ne pas avoir besoin d’une console de gestion d’hyperviseur. Les
hyperviseurs de type 2 ne prennent pas en charge l’allocation dynamique / sur RAM, vous
devez donc faire attention lorsque vous allouez des ressources à des machines virtuelles.
• Légèreté
Les conteneurs occupent moins d'espace sur le serveur que les ordinateurs virtuels et ne
prennent généralement que quelques secondes à démarrer.
• Élasticité
Les conteneurs sont très élastiques et il n’est pas nécessaire d’allouer une quantité donnée de
ressources. Cela signifie que les conteneurs sont en mesure de faire une utilisation plus
efficace et dynamique des ressources du serveur. Lorsque la demande sur un conteneur
diminue, les ressources supplémentaires sont libérées pour être utilisées par d'autres
conteneurs.
• Densité
La densité fait référence au nombre d'objets qu'un seul serveur physique peut exécuter à la
fois. La conteneurisation permet la création d’environnements denses dans lesquels les
ressources du serveur hôte sont pleinement utilisées mais non surexploitées. Par rapport à la
virtualisation traditionnelle, la conteneurisation permet des environnements plus denses car
les conteneurs n'ont pas besoin d'héberger leur propre système d'exploitation.
• Performance
Lorsque la pression sur les ressources est importante, les performances des applications sont
bien meilleures avec les conteneurs qu'avec les hyperviseurs. En effet, avec la virtualisation
traditionnelle, le système d'exploitation invité doit également répondre à ses propres besoins
en matière de mémoire, en retirant une RAM précieuse de l'hôte.
• Efficacité de la maintenance
Avec un seul noyau de système d'exploitation, les mises à jour ou les correctifs au niveau du
système d'exploitation ne doivent être effectués qu'une seule fois pour que les modifications
prennent effet dans tous les conteneurs. Cela rend l'exploitation et la maintenance des serveurs
plus efficaces.
Presque toutes les applications qui doivent être modifiées et redéployées rapidement et
fréquemment conviennent parfaitement à la conteneurisation. Les applications utilisant une
architecture de microservices constituent également un choix naturel.
Performance du système
Dans le cas de la virtualisation traditionnelle avec des machines virtuelles,
chaque machine virtuelle dispose de son propre système d'exploitation.
Ainsi, lors de l'exécution d'applications intégrées à des machines virtuelles,
Machine Virtuelle
l'utilisation de la mémoire peut être supérieure à ce qui est nécessaire et les
machines virtuelles peuvent commencer à utiliser les ressources requises
par l'hôte.
Contrairement aux applications classiques, les applications conteneurisées
partagent un environnement de système d'exploitation (noyau), elles
Conteneur
utilisent donc moins de ressources que des machines virtuelles complètes
et réduisent la pression sur la mémoire de l'hôte.
Conteneur "Légèreté"
Les machines virtuelles traditionnelles peuvent occuper beaucoup d’espace
Machine Virtuelle disque: elles contiennent un système d’exploitation complet et les outils
associés, en plus de l’application hébergée par la machine virtuelle.
Les conteneurs sont relativement légers: ils ne contiennent que les
bibliothèques et les outils nécessaires à l'exécution de l'application
Conteneur
conteneurisée. Ils sont donc plus compacts que les machines virtuelles et
démarrent plus rapidement.
Maintenance et mises à jour
En ce qui concerne la mise à jour ou la correction du système
Machine Virtuelle d'exploitation, les machines traditionnelles doivent être mises à jour une
par une: chaque système d'exploitation invité doit être corrigé séparément.
Avec les conteneurs, seul le système d'exploitation de l'hôte du conteneur
Conteneur (la machine hébergeant les conteneurs) doit être mis à jour. Cela simplifie
considérablement la maintenance.
5 LXC
Le noyau de Linux 2.6.24 intègre une prise en charge fondamentale de la conteneurisation
pour assurer une virtualisation au niveau du système d'exploitation et permettre à un même
hôte d'exécuter plusieurs instances Linux isolées, baptisées « conteneurs Linux », ou LXC
(LinuX Containers).
LXC repose sur la notion de groupes de contrôle Linux, les cgroups. Ici, chaque groupe de
contrôle offre aux applications une isolation totale des ressources (notamment processeur,
mémoire et accès E/S), et ce sans recourir à des machines virtuelles à part entière.
Les conteneurs Linux proposent également une isolation complète de leur espace de noms.
Les fonctions telles que les systèmes de fichiers, les ID réseau et les ID utilisateur, ainsi que
tout autre élément généralement associé aux systèmes d'exploitation, peuvent donc être
considérés comme « uniques » du point de vue de chaque conteneur.
5.1 Installation
Si vous possédez une distribution récente basée sur Debian, vous devez installer le package
lxc-template.
5.2 Utilisation
lxc permet de manipuler facilement vos conteneurs. Cette section liste les commandes les plus
utiles.
La commande lxc exige des droits privilégiés d'exécution. Vous devez utiliser la
commande sudo ou toute commande vous donnant les droits nécessaires.
Pour voir la liste des conteneurs installés, leur état et leurs adresses réseau :
lxc-ls -f
Si vous ne passez pas de paramètres de création à la commande lxc-create, alors vous lancez
le mode interactif pour sélectionner l'image du système que vous souhaitez installer :
Si votre conteneur contient des snapshots, vous devez forcer la suppression des snapshots
avec l'option -s
Si vous avez une ancienne version de LXC, vous n'aurez pas accès à lxc-copy. Dans ce cas,
essayez lxc-clone :
lxc-clone <nom du conteneur> <nom du nouveau conteneur>