Sommaire Introduction générale... 3 Chapitre 1 : Etude Préalable... 4 Introduction... 5 1. Présentation d entreprise d accueil... 5 1.1 Présentation des différentes unités de Tunisie Télécom... 6 1.2 Domaine d'activités... 7 Conclusion... 8 Chapitre 2 : Synoptique sur la virtualisation... 9 Introduction... 10 2.1 L Apparition de la virtualisation... 10 2.2 Les avantages de la virtualisation... 11 2.3 Les différents types de virtualisation... 11 2.3.1 Virtualisation complète... 12 2.3.2 Para-virtualisation... 13 2.3.3 La containerisation... 14 Conclusion... 15 Chapitre 3 : Les hyperviseurs... 16 Introduction... 17 3.1 Introduction sur le fonctionnement des hyperviseurs... 17 3.2 Les différents types des hyperviseurs... 17 3.2.1 Les hyperviseurs de type 1... 17 3.2.2 Les hyperviseurs de type 2... 18 Conclusion... 19 Chapitre 4 : Etude et mise en place de quelques solutions de virtualisation... 20 Introduction... 21 4.1 Le cas de virtualisation complète avec KVM et Virt-Manager... 21 4.2 Le cas de Paravirtualisation avec XEN... 23 4.3 Le cas des isolateurs avec LXC et Openvz... 26 4.4 Le cas de containérisation avec Docker... 28
4.5 Le cas de Vmware ESX... 29 Conclusion... 32 Chapitre 5 : La relation entre la virtualisation et le Cloud Computing... 33 Introduction... 34 5.1 La Virtualisation de Data centers... 34 5.2 L apparition du Cloud Computing... 35 5.3 La naissance de Vcloud ( Vmware et le Cloud Computing)... 37 Conclusion... 38 Conclusion Générale... 39 Références Webographies... 40 Annexe... 41
Table de figures Figure 1 : Organigramme de l agence Tunisie Telecom Kairouan... 8 Figure 2 : L'apparition de virtualisation... 11 Figure 3 : La virtualisation complète... 12 Figure 4: La paravirtualisation... 13 Figure 5 : La différences entre la paravirtualisation et la virtualisation complète... 14 Figure 6 : La containerisation... 15 Figure 7 : Hyperviseur de type 1... 18 Figure 8 : Hyperviseur de type 2... 19
Introduction générale Depuis quelques années, la virtualisation est au centre des préoccupations des entreprises. On assiste actuellement à une montée en puissance des acteurs du marché, que ce soit dans le domaine propriétaire avec Microsoft et VMware, ou dans le monde des logiciels libres, avec l émergence de nombreux projets autour de la virtualisation tels que XEN ou OpenVZ. Grâce à la virtualisation, l'efficacité et la disponibilité des ressources et applications informatiques seront améliorées. On commence par abandonner l'ancien modèle "un serveur, une application" et exécute plusieurs machines virtuelles sur chaque machine physique. C est dans ce contexte que s inscrit notre projet de fin d études. Il s agit de concevoir et de réaliser une solution de virtualisation d'un centre de données. Ce présent travail est organisé ainsi, sur cinq chapitre au cours desquels nous décrivons progressivement les étapes suivies afin d atteindre les objectifs visés. Dans le premier chapitre on définit le contexte générale du projet ainsi nous présenterons brièvement la société Tunisie Télécom. Le second chapitre est consacré en premier lieu à l apparition de la virtualisation et Les différents types de virtualisation. Dans le chapitre suivant, nous présenterons les hyperviseurs et leur fonctionnement et Les différents types des hyperviseurs. Le quatrième chapitre consiste à l étude et la mise en place de quelques solutions de virtualisation. Dans le dernier chapitre on parlera de la relation entre la virtualisation et le Cloud Computing.
Chapitre 1 : Etude Préalable
Introduction Dans ce chapitre, il s agit de qualifier l entreprise et son environnement pour permettre d'appréhender le contexte de mon stage et ainsi préparer l'annonce de mon sujet. A cette fin, il est nécessaire tout d abord de présenter tous les éléments internes et externes à l entreprise qui peuvent avoir une interaction sur celle-ci. Puis, présenter notre mission dans l entreprise, c'est-à-dire le poste qu on a occupé ainsi que tous les faits importants, les moyens employés, les difficultés rencontrées et les solutions apportées. 1. Présentation d entreprise d accueil Notre projet de fin d étude s est déroulé au sein de Tunisie Télécom qui est un établissement public à caractère industriel et commercial doté de la personnalité civile et de l autonomie financière. L offre est placée sous la tutelle du ministère des communications, son siège est fixé à Tunis. Il a pour mission d assurer les activités relatives au domaine des télécommunications. La Société Nationale des Télécommunications, société anonyme dont le capital est de mille quatre cent millions de dinars, inscrite au registre de commerce sous le numéro B646-1995 ayant le matricule fiscal N 425665 XAM000, ayant son siège social à la rue du japon, Montplaisir, 1073 Tunis, au nom de son représentant légal. Ci-après dénommer «Tunisie Telecom». Tunisie Telecom est leader sur le marché Tunisien des télécommunications qui connait une forte croissance. Offrant une gamme complète de services de voix et de données aux clients résidentiels et professionnels. Cette position s est construite par une politique d innovation forte adaptée aux attentes des clients et orientée vers les nouveaux usages. Tunisie Telecom, est une société par actions à capitaux publics opérant sur le marché des réseaux et services de communications électroniques. Sa naissance a été consacrée par la loi N 36 du 17 Avril 1995, relative à création de l'office national des télécommunications, qui est représentée notamment par Tunisie Telecom. Tunisie Telecom est donc régie par cette loi qui lui confère le statut d'une entreprise publique économique sous la forme juridique d'une société par actions SPA. Entrée officiellement en activité à partir du 1er janvier 1996, elle s'engage dans le monde des Technologies de l'information et de la Communication avec trois objectifs : Rentabilité Efficacité
Qualité de service Son ambition est d'avoir un niveau élevé de performance technique, économique, et sociale pour se maintenir durablement leader dans son domaine, dans un environnement devenu concurrentiel. Son souci consiste, aussi, à préserver et développer sa dimension internationale et participer à la promotion de la société de l'information en Tunisie. 1.1 Présentation des différentes unités de Tunisie Télécom Au sein de la direction régionale de Kairouan, on gère différentes unités : Division administrative et financière Permet le suivi du personnel de la direction, le payement des factures et la gestion financière des marchés publics, l entretien et la construction des bâtiments administratifs et techniques, la gestion des parcs auto, la formation et les stages du personnel. Division des études Son rôle est de planifier et dimensionner les différents composants du bureau de Télécoms (RLA : Réseau Local des Abonnés), la commutation et la transmission, d étudier des projets RLA (étude de l'existant, prévision des demandes et projection dans le futur), faire les différentes statistiques et situations (parcs d'abonnés par type et par service, production et qualité de service). Division des réseaux Elle s'occupe de : - Suivi des projets de RLA (Réseau Local des Abonnés : génie civil + câblage). - Suivi des projets de commutation / transmission, c est à dire : l installation de matériel et logiciel, test et mesure, mise en service et réception. - Maintenance de réseaux téléphoniques et informatiques. Actel Est une agence administrative qui s intéresse à la réalisation des tâches de payement, elle prend en charge les nouvelles demandes de lignes des abonnés et elle résoudre certains problèmes des clients. On retrouve dans ACTEL une caisse de payement, un bureau d accueil, un service informatique, une pièce réservée à l archive et un bureau du contentieux.
Division d affaires Elle s'occupe de la gestion de logistique: Gestion du parc auto ; Gestion des Bâtiments ; Colature de GIS. 1.2 Domaine d'activités En tant qu'opérateur historique, Tunisie Télécom est chargé de: L'installation, l'entretien et l'exploitation des réseaux publics de télécommunications. L'offre de tous les services publics ou privés de télécommunications correspondant aux divers besoins à caractère social et économique. La promotion des nouveaux services de télécommunications. La contribution au développement des études et recherches scientifiques liées au secteur des télécommunications, La participation à l'effort national d'enseignement supérieur en matière de télécommunications, L'application des conventions et traités des organisations internationales et régionales spécialisées dans le domaine des télécommunications.
Organigramme de Tunisie Télécom Figure 1 : Organigramme de l agence Tunisie Telecom Kairouan Conclusion Dans ce premier chapitre, nous avons essayé de décrire le contexte du stage et les pratiques adoptés. Nous avons présenté la tache que nous avons traitée pendant la période du stage. Dans le chapitre suivant on va essayer de présenter une synoptique sur la virtualisation.
Chapitre 2 : Synoptique sur la virtualisation
Introduction Aujourd hui la virtualisation est surement l un des termes et l un des solutions les plus employés dans nos entreprises actuellement, ceci pour de nombreuses raisons c est pour cela, nous allons vous faire connaitre et donner une approche théorique de quoi sert la virtualisation. 2.1 L Apparition de la virtualisation Dans le monde de l'informatique, on définit la virtualisation comme un ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Il s agit donc d utiliser une seule machine physique en remplacement de plusieurs et d utiliser les possibilités offertes par la virtualisation pour démultiplier le nombre de machines virtuelles. La virtualisation remonte aux années 1960. A l époque, c est la firme IBM qui créé le premier système de virtualisation de serveur. Dans ce contexte, l informatique est peu présente et les rares sociétés qui possèdent des systèmes informatiques sont équipées de gros calculateurs, les Mainframe. Au cours des années 80-90 apparaît l architecture x86 et les PC se déploie auprès d un grand nombre d utilisateurs. Le besoin de virtualiser pour optimiser les machines se fait moins sentir. Mais, dans les années 90-2000, VMware réussi à virtualiser un poste x86. Ceci ouvre la porte à plus de possibilité et relance l envie pour les sociétés informatiques de développer de nouvelles fonctionnalités pour optimiser et offrir plus de flexibilité. A l heure actuelle, la virtualisation est très connue. On entend parler de virtualisation de serveur, de Virtualbox, de baremetal (citrix metaframe), mais aussi de virtualisation de poste de travail, de VDI, et de virtualisation dans les jeux-vidéos avec les émulateurs. entreprise: En 2012, trois grandes sociétés se partagent le marché de la virtualisation en VMware qui est le leader ; Citrix, très fort dans la virtualisation de poste de travail ; Microsoft, qui s aligne sur la concurrence.
2.2 Les avantages de la virtualisation Figure 2 : L'apparition de virtualisation Coût: Mutualisation des ressources matérielles, diminution du nombre des machines physiques, réduction de la consommation électrique, optimisation de la gestion des ressources matérielles, etc ; Souplesse: création et destruction des machines virtuelles à la demande, spécification et mise à jour des machines virtuelles en fonction de la demande, etc ; Isolation: Créer des environnements sécurisés et isolés qui peuvent servir en tant que plateforme d'essai ; Dégradation des performances, consommation électrique, etc Réduction des dépenses d investissement et opérationnelles ; Amélioration de la continuité d activité ; Disponibilité élevée des applications ; Augmentation de la productivité informatique ; Amélioration de la réactivité. 2.3 Les différents types de virtualisation Il existe plusieurs types de virtualisation :
2.3.1 Virtualisation complète La virtualisation complète consiste à présenter au système d exploitation invité un matériel virtuel complet s exécutant de la même manière qu un système physique. Cela permet à un système d exploitation invité de s exécuter sans modifications préalables et sans avoir conscience d être une machine virtuelle. Les systèmes hôtes et invités doivent supporter la même architecture. Un système invité x64 sur un système hôte x64. Cette solution apporte une certaine isolation entre les machines virtualisées et ces machines s exécutent en parallèle sur un ou plusieurs serveurs. Cela permet de centraliser les coûts et d exploiter au maximum le matériel. C est la technologie la plus utilisée dans les environnements complexes puisqu elle permet de virtualiser différents types de systèmes d exploitation (Windows, Linux ) sur une même plate-forme et sans modifications. Exemple: (Kvm,vmware Workstation et VirtualBox..). Avantages Exécute n importe système exploitation ; Séparation nette entre invité et hôte ; - Sécurité et stabilité. Inconvénients Figure 3 : La virtualisation complète Problèmes de performance.
2.3.2 Para-virtualisation La paravirtualisation est une évolution de la virtualisation complète, plus performante. Cette technique consiste à modifier le système invité exécuté par la machine virtuelle pour qu ils puissent exploiter de manière plus performante les ressources matérielles fournies par l hôte physique. De ce fait l OS invité pourra collaborer plus étroitement avec l hôte, l architecture obtenue est plus performante. Avantages performances accrues et stabilité. Performances optimisées ; Peut exécuter plusieurs applications. Inconvénients Nécessite une adaptation du noyau des systèmes invites. Ne permet de faire fonctionner qu un seul type de système. Modification de l invité nécessaire. - Souvent restreint à Linux Exemple: (Xen, Microsoft Hyper-V ). Figure 4: La paravirtualisation
Figure 5 : La différence entre la paravirtualisation et la virtualisation complète 2.3.3 La containerisation Les conteneurs sont des logicielles qui permettent de créer au sein du noyau un environnement cloisonné. Les applications exécutées au sein de cet environnement ne peuvent accéder qu'à un nombre limité de ressources (RAM, arborescence fichiers,...). Ce mode de virtualisation est le plus performant en raison de la faible surcharge de travail qu'implique ce mode de fonctionnement.. Ces environnements sont appelés des contextes ou bien des zones d exécution. Cette technique est peu couteuse en ressources et très performante car il n y a pas besoin d émuler le matériel. Exemple( LXC,openVZ, Linux-VServer..). Avantages performance très proche du natif (juste perte au niveau de la RAM allouable en tout). Inconvénients Un seul noyau est commun entre toutes les VMs donc une mise à jour du noyau sur une seule VM n'est pas possible, donc il n'est pas possible d'avoir une VM de production et une de test de mise à jour du noyau sur la même machine.
Figure 6 : La containerisation Conclusion Dans ce deuxième chapitre, nous avons essayé de définir la virtualisation.toutes les entreprises n ont pas les mêmes besoins et les mêmes attentes vis à vis de leur solution de virtualisation. Mais après toute cette étude on va appliquer la solution VMware Workstation comme solution de virtualisation. Dans le chapitre suivant on va essayer de présenter les hyperviseurs.
Chapitre 3 : Les hyperviseurs
Introduction Dans ce chapitre, nous allons spécifier les hyperviseurs et leurs fonctionnalités et les différents types des hyperviseurs. 3.1 Introduction sur le fonctionnement des hyperviseurs En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d'exploitation de tourner sur une même machine physique en même temps. L'hyperviseur est un noyau hôte allégé et optimisé pour ne faire tourner que des noyaux d'os invités adaptés et optimisés pour tourner sur cette architecture spécifique, les OS invités ayant conscience d'être virtualités. 3.2 Les différents types des hyperviseurs Les hyperviseurs sont classés actuellement en deux types : 3.2.1 Les hyperviseurs de type 1 Un hyperviseur de type 1 est un logiciel qui s'exécute directement sur une plateforme hardware. Il permet aux systèmes d'exploitation invités de rester relativement près du matériel et donc de conserver des performances proches d'un système de manière native. Actuellement, c est la méthode de virtualisation d'infrastructure la plus performante mais elle a pour inconvénient d être contraignante et onéreuse, bien que permettant plus de flexibilité dans le cas de la virtualisation d'un centre de traitement informatique. Exemples VMware ESX ; XEN ; Oracle VM Server.
Figure 7 : Hyperviseur de type 1 3.2.2 Les hyperviseurs de type 2 Un hyperviseur de type 2 est un logiciel généralement assez lourd qui s'exécute à l'intérieur d'un système d'exploitation. Ce logiciel permet de lancer un ou plusieurs OS invités. La machine virtualise le matériel pour les OS invités, ces derniers croient dialoguer directement avec le matériel. Les systèmes invités devront donc traverser deux couches logicielles avant d'accéder au hardware. Les performances en sont donc considérablement réduites par rapport à la paravirtualisation. Mais la facilité d'installation et de configuration de ce type de système de virtualisation représente un gros avantage. Les échanges entre les machines se font via les canaux standards de communication entre systèmes d exploitation (TCP/IP et autres protocoles réseau), un tampon d échange permet d émuler des cartes réseaux virtuelles sur une seule carte réseau réelle. Exemples : QEMU/KVM ; Microsoft VirtualServer; Oracle VirtualBox ; VMware Player ; VMware Worksation.
Figure 8 : Hyperviseur de type 2 Conclusion Dans ce chapitre on a définit brièvement les types des hyperviseurs et on remarque bien que l hyperviseur de type 2 n est pas adapté pour les environnements de production à l encontre de l hyperviseur de type 1.
Chapitre 4 : Etude et mise en place de quelques solutions de virtualisation
Introduction Dans ce chapitre, nous allons définit quelque solutions de la virtualisation et a quels types appartient (isolateurs, virtualisation complète, Paravirtualisation ou containérisation). 4.1 Le cas de virtualisation complète avec KVM et Virt-Manager KVM est un hyperviseur de virtualisation complète et peut exécuter les deux invités Windows et Linux. En utilisant KVM, on peut exécuter plusieurs machines virtuelles fonctionnant images Linux ou Windows non modifiés. Chaque machine virtuelle dispose d'un matériel privé virtualisé: une carte réseau, disque, carte graphique, etc. virt-manager est basé sur un ensemble d'outils de virtualisation bas niveau, allant de l'interface utilisateur aux interactions matérielles avec le processeur. Cette terminologie est plutôt déroutante et d'autres documentations peuvent mentionner les outils suivants : KVM est le module du noyau Linux qui interagit avec les fonctionnalités de virtualisation du processeur ; QEMU est le logiciel de virtualisation basé sur KVM qui émule les processeurs virtuels et les périphériques et qui lance et éteint les machines virtuelles ; libvirt est la bibliothèque qui permet à virt-manager d'interagir avec les capacités de virtualisation fournies par QEMU ; SPICE est un protocole qui permet de visualiser le bureau des machines virtuelles ; virt-manager est l'interface graphique qui permet de créer, configurer, et faire tourner les machines virtuelles.
Lancement de XP Progression de l installation Préparation De Windows
Démarrer De Windows 4.2 Le cas de Paravirtualisation avec XEN Il est développé par l'université de Cambridge (UK). Xen est un hyperviseur qui requière un noyau adapté pour faire fonctionner des machines virtuelles. Initiateur de la paravirtualisation, cet hyperviseur fût et est encore largement déployé dans le monde malgré son pré-requis lourd à mettre en place. Du fait de cette «paravirtualisation» (adaptation du système d'exploitation invité) et de sa légèreté, Xen est un outil de virtualisation des plus performants. En effet les systèmes invités peuvent avoir un accès direct au matériel, ce qui offre un bien meilleur potentiel d'optimisation. Cependant, faire fonctionner une machine virtuelle Windows dont le code source est fermé pose quelques problèmes. Le fait de paravirtualiser le noyau en le «xenifiant» permet d'apporter des fonctionnalités comme la migration à chaud (dite «live») assurant ainsi une plus grande disponibilité de services par la fonctionnalité de Haute Disponibilité. Le Xen est la solution la plus rapide et la plus sûre virtualisation de l'infrastructure disponible aujourd'hui.
Lancement de la machine virtuel Apres une seconde la machine s ouvre
Entre login et mot de passe Ping entre deux machines virtuels Étendre la machine virtuel
4.3 Le cas des isolateurs avec LXC et Openvz LXC LXC, contraction de l anglais Linux Containers est un système de virtualisation, utilisant l'isolation comme méthode de cloisonnement au niveau du système d'exploitation. Il est utilisé pour faire fonctionner des environnements Linux isolés les uns des autres dans des conteneurs partageant le même noyau et une plus ou moins grande partie du système hôte. Le conteneur apporte une virtualisation de l'environnement d'exécution (Processeur, Mémoire vive, réseau, système de fichier ) et non pas de la machine. Pour cette raison, on parle de «conteneur» et non de machine virtuelle. OpenVZ OpenVZ propose de la virtualisation basé sur la compartimentation pour Linux. OpenVZ crée de multiples containers isolés et sécurisés (appelés parfois VE ou VPS) sur un seul serveur physique assurant une meilleure utilisation des ressources du serveur et assurent que les applications ne rentrent pas en conflit. Chaque container fonctionne sur le même principe qu'un serveur physique. Un container peut ainsi être redémarré indépendamment et avoir un compte root, des utilisateurs, des adresses IP, mémoire allouée, processus, applications, bibliothèques système et fichiers de configuration.
Les deux containers virtuels sont fonctionnels On entrant l adresse IP, un balancement se fait entre les deux containers Fonctionnement du container 1
Fonctionnement du container 2 En ouvrant le container 1 et on fermant le container 2 Lorsqu on entre l adresse IP elle nous amène au container 1 et vis vers sa 4.4 Le cas de containérisation avec Docker Docker permet d'embarquer une application dans un container virtuel qui pourra s'exécuter sur n'importe quel serveur (Linux et bientôt Windows). C'est une technologie qui a pour but de faciliter les déploiements d'une application, et la gestion du dimensionnement de l'infrastructure sous-jacente. Cette solution est proposée en open source (sous licence
Apache 2.0) par une société américaine, également appelée Docker, qui a été lancée par le Français Solomon Hykes. Docker est un open-source projet qui automatise le déploiement d' applications à l'intérieur de conteneurs logiciels, en fournissant une couche supplémentaire d'abstraction et d'automatisation de la virtualisation au niveau du système d'exploitation sur Linux. Docker utilise les caractéristiques d'isolement des ressources du noyau Linux tels que cgroups et noyau espaces de nomspermettent aux «conteneurs» indépendants de se présenter dans une instance Linux unique, évitant la surcharge de démarrage et le maintien des machines virtuelles Docker, une plateforme opensource de gestion de virtualisation par container permettant de simplifier l administration de plateformes Linux 4.5 Le cas de Vmware ESX VMware vsphere est un logiciel d infrastructure de Cloud computing de l éditeur VMware, c est un hyperviseur de type 1 (Bare Metal), basé sur l architecture VMware ESXi. VMware vsphere est le logiciel client qui permet de visualisé les machines virtuelles sur un serveur physique, il nécessite une configuration matérielle restreinte précisée dans le guide de comptabilité VMware. La gestion de ce serveur hôte peut se faire via plusieurs possibilités : par le navigateur Web avec une connexion directe, par une console cliente avec une connexion directe ou par un outil de gestion centralisée nommé VMware vcenter Server qui permet d administrer l ensemble des machines virtuelles, des hôtes physiques, de leurs ressources et des options de l environnement (High Availability, vmotion, Storage vmotion, Distributed Resource Scheduler, Fault Tolerance) depuis une seule console.
Interface De Connexion à l hote ESX i En cliquant sur connexion cette fenêtre s affiche
Création d une nouvelle machine virtuelle Cette interface nous a permis de choisir un des systèmes d exploitation
Démarrer De Windows Conclusion Au cours de ce chapitre, nous avons pu étudier quelques hyperviseurs du monde open source comme : Xen, KVM, LXC et OpenVZ On a aussi pris quelques captures de la salle serveur de l iset d un hyperviseur payant (VMWARE ESX) qui traitent aussi la virtualisation des serveurs.
Chapitre 5 : La relation entre la virtualisation et le Cloud Computing
Introduction La virtualisation est le levier fondamental d une transition réussie vers le Cloud Computing. Éditeur de logiciels d entreprises et leader des solutions de virtualisation, VMware affiche également la plus forte croissance du marché. 5.1 La Virtualisation de Data centers La virtualisation est un concept beaucoup plus ancien qui constitue le socle du Cloud Computing. La virtualisation regroupe l ensemble des techniques matérielles ou logicielles permettant de faire fonctionner, sur une seule machine physique, plusieurs configurations informatiques (systèmes d exploitation, applications, mémoire vive, ) de manière à former plusieurs machines virtuelles qui reproduisent le comportement des machines physiques. Un Datacenter est un centre, abrité dans un bâtiment présentant de grandes salles, qui centralise des données informatiques mises en place sur des serveurs. Afin que ces données soient à tout moment accessibles et protégées, le centre est équipé de systèmes de protection contre les dégâts extérieurs, les risques de coupure électrique, les risques d'incendie, les risques d'intrusion ou encore contre l'accès de personnes malveillantes sur les serveurs. Figure 9 : Modélisation d un Datacenter
5.2 L apparition du Cloud Computing Le Cloud Computing, ou informatique dans le nuage, est, outre ses nouvelles spécificités techniques, un nouveau concept. Cette nouvelle façon de penser et de concevoir le rapport homme/machine s inscrit dans un cycle bien plus large : pendant longtemps la machine n était qu une simple interface de visualisation de l information et tout son traitement était internalisé (l ère du Minitel), puis les machines ont embarqué de la puissance de calcul et de la mémoire et les calculs ont alors été externalisés et effectués en local. La «course à la puissance» était engagée jusqu à la saturation de la fréquence de l horloge interne de l ordinateur. Aujourd hui, nous nous dirigeons, avec l émergence des tablettes tactiles, vers un retour à la notion d interface de travail. Logiciels et données sont dans la majeure partie hébergés dans des serveurs privés ou communautaires à travers le monde. Figure 10 : Evolution de l'informatique depuis le Minitel jusqu'au Cloud Computing Il est généralement admis que le concept de Cloud Computing a été initié par le géant Amazon en 2002. Le cybermarchand avait alors investi dans un parc informatique afin de palier les surcharges des serveurs dédiés au commerce en ligne constatées durant les fêtes de fin d année. A ce moment-là, Internet comptait moins de 600 millions d utilisateurs mais la fréquentation de la toile et les achats en ligne étaient en pleine augmentation. En dépit de cette augmentation, les ressources informatiques d Amazon restaient peu utilisées une fois que les fêtes de fin d année étaient passées. Ce dernier a alors eu l idée de louer ses capacités informatiques le reste de l année à des clients pour qu ils stockent les données et qu ils utilisent les serveurs. Ces services étaient accessibles via Internet et avec une adaptation en temps réel de la capacité de traitement, le tout facturé à la consommation. Cependant, ce n est
qu en 2006 qu Amazon comprit qu un nouveau mode de consommation de l informatique et d internet faisait son apparition. Bien avant la naissance du terme de Cloud Computing, utilisé par les informaticiens pour qualifier l immense nébuleuse du net, des services de Cloud étaient déjà utilisés comme le webmail2, le stockage de données en ligne (photos, vidéos, ) ou encore le partage d informations sur les réseaux sociaux. Dans les années 1990, un autre concept avait déjà préparé le terrain au Cloud Computing. Il s agit de l ASP (Application Service Provider3 ) qui permettait au client de louer l accès à un logiciel installé sur les serveurs distants d un prestataire, sans installer le logiciel sur ses propres machines. Le Cloud Computing ajoute à cette offre la notion d élasticité avec la possibilité d ajouter de nouveaux utilisateurs et de nouveaux services d un simple clic de souris. La virtualisation est un concept beaucoup plus ancien qui constitue le socle du Cloud Computing. La virtualisation regroupe l ensemble des techniques matérielles ou logicielles permettant de faire fonctionner, sur une seule machine physique, plusieurs configurations informatiques (systèmes d exploitation, applications, mémoire vive, ) de manière à former plusieurs machines virtuelles qui reproduisent le comportement des machines physiques. C est le fait de formaliser une offre de services informatiques dématérialisés à la demande en direction des entreprises qui a été le moteur de développement du Cloud Computing en tant que tel. Avantages Du Cloud Computing Un démarrage rapide Le Cloud Computing permet de tester le business plan rapidement, à coûts réduits et avec facilité. L'agilité pour l'entreprise Résolution des problèmes de gestion informatique simplement sans avoir à vous engager à lon g terme. Un développement plus rapide des produits
Réduisons le temps de recherche pour les développeurs sur le paramétrage des applications. Pas de dépenses de capital Plus besoin des locaux pour élargir vos infrastructures informatiques. Inconvénients La bande passante peut faire exploser votre budget La bande passante qui serait nécessaire pour mettre cela dans le Cloud est gigantesque, et les coûts seraient tellement importants qu'il est plus avantageux d'acheter le stockage nous mêmes plutôt que de payer quelqu'un d'autre pour s'en charger. Les performances des applications peuvent être amoindries Un Cloud public n'améliorera définitivement pas les performances des applications. Taille de l'entreprise Si votre entreprise est grande alors vos ressources sont grandes, ce qui inclut une grande consommation du cloud. Vous trouverez peut être plus d'intérêtà mettre au point votre propre Cloud plutôt que d'en utiliser un externalisé. Les gains sont bien plus importants quand on passe d'une petite consommation de ressources à une consommation plus importante. 5.3 La naissance de Vcloud ( Vmware et le Cloud Computing) vcloud est un projet de cloud computing mené par VMware. Il a pour but de permettre à ses clients de migrer leur travail, à leur demande 1, à partir de leur stockage interne des hyperviseurs VMware vers un stockage à distance (des hyperviseurs VMware également). Le but du projet est de fournir la puissance du cloud computing avec la flexibilité permise par la virtualisation. Le projet a été annoncé à la conférence 2008 de VMworld à Las Vegas et a retenu l'attention médiatique importante.. Lors de la conférence VMworld en 2009 à San Francisco, vcloud a été présenté dans son propre pavillon 3. vcloud a également été un des sujets de la conférence de 2010. L'initiative vcloud a grandi avec de nombreux prestataires de services publics et de multiples applications de soutien.
vcloud architecture repose sur vshield Edge pour son fonctionnement, des réseaux routés dans vcloud a besoin d'une machine virtuelle fonctionnant VShield logiciels de pointe, agissant en tant que passerelle par défaut de ce réseau. Cette passerelle virtuelle est mis en œuvre sur un hébergeur gratuit sur le système et fournit ses services à des machines virtuelles sur cet hôte et sur d'autres hôtes. Conclusion Au cours de ce chapitre, nous avons décrit la relation entre le Cloud Computing et la virtualisation. Aujourd hui, plus de 190 000 clients et 25 000 partenaires font déjà confiance aux solutions VMware.Sur la voie du Cloud Computing, VMware privilégie une approche évolutive avec des solutions axées sur la simplification de l informatique, la réduction des coûts et la flexibilité de mise en œuvre des services. Les entreprises ont une gamme de chemins vers le Cloud.
Conclusion Générale Le présent travail a été réalisé au sein de la société de Tunisie Telecom. Il s agit de tester quelques hyperviseurs de virtualisation au service du Cloud Computing. Et ceci pour tenter de trouvé quelques réponses à des problèmes liés aux infrastructures physiques à savoir la diminution du nombre des machines physiques, la création et la destruction des machines virtuelles à la demande et l optimisation de la gestion des ressources matérielles. Dans La première partie nous avons fait un tour d'horizon des différentes techniques de virtualisation. Dans La deuxième partie nous avons essayé de définir les différents types des hyperviseurs et leurs fonctionnalités. Et dans la dernière partie nous avons pu étudier plusieurs solutions de virtualisation comme : xen, kvm, openvz, lxc et Vmware ESX. Mais faute de temps on n a pas pu travailler sur d autres hyperviseurs comme Vagrant et Docker. Au terme de ce travail, nous tenons à mettre en exergue l importance de l opportunité que ce travail nous a offerte dans le sens où nous avons pu nous initier à de nouveaux termes comme la virtualisation, les hyperviseurs et le Cloud Computing. D autre part ce travail nous a permis d approfondir nos connaissances surtout en Linux. Finalement, ce projet nous a été bénéfique puisqu il nous a permis d appliquer les connaissances acquises au cours de nos formations et d être privilégié de connaître un nouvel environnement.
Références Webographies http://fr.wikipedia.org/wiki/virtualisation http://en.wikipedia.org/wiki/virtualization http://fr.wikipedia.org/wiki/cloud_computing http://www.linux-kvm.org http://www.xen.org http://wiki.openvz.org http://www.idf.direccte.gouv.fr/img/pdf/cloud_computing_final.pdf
Annexe Installation de xen Installer le paquets suivants #aptitude install xen-linux-system-3.2.0-4-amd64 xen-hypervisor-4.1-amd64 lvm2 Ajuster la conf du grub pour prioriser l'entrée du kernel Xen #dpkg-divert --direct /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen Mettre à jour le grub.cfg: #update-grub Afin de préserver les options de configuration comme l'allocation de la RAM ou le nombre de CPU assignés au Dom0 : Ouvrir cet fichier #nano /etc/default/grub # Xen boot parameters for non-recovery Xen boots (in addition to GRUB_CMDLINE_XEN) GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu. GRUB_DISABLE_OS_PROBER=true Ces instructions permettent de conserver les déclarations lors de l update du Grub. Tester et vérifier la conf du grub du dom0 #update-grub2 #cat /boot/grub/grub.cfg Et après reboot
#xm vcpu-list #xm list Configuration de réseau Afin de router le paquet par l'interface de l hyperviseur, activer le routage et le proxy ARP: #nano /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.all.proxy_arp=1 #sysctl p Configuration de LVM créer une partition de type LVM #fdisk /dev/sdb puis taper n puis faites entrer puis faites entrer puis faites entrer enfin taper w Créer le volume physique (PV) pvcreate /dev/sdb1 Créer le groupe de volumes (VG) vgcreate VG1 /dev/sdb1 Configuration de xen Editer le fichier de Configuration du daemon XEN #nano /etc/xen/xend-config.sxp (network-script 'network-route netdev=eth0')
(vif-script vif-route) (dom0-min-mem 512) (enable-dom0-balloning no) (total_available_memory 0) (dom0-cpus 1) Configuration des xen-tools Installer le package approprié #aptitude install xen-tools Editer le fichier de configuration pour les paramètres de création par défaut #nano /etc/xen/xen-tools/xen-tools.conf lvm = VG1 install-method = debootstrap size = 8Gb # Disk image size. memory = 512Mb # Memory size swap = 512Mb # Swap size fs = ext4 # use the EXT3 filesystem for the disk image. dist = wheezy # Default distribution to install. image = sparse # Specify sparse vs. full disk images. #gateway = 192.168.1.183 #netmask = 255.255.255.255 #nameserver = 192.168.1.1
dhcp = 1 passwd = 1 kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` arch = amd64 mirror = `xt-guess-suite-and-mirror --mirror` mirror_wheezy = http://debian.ens-cachan.fr/ftp/debian/ ext3_options ext2_options xfs_options = noatime,nodiratime,errors=remount-ro = noatime,nodiratime,errors=remount-ro = defaults reiserfs_options = defaults btrfs_options = defaults serial_device = hvc0 #default disk_device = xvda #default output = /etc/xen extension =.cfg nohosts = 1 # default copyhosts = 0 # default Création de domu (VM) Création d'une VM wheezy basique
xen-create-image --install-method=deboostrap --paygrub --hostname=vm01.test.local --dhcp Démarrer la machine virtuelle xm create -c vm01.test.local.cfg
Installation de kvm 1. Vérifiez que votre processeur dispose des flags vmx ou svm avec la commande #grep ^flags.*(vmx svm) /proc/cpuinfo 2. Installez les paquetages kvm et kvm-pxe # sudo apt-get install kvm kvm-pxe 3. Vérifiez que le module kvm_intel ou kvm_amd est bien chargé #sudo lsmod 4. Ajouter l utilisateur dans groupe kvm #nano /etc/group 5. Déconnectez/reconnectez linvite pour mettre à jour vos groupes : (tapez groups pour vérifier que linvite fait bien partie du groupe kvm). #groups 6. Créez un répertoire Créez un répertoire /vservers appartenant au groupe kvm #mkdir /vservers #cd /vservers #ls -l /vservers 7. Donnez les droits d écriture au groupe kvm Chown prop : group /vservers Exemple Chown root : kvm /vservers Ou Chmod g+w /vservers Je vais choisir de travailler sur un autre disque dur. (/dev/sdb) 8. Formater le disque en ext4 #mkfs.ext4 /dev/sdb1
9. Montage dans /etc/fstab /dev/sdb1 /vservers ext4 defaults 0 0 10. Création d une machine virtuelle Windows Créez un fichier /vservers/win2008.raw qui contiendra le disque dur de la machine virtuelle Windows avec qemu-img create /vservers/win2008.raw 8G # qemu-img create /vservers/win2008.raw 8G 11. Lancez l installation de XP avec #kvm -m 512 -cdrom /home/win2008.iso -boot d /vservers/win2008.raw 12. Une fois l installation terminée, arrêtez XP. #shutdown 13. Lancement de XP #kvm -m 512 /vservers/win2008.raw
Installation de openvz 1. Ajouter la ligne suivant dans le fichier /etc/apt/sources.list deb http://download.openvz.org/debian wheezy main 2. Installation de openvz #wget http://ftp.openvz.org/debian/archive.key #apt-key add archive.key #apt-get update #apt-get install linux-image-openvz-amd64 3. Éditez le fichier /etc/sysctl.d/openvz.conf cp /etc/sysctl.conf /etc/sysctl.d/openvz.conf On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # We do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 Si les valeurs n existent pas vous pouvez rajouter les lignes manquantes
4. installer les programmes niveau utilisateurs de OpenVZ #apt-get install rsync vzctl vzquota Enfin on configure grub pour démarrer automatiquement sur le kernel OpenVZ. Éditez le fichier /boot/grub/grub.cfg et vérifier la position du kernel OpenVZ. 5. Installation de OpenVZ Web Panel L installation est simple est automatique, il vous suffit simplement de lancer les commande suivantes: #wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh #wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh sh #wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh >> ai.ssh #apt-get autoremove ruby1.9 purge L ors de l installation il se peut que vous obtenez une erreur liée à Ruby. Il suffit simplement de changer la version de Ruby de 1.9 à 1.8 avec les commandes suivantes: #apt-get install ruby-switch #ruby-switch --set ruby1.8 Une fois l installation d openvz Web Panel terminée vous pouvez y accéder via votre navigateur internet préféré via l IP de votre serveur openvz et en utilisant le port 3000. Utilisez le login admin/admin pour vous connecter à l Interface web. Vous accéder alors au Dashboard d openvz.
A partir de la vous pouvez manager vos VPS, en créer des nouveaux, télécharger les templates d OS, modifier ou créer des templates de serveurs etc
Installation de lxc Installez LXC et configuration des groupes de contrôle #aptitude install lxc 1. créer un répertoire #mkdir / cgroup 2. ajouter la ligne suivante dans /etc/fstab Cgroup /cgroup cgroup defaults 0 0 3. Montez ensuite les groupes de contrôle #mount cgroup 4. Vérification de l environnement par l intermédiaire lxc-checkconfig #lxc-checkconfig 5. Utilisation originale #apt-get install lxc 6. Debootsrapping Avant que nous puissions exécuter cette installation debootstrap #aptitude install debootstrap 7. Démarrer la machine virtuelle En suite dans le fichier de configuration du conteneur : nano /var/lib/lxc/vmxc01/config 8. Ajouter les lignes suivants lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.name = eth0 lxc.network.ipv4 = 192.168.231.135/24 lxc.network.veth.pair =veth0 #lxc.network.hwaddr = 00 :FF :AA :00 :00 :02 9. Création du conteneur Création du conteneur avec le système Debian ou (ubuntu, centos ).
#lxc-create -n lxcvm01 -t debian Lancement du conteneur #lxc-start -n lxcvm01 Lancement du conteneur en arrière plan #lxc-start -n lxcvm01 -d Lancement de la console pour se connecter #lxc-console -n lxcvm01 Pour stopper le conteneur #lxc-stop -n lxcvm01 Vérifier à nouveau(fermer, ouvert..) #lxc-info -n lxcvm01 Pour liste les conteneurs #lxc-list