Virtualisation des Serveurs PDF
Document Details
Uploaded by Deleted User
Soumaya Dahi
Tags
Summary
Ce document présente un cours sur la virtualisation des serveurs, décrivant les concepts de base, les hyperviseurs, et leurs types (type 1 et type 2).
Full Transcript
Chapitre 2: LA VIRTUALISATION DES SERVEURS Enseignante: Soumaya Dahi PRÉSENTATION La virtualisation est une technologie qui permet de faire fonctionner plusieurs systèmes d'exploitation, en parallèle, sur un même ordinateur/serveur....
Chapitre 2: LA VIRTUALISATION DES SERVEURS Enseignante: Soumaya Dahi PRÉSENTATION La virtualisation est une technologie qui permet de faire fonctionner plusieurs systèmes d'exploitation, en parallèle, sur un même ordinateur/serveur. 2 Architecture traditionnelle Architecture virtualisée NOTIONS DE BASES Systèmes d'exploitation hôtes et invités lorsque plusieurs systèmes d'exploitation tournent en parallèle, sur un même ordinateur: l'oshôte: c'est le système d'exploitation qui gère les accès matériels. il héberge les autres systèmes d'exploitation, orchestre les accès au matériel demandés par les os invités. Cette hiérarchie permet de partager des ressources hardware entre plusieurs os. 3 NOTIONS DE BASES Machine virtuelle Une machine virtuelle est un logiciel chargé d'émuler une machine physique. Un système d'exploitation est fait pour s'exécuter sur une architecture d'ordinateur particulière (type de processeur, drivers spécifiques, langage assembleur...). L'OS a donc des contraintes matérielles qui doivent être respectées pour que ce dernier puisse faire son travail. La machine virtuelle est une couche logicielle qui présente un ensemble d'instruction au système d'exploitation qu'elle héberge. Permettre au système de faire des accès hardware sur du matériel virtuel (matériel émulé). Besoin de traduire et rediriger ces appels vers le système hôte afin qu'ils soient exécutés sur le matériel réel. 4 LES HYPERVISEURS 5 LES 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. 6 LE RÔLE D'UN HYPERVISEUR Rôle d'un OS: Partage le processeur entre plusieurs processus o S'appuie sur des mécanismes HW comme les Interruptions o Partage la mémoire entre plusieurs processus o S'appuie sur des mécanismes HW comme la MMU o Partage les I/O des périphériques entre plusieurs processus 7 LE RÔLE D'UN HYPERVISEUR Rôle de l'hyperviseur Permettre ces mécanismes pour chaque OS invité o lui permettre de croire qu'il est le seul sur la machine Créer des ressources virtuelles propres à chaque VM Chaque VM a son propre disque dur, sa mémoire, son processeur et ses périphériques (mais en virtuel) Répartir les ressources l’hyperviseur joue le rôle de chef d’orchestre pour allouer à chaque VM les ressources dont elles ont besoin, au bon moment et dans les bonnes quantités 8 LE RÔLE D'UN HYPERVISEUR Niveaux d'exécution Un processeur a plusieurs niveaux d'exécution (Ring) o Ring 0 – Kernel – accès au HW o Ring 1,2 – non utilisé Ring 3 o Ring 3 – User Ring 2 Le kernel en Ring0 peut controler Ring 1 les processus utilisateurs en Ring3, Ring 0 l'inverse n'est pas possible Noyau Normalement, les instructions assembleur pouvant changer la configuration HW ne devraient s'exécuter qu'en Ring0 Ring 0 : OS Ring 1 : non utilisé Ring 2 : non utilisé Ring 3 : Espace utilisateur (applications) 9 LE RÔLE D'UN HYPERVISEUR Application à la virtualisation L'hyperviseur est exécuté en Ring0 Les OS Invités sont exécutés en Ring1 o Ils doivent passer par l'hyperviseur pour l'exécution des instructions critiques. o L'OS ne doit pas découvrir qu'il ne s'exécute pas en Ring0 Les applications sont toujours exécutées en Ring3 Nécessité d’intercepter les communications avec les interruptions, la MMU... et simuler de façon logicielle ces interfaces. 1 LES TYPES D’HYPERVISEURS Hypervieur de type 1. Hypervieur de type 2. 11 HYPERVISEUR DE TYPE 2 Un hyperviseur de Type 2 est un logiciel qui s’exécute a l’intérieur d’un autre système d’exploitation. Un OS invité s’exécutera en troisième niveau au-dessus du matériel. Les système invités devront traverser deux couches logicielles avant d'accéder au hardware. Dégradation de performances Mais facilité d'installation et de configuration Les OS invités n’ayant pas conscience d’être virtualisés, ils n’ont pas besoin d’être adaptés virtualisation complète exemples : VMware Workstation, VMware Fusion, l’hyperviseur open source QEMU, les produits Microsoft Virtual PC et Virtual Server, VirtualBox d’Oracle, de même 12 que Parallels Workstation de SWsoft et Parallels Desktop. HYPERVISEUR DE TYPE 2 VMware a développé en 1988 une technique appelée translation binaire (Binary Translation) permettre de placer l’hyperviseur en Ring 0, déplacer les OS à un niveau supérieur (Ring 1) tout en leur garantissant un niveau de privilège supérieur à ceux des applicatifs (Ring 3) La translation binaire modifie certaines instructions provenant du Guest OS avant de les envoyer pour traitement aux processeurs physiques. 13 HYPERVISEUR DE TYPE 2 Ils sont adaptés pour les petites infrastructures. ils sont adaptés dans le cas où vous avez une seule machine et que vous voulez faire des tests multiplateformes (d’application, d’OS, de communication…). 14 HYPERVISEUR DE TYPE 1 Technique développée notamment par XenServer de Citrix. Elle évite d'utiliser un système hôte complet pour faire la virtualisation. Un hyperviseur de Type 1, ou natif, est un logiciel qui s’exécute directement sur une plateforme matérielle ; L’hyperviseur type 1 est un noyau hôte allégé et optimisé pour ne faire tourner initialement que des noyaux de systèmes d’exploitation invités plateforme considérée comme outil de contrôle de système d’exploitation. ces systèmes invités ont "conscience" d’être virtualisés (paravirtualisation). Bonne isolation et système plus performant exemples :Xen , Oracle VM, ESX Server de 15 VMware. HYPERVISEUR DE TYPE 1 un noyau très léger de système d'exploitation hôte est utilisé. Elle consiste à modifier les OS invités (la couche du noyau) pour permettre de s’exécuter ailleurs que sur le Ring 0. Le Guest OS est conscient d’être virtualisé et modifie certaines instructions bas niveau avant de les envoyer au hardware. Il n’y a donc pas d’interception d’instructions ni de translation binaire. 16 HYPERVISEUR DE TYPE 1 ET PARAVIRTUALISATION Dans la virtualisation complète les hyperviseurs permettent de traduire les appels systèmes Dans la paravirtualisation, des drivers backend et frontend sont installés dans les OS Ils permettent de faire la redirection plus rapide que la traduction. o Ce mécanisme est utilisé pour accéder à du matériel potentielement très sollicité (disque dur, interface réseau...). o Le contrôle d'un ou plusieur matériel(s) est donné à un des OS virtualisés (OS1 qui contient le driver backend). o l'OS 2, qui souhaite accéder au harware, devra passer par son driver front end qui redirigera les appels système vers l'OS 1. 17 HYPERVISEUR DE TYPE 1 ET PARAVIRTUALISATION 18 1 ET PARAVIRTUALISATION Ex : Xen Machi Machi Machi VM modifiées : ne ne ne virtuell virtuell virtuell toutes les instructions e e e Dom0 DomU DomU privilégiées pour la CPU et la OS OS Non OS Non mémoire sont modifiées pour Privilég ié Périphérique privilég privilég s’adresser à l’hyperviseur s Disques Modifié Réseaux ié ié celles privilégiées pour les Modifié Modifié CPU + Ring 3 périphériques, disques et Mémoire réseaux sont modifiées pour Ring 0 Ring 0 Hypervise s’adresser au Dom0. ur Matéri Périphérique CPU + el s Mémoire Disques Réseaux 19 HYPERVISEUR DE TYPE 1 ET PARAVIRTUALISATION Avantages : hyperviseur léger, vitesses accès disques et réseaux proches d’une machine réelle. ils sont particulièrement utiles dans des grosses architectures réseaux d’entreprise, qui nécessitent des optimisations de coûts et de maintenance, tout en améliorant la robustesse face aux pannes. o Inconvénient: la dépendance d'un OS virtualisé vis à vis d'un autre qui se créé par ce mécanisme de driver. 20 o si l'OS 1 tombe en panne, l'OS 2 ne pourra plus accéder au matériel. HARDWARE ASSISTED VIRTUALIZATION But: simplifier la tâche de l’hyperviseur évitant de mettre l’OS sur un Ring qui n’est pas conçu pour lui Éviter de modifier le noyau de l’OS Nouveau mode d’exécution introduit par les processeurs Intel avec Intel VT (Virtualization Technology) et AMD-V (Virtualization) Il comporte un niveau racine (Root), correspondant à des Rings inférieurs à 0, et un niveau normal, correspondant aux anciens Rings de 0 à 3. 21 HARDWARE ASSISTED VIRTUALIZATION L’hyperviseur fonctionne en mode Racine (Root Mode) avec le niveau de contrôle le plus élevé niveau privilégié qui accède directement au matériel Les systèmes d’exploitation invités fonctionnent sur le Ring 0. plus besoin de modifier les Guest OS, ni d’utiliser de translation (sauf pour certains jeux d’instructions). Avantage: réduire considérablement l’overhead. Fluidifier le partage des ressources physiques entre les machines virtuelles. 22 RÉCAPITULATIF 23 GESTION RÉSEAU DES VMS 24 MODES DE GESTION RÉSEAU Quand on crée une machine virtuelle sur une machine hôte nous avons le choix entre 3 types de connectivité : Host-only, NAT Bridged. 25 MODE BRIDGED (1/2) La carte virtuelle est pontée sur la carte réseau physique. Cette carte aura dès lors deux adresses IP. Le DHCP du réseau attribuera une IP à cette nouvelle carte en croyant qu’il s agit d’une nouvelle machine sur le réseau. 26 MODE BRIDGED (2/2) 27 MODE NAT (1/2) NAT (Network Address Translation) la VM va utiliser la translation d'adresse, la machine hôte sert de passerelle et effectue la translation d'adresse avant d'envoyer les paquets de la VM vers le réseau. Elle met son adresse IP en source du paquet et tient à jour une table de translation. Une fois la réponse reçue, la machine hôte sait que le paquet est à destination de la VM et met celui-ci à jour en conséquence avant de le transmettre à la VM. C'est le mode par défaut (du moins sur VirtualBox et VMWare). ce mode peut être intéressant s’il y a de la sécurité appliquée sur un port d’accès d’une salle où on autorise une seule adresse MAC définie à se connecter, 28 MODE NAT (2/2) 29 MODE HOST ONLY (1/2) Il y a un réseau fermé entre la VM et la machine hôte. La VM ne peut pas communiquer avec une autre machine que l'hôte et aucune autre machine que l'hôte ne peut entrer en communication avec elle. 30 MODE HOST ONLY (2/2) 31 MODES GESTION RÉSEAU Résumé 32 MODE LAN SEGMENT Cemode permet d’isoler des machines sur un LAN virtuel. regrouper sur un même LAN virtuel plusieurs machines virtuelles, sans qu’elles puissent accéder au réseau local, au réseau extérieur, ni même à l’hôte physique. Exemple: si un LAN virtuel « LAN-1 » est créé, toutes les machines ayant une carte réseau en mode LAN Segment connectée au « LAN-1 » pourront communiquer ensemble. Si on crée un « LAN-2 » toutes les machines reliées à ce LAN pourront communiquer ensemble mais ne pourront pas communiquer avec les machines virtuelles du « LAN-1 ». 33 LES APPLICATIONS PROFESSIONNELLES DE LA VIRTUALISATION DES SERVEURS 34 ATOUTS DE LA VIRTUALISATION SERVEUR Optimisation de l'usage du matériel Utilisation de moins de serveurs dont la puissance est supérieure (16-64 cores) Permet la resizing dynamique des VM, sans arrêt ou avec arrêts courts Création d'image “template” qui permettront la création rapide de nouvelles VM. Mise à disposition de service de virtualisation à la demande (offres cloud) Ex : IBM SBDTIC (Smart Business Dev & Test on IBM Cloud) Permet de créer en quelques minutes un VM avec OS et middleware de son choix facturé à l'heure. ($0,1 / heure) Ex : OVH mini-cloud 5Go de Hd / 8GHz /100Mbps et paiement selon la taille mémoire à l'heure, à partir de (0,01e / heure) 35 02/15/1 LIMITES DE LA VIRTUALISATION SERVEUR la virtualisation demande un certain niveau d'administration suivre les évolutions de consommation des VM et de les déplacer le cas échéant. mettre à jour les VMs (sécurité) et plus il y en a, plus il faut automatiser le processus. gérer la sauvergarde. Tout ne peut pas être virtualisé Oracle refuse la virtualisation (autre que Oracle VM) et demande ainsi de payer les licences pour l'ensemble des processeurs physiques. Bien vérifier les licences... 36 02/15/1 DISPONIBLITÉ DE LA VIRTUALISATION SERVEUR 37 DISPONIBILITÉ: DEFINITION C’est l'aptitude d’un dispositif (équipement, système, service…) à remplir ou à être en état de remplir une fonction à un instant donné ou dans un intervalle de temps donné. Dans un système virtualisé (composé d'hyperviseurs et de VMs): Nécessité de garantir la continuité de fonctionnement des services en cas de défaillance. Mesure de performance obtenue en divisant la durée durant laquelle un équipement ou système est opérationnel par la durée totale durant laquelle on aurait souhaité qu'il le soit Ratio classiquement exprimé sous forme de pourcentage Ne pas confondre la disponibilité avec la rapidité de 38 réponse (performance) DISPONIBILITÉ: DEFINITION MTBF Taux disponibilité (MTTR + MTBF) = Indice de fiabilité : MTBF Temps moyen entre défaillances consécutives (Mean Time Between Failure) Peut être exprimé en unités plus parlantes comme le nombre de pannes pour 100 h de production Indice de maintenabilité : MTTR Temps moyen pour réparer (Mean Time To Repair) Exprime la moyenne des temps de tâches de réparation 39 DISPONIBILITÉ: VALEURS USUELLES Taux Temps d'arrêt par an 90 % 876 heures soit plus de 36 jours 95 % 438 heures soit plus de 18 jours 99 % 87 heures, 36 minutes soit plus de 3 jours et demi 99,9 % 8 heures, 45 minutes, 36 secondes 99,99 % 52 minutes, 33,6 secondes 99,999 % 5 minutes, 15,36 secondes 99,9999 % 31,68 secondes 40 DISPONIBILITÉ : TECHNIQUES De nombreuses techniques sont utilisées pour améliorer la disponibilité La redondance des matériels et la mise en cluster: Failover clustering, Mémorisation d'état, Migration à chaud. La sécurisation des données: Mirroring, Réplication, RAID, Snapshot.virtualisation de stockage 41 TECHNOLOGIE DE CLUSTERING Cluster = agrégat de machines dans un but de travail coopératif Deux fonctionnalités Augmentation de la puissance de traitement (scalability) Augmentation de la disponibilité (availability) Le client connaît uniquement l’adresse IP virtuelle du cluster C’est toujours l’adresse virtuelle qui répond quelque soit la machine physique qui détient l’application Nécessite des applications compatibles c’est-à-dire 42 programmées dans ce contexte TECHNOLOGIE DE CLUSTERING Cluster de basculement(failover clustering) C'est une technologie permettant d'automatiser la reprise d'une application ou d'un service sur un autre serveur (nœud). Un cluster désigne une grappe de serveurs une ou plusieurs machines physiques capables de supporter le même ensemble de machines virtuelles. Le failover est un basculement qui s'opère lorsque le composant principal est en défaut le service ou l'application bascule d'une machine en défaut vers une machine en fonctionnement nominal 43 TECHNOLOGIE DE CLUSTERING Cluster à répartition de charges (load-balancing cluster) Mise en œuvre d’un groupe (grappe) de serveurs utilisés aléatoirement par les clients Le service de cluster bascule les requêtes vers le/les nœud(s) le/les moins chargé(s) Les nœuds sont clonés : ils offrent le même service 44 TECHNOLOGIE DE CLUSTERING La migration à chaud Les machines virtuelles sont dotées de plus en plus d'applications qui sont critiques pour les entreprises. Les différents acteurs du marché ont alors développé des services de haute disponibilité permettant aux applications de toujours fonctionner car le crash d'un élément est en principe transparent. Les solutions qui ont été mises en place par les acteurs se nomment : Citrix XenMotion. Microsoft Hyper-V. 45 VMware H.A. TECHNOLOGIE DE CLUSTERING La migration à chaud: principe de fonctionnement: deux machines hôtes sont actives et exécutent des applications(APP1 et APP2) au-dessus, de deux machines virtuelles(VM1 et VM2). Elles sont managées par les hyperviseurs (VMM1 et VMM2). Un SAN est utilisé pour garantir la disponibilité des données pour les deux applications. Quand une panne est détectée, la machine virtuelle (VM1) redémarre instantanément sur le second hôte(VMM2). Cet hôte exécute les deux machines virtuelles(VM1 et VM2) jusqu'à que le premier hôte soit réparé. Une fois que l'hôte(VMM1) est réparé, le système reprend son état initial sans qu'aucun arrêt de fonctionnement ne soit initialisé. La migration de la machine virtuelle se fait à 46 chaud, c'est ce que l'on appelle la migration à chaud. DISPONIBLITÉ POUR LES HYPERVISEURS Beaucoup de recherches et d'études ont été faites sur les moyens de garantir la disponiblité grâce aux hyperviseurs. But: reprendre des principes déjà éprouvés sur les machines virtuelles comme la réplication ou la solution à plusieurs hyperviseurs. 47 DISPONIBILITÉ POUR LES HYPERVISEURS Les solutions multi-hyperviseurs Dans la solution MultiHype, l’architecture proposée se compose de plusieurs hyperviseurs sur une unique plateforme physique. Chaque machine virtuelle de ce dispositif fonctionne en concurrence et indépendamment les unes des autres. Ce système permet de confiner toute anomalie sur son propre périmètre sans perturber les autres. l’ensemble est plus résistant et moins sensible aux attaques et défaillances de tout type. La disponiblité de cette virtualisation s’en trouve améliorée. La configuration comporte un contrôle de la mémoire et un système d’isolement pour faire face aux défaillances des machines virtuelles. 48