Partie 1 - Virtualisation PDF
Document Details
Uploaded by RosyJasper1280
Université Abdelmalek Essaadi, Faculté Polydisciplinaire de Larache
Y. EL BORJI
Tags
Summary
This document provides an overview of virtualization techniques. It details different types of hypervisors and their respective characteristics. The document also discusses the historical context of virtualization and its applications.
Full Transcript
Université Abdelmalek Essaadi Faculté Polydisciplinaire de Larache Département d’Informatique Parcours : MDCC - S3 Prof. Y. EL BORJI Partie 1 : Virtualisation 1. Introduction à la Virtualisation 1.1 Définition de la Virtualisation La virtualisation est une technique permettant d'exécu...
Université Abdelmalek Essaadi Faculté Polydisciplinaire de Larache Département d’Informatique Parcours : MDCC - S3 Prof. Y. EL BORJI Partie 1 : Virtualisation 1. Introduction à la Virtualisation 1.1 Définition de la Virtualisation La virtualisation est une technique permettant d'exécuter plusieurs systèmes d'exploitation (OS) et applications sur une seule machine physique grâce à une couche d’abstraction appelée hyperviseur. Cette technologie optimise les ressources matérielles. Architecture traditionnelle Architecture virtualisée des serveurs des serveurs 1.2 Contexte Historique Avant la virtualisation, chaque serveur physique était dédié à une seule application pour éviter les conflits de ressources. Cela entraînait un gaspillage de ressources : CPU, mémoire, stockage inutilisés. Exemples : Netflix et Meta Platforms utilisent la virtualisation pour adapter dynamiquement leurs ressources aux besoins de leurs utilisateurs. Partie 1 : Virtualisation Prof: Y.EL BORJI 2. Principes Fondamentaux de la Virtualisation 2.1 Architecture Traditionnelle vs Virtualisée Architecture traditionnelle : 1 serveur physique = 1 application. Architecture virtualisée : Une couche appelée hyperviseur permet d’exécuter plusieurs machines virtuelles (VMs) sur un seul serveur physique. 2.2 Hyperviseurs Un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d’exploitation de travailler sur une même machine physique en même temps. (Voir à titre d’exemple la couche VMware ESX dans ce schéma) Les hyperviseurs sont classés en deux types : Type 1 (bare-metal) : o Un hyperviseur de Type 1 ou natif, « bare metal », est un logiciel qui s’exécute directement sur une plateforme matérielle. o Avec un hyperviseur de Type 1, le système d’exploitation invité accède à l’architecture matérielle sous-jacente par l’intermédiaire d’un noyau système très léger. o L’hyperviseur de Type 1 agit comme un arbitre entre les systèmes invités. Il attribue du temps processeur et des ressources à chacun, redirige les requêtes d’entrées-sorties vers les ressources physiques, veille au confinement des invités dans leur propre espace. o C’est la méthode de virtualisation d’infrastructure la plus performante dans le cas de la virtualisation d’un centre de traitement de données Module : Virtualisation & Cloud Computing 2 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI Type 2 (hosted) : o Un hyperviseur de Type 2 est un logiciel de virtualisation des systèmes qui s’exécute à l’intérieur d’un autre système d’exploitation. o L’hyperviseur de Type 2 est consommateur de ressources car toutes les opérations de l’invité sont interceptées et traduites pour être exécutées par l’environnement hôte. o Une solution de virtualisation avec un hyperviseur de Type 2 est plutôt destinée à des usages de tests et n’est pas adaptée à des contextes de production. Prenons l’exemple de la structure d’un arbre pour illustrer la différence entre un hyperviseur de type 1 et un hyperviseur de type 2. Vous constaterez que l’hyperviseur de type 1 simplifie considérablement l’architecture et la gestion des ressources par rapport à son équivalent de type 2. Avec l'hyperviseur de type 1 (à droite) l’utilisation des ressources est en direct, alors qu’avec un hyperviseur de type 2, elles passent par l’OS intermédiaire. 3. Techniques de Virtualisation La virtualisation doit s’adapter aux différentes briques technologiques d’une infrastructure. Trois variantes d’architecture de virtualisation existent : Module : Virtualisation & Cloud Computing 3 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI 3.1 Full Virtualization Une abstraction complète du matériel. Les VMs fonctionnent indépendamment les unes des autres. Exemples : VMware, QEMU, VirtualBox. Permettent d'exécuter plusieurs systèmes d'exploitation différents sur la même machine physique Cette technologie garantit un isolement total entre les VMs, ce qui est crucial pour des applications nécessitant un niveau de sécurité ou de séparation très élevé. 3.2 Paravirtualisation Le noyau des OS invités est modifié pour collaborer directement avec l’hyperviseur. Moins de surcharge que la Full Virtualization. Exemples : Xen, KVM. Comme les conteneurs n’exécutent pas de système d’exploitation complet, ils sont très légers et démarrent rapidement. Ils consomment moins de ressources que des VMs traditionnelles. Donc utilisée pour virtualiser les applications, environnements de développement, microservices, bases de données.. 3.3 Isolation / Conteneurisation Partage du même noyau OS hôte. Plus léger que les VMs. Exemples : LXC, Docker, OpenVZ. La para-virtualisation a généralement moins de surcharge par rapport à la full virtualisation, car elle évite l'émulation complète des ressources matérielles. De plus, elle offre un niveau d'isolation et de sécurité supérieur à celui des conteneurs. 4. Plateformes de Virtualisation Technologie Description VMware ESXi Hyperviseur de type 1 bare-metal développé par VMware. Il est conçu pour les environnements (ESX) de centres de données et offre des performances élevées, une gestion avancée des VMs et des fonctionnalités telles que la migration à chaud (vMotion). Compatible avec une large gamme d’infrastructures, il est souvent utilisé pour des solutions de cloud privé. KVM (Kernel- Hyperviseur de type 1 intégré directement dans le noyau Linux depuis la version 2.6.20. KVM based Virtual utilise les capacités de virtualisation matérielle des processeurs modernes (Intel VT-x et AMD- Machine) V) pour offrir des performances quasi-natives. Il est souvent couplé avec QEMU pour la gestion et l'émulation matérielle. KVM est idéal pour les environnements open-source et les infrastructures cloud comme OpenStack. QEMU Émulateur et hyperviseur open-source de type 2, capable d’émuler des systèmes d'exploitation et des architectures matérielles multiples (x86, ARM, PowerPC, SPARC, RISC-V, etc.). Lorsqu’il est associé à KVM, il tire parti des performances de virtualisation matérielle tout en gérant l’émulation des périphériques. QEMU est particulièrement flexible et polyvalent pour des cas de développement ou de tests multi-architectures. Module : Virtualisation & Cloud Computing 4 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI Microsoft Hyper- Hyperviseur de type 1 intégré dans les systèmes Windows Server et certaines versions de V Windows. Hyper-V propose une gestion dynamique des ressources matérielles et s'intègre parfaitement dans les environnements Microsoft. Il permet la virtualisation de serveurs ainsi que la segmentation des réseaux et des machines virtuelles via des fonctionnalités comme le Live Migration. Hyper-V est largement utilisé dans les infrastructures d'entreprise Windows. Proxmox VE Plateforme open-source complète qui combine KVM pour la virtualisation traditionnelle et LXC (Linux Containers) pour la virtualisation légère. Proxmox offre une interface web conviviale pour la gestion des machines virtuelles, des conteneurs et des clusters. Il prend en charge la haute disponibilité, les sauvegardes intégrées et la migration à chaud. Idéal pour les environnements on-premise des PME et grandes entreprises. OpenVZ Technologie de conteneurisation basée sur Linux. Contrairement à la virtualisation complète, OpenVZ partage le noyau de l’hôte avec les conteneurs, ce qui le rend extrêmement léger et rapide. Utilisé principalement pour des applications Linux légères et des environnements de développement. Cependant, il ne prend pas en charge d’autres systèmes d'exploitation invités. Xen Hyperviseur open-source de type 1 initialement développé par l’Université de Cambridge. Xen permet deux types de virtualisation : la para-virtualisation (où l’OS invité est modifié pour optimiser les interactions avec l’hyperviseur) et la full virtualisation (avec des performances proches du matériel natif). Il est souvent utilisé dans des environnements cloud comme AWS (Amazon Web Services) et OpenStack. Xen utilise un domaine privilégié appelé Dom0 pour gérer les autres machines virtuelles. LXC (Linux Technologie de conteneurisation légère utilisant le noyau Linux. Contrairement aux VMs, Containers) LXC ne virtualise pas le matériel complet, ce qui le rend plus rapide et moins gourmand en ressources. Il est idéal pour isoler des applications ou des services dans des environnements Linux partagés. Les plateformes telles que Proxmox VE et LXD exploitent cette technologie. 5. Domaines de Virtualisation Il existe de nombreuses variantes ou types disponibles dans le cadre de la technologie de virtualisation, comme indiqué ci-dessous : 5.1 Virtualisation des Applications Permet aux utilisateurs d'accéder à une application à partir d'un appareil autre que celui sur lequel elle doit être correctement déployée. Elle se comporte et communique comme s'il était téléchargé directement sur l'ordinateur de l'utilisateur à l'aide d'un logiciel de virtualisation d'applications. Le serveur exécutera ensuite les commandes du client. Module : Virtualisation & Cloud Computing 5 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI 5.2 Virtualisation des Serveurs Le principe de la virtualisation des serveurs est simple en soit, on considère le serveur physique comme un ensemble de ressources (CPU / RAM / DISQUES DUR / RESEAUX ) que l’on allouera de manière statique ou dynamique au serveurs virtuels ce qui permet : o Accès au système d'exploitation disponible, fiable et constant en toutes circonstances sans interruption o Parc informatique optimisée et le nombre de serveurs physiques réduit pour des performances accrues o Coûts infrastructures sont diminués o Gestion du parc informatique simplifiée. 5.3 Virtualisation du Réseau La virtualisation des réseaux consiste à partager une même infrastructure physique au profit de plusieurs réseaux virtuels isolés. Cela permet de simplifier la gestion et améliorer la flexibilité du réseau. les fonctions de commutation, le routage, le contrôle d'accès, le pare-feu, la qualité de service et l'équilibrage de charge sont implémentées dans le logiciel. 5.4 Virtualisation du Stockage Trois approches : DAS (stockage local), SAN (réseau de stockage), et NAS (stockage réseau) en utilisant de disques virtuels (VDI, VHD, VMDK) : DAS est utilisé pour le stockage local directement attaché à la machine physique (serveur hôte). SAN et NAS sont utilisés pour le stockage partagé, soit dans des centres de données locaux, soit dans des environnements Cloud. Les données des machines virtuelles peuvent être stockées dans un Datacenter local ou dans des infrastructures Cloud, selon la configuration et les besoins de l'infrastructure de virtualisation. Module : Virtualisation & Cloud Computing 6 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI 6. Connexions Réseau pour Machines Virtuelles Type de Description Cas d'utilisation Connexion Bridge - La machine virtuelle (VM) est connectée au - Utilisé pour connecter la VM directement réseau physique via l'interface réseau de l'hôte, au réseau local (LAN). comme s’il s’agissait d’un appareil physique réel - Scénarios où l’accès direct à d’autres (ex. un PC sur le réseau). machines (comme des serveurs, imprimantes - Elle obtient une adresse IP du réseau physique ou partages réseau) est nécessaire. via un serveur DHCP (ou manuellement). - Idéal pour tester des applications en réseau - Les autres appareils du réseau peuvent dans un environnement réel. communiquer directement avec la VM, et vice versa. NAT (Network - La machine virtuelle partage la connexion - Parfait pour donner un accès Internet à une Address réseau de l'hôte pour accéder à Internet. VM sans configuration complexe. Translation) - L’adresse IP de la VM est privée et traduite par - Scénarios où la sécurité est prioritaire, car l’hôte pour permettre les communications la VM reste non accessible depuis externes. l’extérieur. - Depuis l'extérieur, la VM est invisible, car - Idéal pour naviguer sur Internet ou seules les requêtes sortantes sont autorisées. télécharger des mises à jour dans un environnement isolé. Host-Only - La connexion est établie uniquement entre - Utilisé pour créer des environnements l’hôte et les machines virtuelles. isolés pour le développement ou les tests. - Les machines virtuelles communiquent entre - Permet d’échanger des fichiers ou tester des elles et avec l’hôte via un réseau privé virtuel. applications localement sans interférence - Aucune communication avec le réseau physique extérieure. ou Internet n’est possible. - Idéal pour les scénarios où l'isolement total - Les adresses IP sont souvent attribuées via un est requis (ex. tests de sécurité, labs locaux). serveur DHCP virtuel configuré par l'hyperviseur. LAN Segment - Permet de créer un réseau virtuel isolé entre - Idéal pour des tests réseau complexes dans plusieurs machines virtuelles. un environnement contrôlé, comme la - Aucune connexion avec l’hôte ou le réseau simulation de réseaux distincts ou physique. d’architectures multi-tiers. - Contrairement au Host-Only, il ne propose pas - Utilisé pour tester des communications de serveur DHCP, donc les adresses IP doivent internes entre plusieurs machines sans être configurées manuellement. interférence avec le réseau physique. - La segmentation permet de créer plusieurs sous- - Parfait pour des scénarios d'apprentissage réseaux virtuels indépendants. ou de simulation réseau (ex. études CCNA, configurations VLAN). 7. Avantages de la Virtualisation 1) Réduction des coûts : Moins de serveurs physiques. 2) Optimisation des ressources : Utilisation efficace des CPU, mémoire et stockage. 3) Maintenance simplifiée : Migrations et sauvegardes facilitées. 4) Scalabilité : Ajustement dynamique des ressources. 5) Isolation : Chaque VM fonctionne de manière indépendante. 6) Haute disponibilité : Reprise après sinistre facilitée via le cloud. Module : Virtualisation & Cloud Computing 7 Faculté Polydisciplinaire de Larache Partie 1 : Virtualisation Prof: Y.EL BORJI 8. Virtualisation dans le Cloud Computing a) Virtualisation Vs Cloud Computing La virtualisation constitue la base du cloud computing. Dans une entreprise disposant de l'informatique et du stockage sur site, la quantité de matériel et de budget peut être limitée : o Dans un environnement cloud, la scalabilité de la virtualisation devient plus grande. o Le cloud computing permet une scalabilité automatisée selon les besoins et peut répondre à des demandes croissantes et décroissantes sans reconfiguration matérielle et / ou logicielle coûteuse. o Ca permet aussi de Centraliser la gestion des ressources virtuelles via des interfaces conviviales et des outils de gestion cloud. o Le cloud computing Assure une haute disponibilité et une reprise après sinistre grâce à des infrastructures redondantes et des sauvegardes dans le cloud. b) Types de services cloud : o IaaS : Infrastructure as a Service. o PaaS : Platform as a Service. o SaaS : Software as a Service. Module : Virtualisation & Cloud Computing 8 Faculté Polydisciplinaire de Larache