• Aucun résultat trouvé

CONCEPTION D’UN ENVIRONNEMENT VIRTUEL POUR LE DEPLOIEMENT D’UN CENTRE DE DONNEES

N/A
N/A
Protected

Academic year: 2022

Partager "CONCEPTION D’UN ENVIRONNEMENT VIRTUEL POUR LE DEPLOIEMENT D’UN CENTRE DE DONNEES"

Copied!
117
0
0

Texte intégral

(1)

RÉPUBLIQUE DU BÉNIN ¤¤¤¤¤¤¤¤¤¤

UNIVERSITÉ D’ABOMEY-CALAVI (UAC) ¤¤¤¤¤¤¤¤¤¤

ECOLE POLYTECHNIQUE D’ABOMEY-CALAVI (EPAC) ¤¤¤¤¤¤¤¤¤¤¤¤¤

DEPARTEMENT DE GENIE INFORMATIQUE ET TELECOMMUNICATION (GIT)

Option : Réseaux Informatiques etInternet (RII)

MEMOIRE DE FIN DE FORMATION

POUR L’OBTENTION DU

DIPLOME D’INGENIEUR DE CONCEPTION

THEME :

Présenté par :

Bidossessi Emmanuel AGOSSOU

Soutenu publiquement le Vendredi 18 février 2011 devant le jury composé de :

Année Académique : 2013 – 2014 7ème Promotion

CONCEPTION D’UN ENVIRONNEMENT VIRTUEL POUR LE DEPLOIEMENT D’UN CENTRE DE DONNEES : CAS

DE BJNet

Réalisé par :

Joris Dagbégnon FAGBEMIRO

Présenté et soutenu publiquement devant le jury composé de : Président : Capitaine Michel DOSSOU, Dr., Enseignant à l’EPAC

Membres : 1- Lieutenant Bidossessi R. ALAHASSA, Ir., Maître de mémoire 2- Dr. Médésu SOGBOHOSSOU, Enseignant à l’EPAC

3- Capitaine Firmin DONADJE, Ir.

(2)

Réalisé par Joris Dagbégnon FAGBEMIRO i

SOMMAIRE ... i

DEDICACES ... ii

REMERCIEMENTS ... iii

LISTE DES SIGLES ET ABREVIATIONS ... v

LISTE DES TABLEAUX ... viii

LISTE DES FIGURES ...ix

RESUME ... x

ABSTRACT ...xi

INTRODUCTION GENERALE ... 1

CHAPITRE 1 : ETUDE DE L’EXISTANT ... 5

CHAPITRE 2 : LA VIRTUALISATION ... 13

CHAPITRE 3 : CHOIX DE LA SOLUTION DE VIRTUALISATION ... 26

CHAPITRE 4 : ARCHITECTURE VIRTUELLE DU CENTRE DE DONNEES ET RECOMMANDATIONS DE DEPLOIEMENT ... 42

CHAPITRE 5 : SIMULATION ET TESTS ... 56

CHAPITRE 6 : ANALYSE ET DISCUSSION ... 64

CONCLUSION ET PERSPECTIVES ... 68

BIBLIOGRAPHIE ... 69

ANNEXES ... 77

GLOSSAIRE ... 89

ENGLISH VERSION ... 91

TABLES DES MATIERES ... 102

(3)

Réalisé par Joris Dagbégnon FAGBEMIRO ii

A

Mon père Zacharie FAGBEMIRO MARTIN, Ma mère Rita QUENUM,

Ma sœur Fèmi Iris et son époux Victorin, Mon frère Kayodé.

Merci de m’avoir toujours soutenu et d’avoir cru en moi.

Dagbégnon Joris FAGBEMIRO

(4)

Réalisé par Joris Dagbégnon FAGBEMIRO iii

Je remercie en premier lieu le Seigneur Dieu Tout-Puissant pour m’avoir permis d’aller jusqu’au bout du présent travail malgré les épreuves traversées.

Je remercie aussi tous ceux qui, de près ou de loin, ont participé à la réalisation de ce travail. Je pense particulièrement :

-

Au Professeur Félicien AVLESSI, Directeur de l’Ecole Polytechnique d’Abomey-Calavi, et à son adjoint le Professeur Clément BONOU ;

-

Au Professeur Marc Kokou ASSOGBA, chef du département de Génie Informatique et Télécommunications et à tous les enseignants dudit département ;

-

A l’ensemble du corps enseignant de l’EPAC ;

-

A mon maitre de mémoire, Ing. Bidossessi R. ALAHASSA, qui a accepté encadrer ce travail ;

-

Au feu Docteur Sèmiyou ADEDJOUMA ;

-

A tout le personnel de la Direction des Transmissions et de

l’Informatique de l’Etat-Major Général des Forces Armées

Béninoises ;

(5)

Réalisé par Joris Dagbégnon FAGBEMIRO iv

-

A Arnaud QUENUM (Ingénieur chez NetApp en France), Gildas DA MATHA SANT’ANNA (Ingénieur à Comtel Technologies) et tout le personnel de Comtel Technologies ;

-

Aux ingénieurs John AOGA, Brice HESSOU, Déo-Gratias SONON, Léocady TABE, Boris DOSSA, Boris KOUMONDJI, Florentio DE SOUZA, Oscar GBADOU, Briand IDOSSOU, Maxime HOUNTONDJI, Lionel HOUSSOU, Marlise MONTCHO et Thierry DJOSSOU ;

-

A mes camarades de la 7

ème

promotion, que ce soit en GIT, GE, GME et GC ;

-

Aux autres étudiants du département, en particulier Steaven, Asser, Romaric, Gafarou, Bilquis, Juliana, Anicet, Carole, Costa, Franck ;

-

A tous les membres du club de génie en herbe de l’EPAC que j’ai eu la joie et l’honneur de diriger ces trois dernières années ;

-

A Abdias OFFRIN, Cédric MEHOU, Candide HOUNGNANDAN,

Claude CHABI, Lauraine QUENUM, Yessirath TOUKOUROU,

Maëlle HOUETO et tous mes autres ami(e)s que je ne pourrais

citer ici.

(6)

Réalisé par Joris Dagbégnon FAGBEMIRO v

C

CDDL : Common Development and Distribution License

CIPMA : Chaire Internationale Physique Mathématique et Application CRM : Customer Relationship Management

D

DAS : Direct Attached Storage DMZ : DeMilitarized Zone DNS : Domain Name System

E

ERP : Enterprise Resource Planning EPT : Extended Page Tables

G

Go : Gigaoctet

I

IBM : International Business Machines ICMP : Internet Control Message Protocol IMAP : Internet Message Access Protocol

iSCSI : Internet Small Computer System Interfaces IT : Information Technology

(7)

Réalisé par Joris Dagbégnon FAGBEMIRO vi

K

KVM : Kernel-based Virtual Machine KVM : Keyboard Video Mouse

L

LVM : Logical Volume Manager

M

MAC : Medium Access Control

N

NAS : Network Attached Storage NFS : Network File System

NIC : Network Interface Card

O

OSI : Open Systems Interconnection

P

POP : Post Office Protocol

PRA : Plan de Reprise d’Activités

R

RAM : Random Access Memory

RAID : Redundant Array of Inexpensive Disk

(8)

Réalisé par Joris Dagbégnon FAGBEMIRO vii

S

SAN : Storage Area Network SAS : Serial Attached iSCSI

SDN : Software Defined Networking SMB : Server Message Block

SMF : System Management Facility SMTP : Simple Mail Transfer Protocol SPOF : Single Point Of Failure

U

UCL : Université Catholique de Louvain UAC : Université d’Abomey-Calavi

V

VLAN : Virtual Local Area Network VNIC : Virtual Network Interface Card VPN Virtual Private Network

Z

ZFS : Z or Zettabyte File System

(9)

Réalisé par Joris Dagbégnon FAGBEMIRO viii

Tableau III.I : Caractéristiques matérielles des serveurs du projet BJNet .... 28 Tableau III.IV : Tableau comparatif des techniques de virtualisation ... 33 Tableau III.V : Récapitulatif des outils pour les serveurs, relais et pare-feux ... 40 Tableau V.I : Caractéristiques matérielles des machines virtuelles utilisées pour la simulation ... 58 Tableau V.II : Plan d’adressage des zones créées pour la simulation ... 60

(10)

Réalisé par Joris Dagbégnon FAGBEMIRO ix

Figure 1.1: Architecture physique du centre de données de BJNet ... 11

Figure 2.1: Différence entre architecture standard et architecture virtualisée (Source : Raynaud, 2011) ... 15

Figure 2.2: Domaines de la virtualisation ... 16

Figure 2.3: Virtualisation au sein d’un OS par isolation (source : Donnette et Hannequin, 2007) ... 20

Figure 2.4: Noyau en espace utilisateur (source : Donnette et Hannequin, 2007) ... 21

Figure 2.5: Virtualisation complète: à gauche avec un hyperviseur de type 1 et à droite avec un hyperviseur de type 2 (source: Santy, 2010) ... 23

Figure 2.6: Paravirtualisation (Source : VMware, 2007) ... 23

Figure 4.1: Première approche d’architecture ... 43

Figure 4.2 : Architecture de l’environnement virtuel du centre de données de BJNet ... 48

Figure 5.1: Topologie de l’environnement de simulation... 57

Figure 5.2 : Test d’accès réseau entre le relais inverse web et le serveur web ... 61

Figure 5.3: Test d’accès réseau entre le client et le relais inverse HTTP de la DMZ publique ... 62

Figure A - 1 : Niveau de privilège dans les processeurs de l’architecture x86 .. 79

Figure 1: Physical architecture of the datacenter ... 94

Figure 2: Domains of virtualization ... 95

Figure 3 : Virtual architecture of datacenter ... 98

Figure 4: Architecture of simulation ... 98

(11)

Réalisé par Joris Dagbégnon FAGBEMIRO x

Le déploiement du centre de données de BJNet passe par la mise en place d’une douzaine de serveurs et relais, et de quatre pare-feux, répartis sur quatre réseaux différents. Cependant, il n’y a de disponible qu’une seule machine physique ayant une seule carte réseau. Le challenge est donc de rendre possible ce déploiement de centre de données sur le seul serveur disponible. Pour cela, nous avons opté pour les solutions de virtualisation, qui permettent de faire fonctionner sur un seul serveur physique, plusieurs autres serveurs en simultané, mais aussi de les mettre en réseau. Nous avons donc conçu un environnement de virtualisation pour le déploiement des serveurs de ce centre de données. Pour cela, nous avons comparé les outils à utiliser pour fournir ces services, ainsi que les diverses techniques et solutions de virtualisation et avons choisi de combiner la virtualisation au sein d’un OS (utilisation des zones Solaris) et la virtualisation complète. Les solutions de virtualisation choisies sont le système d’exploitation OpenIndiana et l’hyperviseur de type 2 VirtualBox. Nous avons donc, à la base de ceux-ci, conçu l’architecture de cet environnement virtuel qui intègre à la fois les aspects systèmes et réseaux et avons, pour finir, fait des recommandations pour un déploiement sûr et efficace. Les résultats de notre simulation ont montré, qu’en plus d’être fonctionnelle et de satisfaire aux contraintes, notre architecture est extensible et peut donc couvrir des besoins futurs d’ajout de serveurs.

Mots-clés : virtualisation, Zones Solaris, OpenIndiana, CrossBow

(12)

Réalisé par Joris Dagbégnon FAGBEMIRO xi

The deployment of the datacenter of BJNet calls for the set up of a dozen of servers and relays, and four firewalls, distributed over four different networks. However, only a single physical machine which have one network card is available. So the challenge is to make possible the deployment of this datacenter on this server. To address this problem, we have opted for virtualization’s solutions that allow to run on a single physical server, several servers simultaneously, but also to network them. So we have designed a virtualization environment for deploying servers in this data center. For this, we have compared the tools which will be used to provide these services, as well as various virtualization’s technics and solutions and have chosen to combine virtualization within an OS (by the use of Solaris zones) and full virtualization. Selected virtualization’s solutions are the operating system OpenIndiana and type 2 hypervisor VirtualBox. So, based on that, we have designed the architecture of this virtual environment that integrates both aspects of systems and networks and, finally, makes recommendations for a safe and efficient deployment. The results of our simulation have shown that, in addition to being functional and respectful of constraints, our architecture is scalable and can therefore cover future needs for adding servers.

Keywords: virtualization, Solaris Zones, OpenIndiana, CrossBow

(13)

Réalisé par Joris Dagbégnon FAGBEMIRO 1

Les systèmes informatiques modernes sont construits autour d’une architecture client-serveur où des équipements légers, les clients, viennent chercher des données et utiliser des services fournis par un ou des serveurs et cela au travers d’un réseau. Il peut s’agir, en termes de services, de stockage de données, de consultation et d’envoi de mails, d’utilisation d’applications pour le calcul ou la gestion (ERP, CRM,…)1, etc. Pour la fourniture de ces services, il a longtemps été d’usage de dédier un serveur à un service. Ce modèle empêchait ainsi que la défaillance d’un serveur n’entraîne l’indisponibilité de tous les services ; mais nécessitait de grands moyens financiers, pour l’acquisition des serveurs et des équipements réseaux, leur exploitation (alimentation, refroidissement) et leur maintenance. De plus, le taux d’utilisation de ces serveurs allait de 5%

(VMWare, 2014) à 20% en moyenne (Sekkaki, 2007). C’est dans l’optique de mieux utiliser les ressources des serveurs et de réduire les moyens nécessaires à la mise en place de services, que s’est popularisé l’usage de la virtualisation.

Cette technologie existait déjà depuis les années 1960, mais était surtout utilisée sur les mainframes2 comme ceux d’IBM3 (Hess et Newman, 2010).

C’est dans les années 2000 que cette technologie a commencé à être populaire auprès du grand public. Elle a apporté au monde de l’informatique nombre de nouvelles opportunités ; en plus de celle permettant de faire fonctionner plusieurs serveurs sur un nombre réduit de machines physiques,

1 ERP : Enterprise Resource Planning ; CRM : Customer Relationship Management

2 Issus de l’informatique centralisée des années 1960, les mainframes sont d’imposants et puissants ordinateurs qui centralisent les données et les traitements d’un système d’information ; et où les clients qui se connectent sont généralement de simples terminaux informatiques, généralement passifs.

3 IBM : International Business Machines Corporation est une multinationale américaine présente dans les domaines du matériel et des services informatiques et du logiciel.

(14)

Réalisé par Joris Dagbégnon FAGBEMIRO 2

voire même une seule machine physique (Singh, 2004). Il s’agit d’une technologie à la portée de tous, du particulier qui souhaite exécuter en toute sécurité une distribution Linux sur sa plate-forme Windows, aux grandes entreprises qui souhaitent rentabiliser davantage leur infrastructure informatique (Santy, 2010).

1. Contexte, justification et problématique

BJNet est un réseau d’infrastructures permettant l’interconnexion de toutes les structures de l’administration publique, notamment de l’Université et la Défense. En outre, le réseau peut fournir un accès à Internet à toutes structures exploitant ses infrastructures. Ce réseau est national ; ses infrastructures sont donc présentes dans tous les départements et couvre une bonne partie des communes du Bénin.

BJNet souhaite offrir aussi à ses clients, outre l’interconnexion et l’accès à Internet, certains services additionnels comme le DNS (Domain Name System), l’hébergement de sites web, le mail, etc.

Il lui faut donc se doter d’un certain nombre de serveurs, regroupés au sein d’un centre de données, qui accompliront ces tâches. Lesdits serveurs seront évidemment regroupés en un réseau informatique, et dans le cas de BJNet, il s’agit en l’occurrence de quatre réseaux distincts interconnectés.

Cependant, le projet ne dispose que de deux serveurs physiques, qui fonctionneront en cluster, c’est-à-dire que les services déployés sur l’un seront répliqués à l’identique sur l’autre. On peut donc considérer que, pour le déploiement des serveurs (répartis sur quatre réseaux différents et hébergeant des services fonctionnant sous divers systèmes d’exploitation)

(15)

Réalisé par Joris Dagbégnon FAGBEMIRO 3

constituant le datacenter de BJNet, on ne dispose que d’un serveur physique.

La virtualisation se présente donc comme la seule solution à cette problématique.

C’est donc dans le cadre de l’utilisation de la virtualisation, pour le déploiement du centre de données de BJNet, que s’inscrit notre présent travail de fin d’études.

2. Objectifs

Le principal objectif visé par ce travail est de concevoir l’environnement de virtualisation pour le déploiement du centre de données de BJNet.

Plus spécifiquement, il s’agira pour nous :

 de choisir, à la lumière des contraintes spécifiques au contexte d’étude, les outils pour la fourniture des services, la technique et la solution de virtualisation la plus idoine ;

 de concevoir l’architecture virtuelle globale des serveurs à déployer;

 et de faire des recommandations pour un déploiement efficace.

Le présent mémoire fait le point de nos travaux et comprend six chapitres:

 Les deux premiers nous permettront de mieux présenter le centre de données de BJNet à mettre en place et de faire ensuite l’état de l’art sur la virtualisation ;

 Le troisième présentera les aspects techniques pris en considération quant au choix des outils à utiliser sur les serveurs, de la technique et de la solution de virtualisation à utiliser ; et le quatrième sera

(16)

Réalisé par Joris Dagbégnon FAGBEMIRO 4

consacré à la conception de l’architecture virtuelle des serveurs à déployer ;

 Les deux derniers chapitres seront consacrés à une simulation de notre environnement proposé et à une analyse critique dudit environnement.

Enfin, nous conclurons par un point de nos travaux et par la proposition de perspectives.

(17)

5

1. CHAPITRE 1 : ETUDE DE L’EXISTANT

CHAPITRE

ETUDE DE L’EXISTANT

(18)

Réalisé par Joris Dagbégnon FAGBEMIRO 6

1.1 Présentation du projet BJNet

BJNet est un projet initié, dans le cadre de la coopération entre l’Université Catholique de Louvain (UCL) et l’Université d’Abomey-Calavi (UAC), par deux professeurs. D’une part, le Professeur Marc LOBELLE, Colonel de Réserve de l’Arme des Transmissions dans l’Armée Belge et Professeur à l’Université Catholique de Louvain ; et d’autre part, le Professeur Norbert HOUNKONNOU, Président de la Chaire Internationale Physique Mathématique et Application (CIPMA) et coordonnateur du projet au Bénin.

Ce projet vise la modernisation de l’Administration publique par la mise en place d’un réseau pour l’interconnexion entre ses principales structures.

Cette interconnexion se fait avec de la fibre optique et des faisceaux hertziens.

Dans son modèle de déploiement, BJNet base le cœur du réseau sur les tronçons de fibre optique de Bénin Télécoms S.A. qui, met à la disposition de BJNet, une paire de fibre noire que BJNet se charge d’alimenter avec ses propres équipements. Au regard du budget et tenant compte de la faisabilité dans les délais impartis, BJNet interconnecte certaines structures avec des fibres acquises sur fonds propre. Ainsi, la Faculté des Sciences de la Santé, le campus d’Abomey-Calavi, le Ministère de la Défense Nationale et le campus du camp Guézo sont entièrement interconnectés en fibre optique. Les autres entités sont interconnectées en faisceaux hertziens.

Ce réseau est national, car les structures à interconnecter sont présentes dans tous les départements du Bénin.

(19)

Réalisé par Joris Dagbégnon FAGBEMIRO 7

1.2 Intérêt de la mise en place d’un centre de données

Ce projet est d’un grand intérêt, surtout pour l’enseignement, car il apporte une solution au problème d’insuffisance d’enseignants et de ressources didactiques dans les centres universitaires. En effet, parmi la vingtaine de centres universitaires répartis sur le territoire, les campus universitaires de Calavi et Parakou ont plus d’enseignants et de supports pédagogiques que les autres. BJNet, grâce à l’interconnexion envisagée, permettra à ces autres centres universitaires de bénéficier de la mutualisation desdites ressources. Ainsi, les applications qui seront développées, comme la plate-forme d’apprentissage à distance, permettront de juguler largement le déficit d’enseignants. De plus, ce réseau permettra d’améliorer la coopération entre les universités.

Le projet BJNet, afin de satisfaire pleinement son objectif d’interconnexion des structures sus-mentionnées, se doit de mettre en place un service de base : le DNS. En effet, cela permettra aux utilisateurs du réseau d’employer des noms symboliques plutôt que les adresses IP afin de communiquer.

Outre cela, BJNet mettra en place les services à valeur ajoutée suivants : - Service de mail,

- Hébergement de sites web, - Transfert de fichiers.

(20)

Réalisé par Joris Dagbégnon FAGBEMIRO 8

Et envisage ultérieurement de :

- Mettre en place un cache de Google,

- S’inscrire comme un nœud du réseau Eduroam au profit des universités, - etc.

Il faudra donc, pour fournir ces services mettre en place des serveurs et les mettre en réseau afin qu’ils puissent stocker, traiter et servir les données aux utilisateurs. La mise en place de ce centre de données permettra donc de centraliser, faire fonctionner et gérer de manière convenable lesdits serveurs.

1.3 Architecture physique du centre de données de BJNet

La fourniture des services DNS, de mail et d’hébergement web par BJNet ne consistera pas seulement à mettre en place les serveurs remplissant ces fonctions.

En effet, outre les services à offrir, le réseau est tenu de garantir une certaine sécurité à ses clients. Cela passe donc par la mise en place de solutions de sécurité, en l’occurrence des pare-feux ; mais cela passe aussi par la mise en place de DMZ (DeMilitarized Zone) qui servira d’interface entre les serveurs proprement dits et les utilisateurs. Les concepteurs de l’architecture physique du centre de données ont, pour accroître la sécurité, choisi de mettre en place deux DMZ : une pour les utilisateurs accédant au centre de données depuis le réseau BJNet et une pour ceux y accédant depuis d’autres réseaux, en l’occurrence Internet.

(21)

Réalisé par Joris Dagbégnon FAGBEMIRO 9

Aussi, afin de mieux administrer les divers serveurs à mettre en place, le centre de données sera équipé d’outils d’administration et de surveillance réseau et système (Dude, Nagios et OpenVAS)4. Ces outils permettent de faire des mises à jour groupées et automatiques, d’établir une cartographie du réseau, générer des alertes en cas de dysfonctionnement, configurer à distance les équipements, faire des scans de vulnérabilités, générer des rapports de fonctionnement, etc. Ces outils seront regroupés au sein d’un réseau : le Centre d’Administration Réseau.

Enfin, pour garantir une certaine disponibilité de ses services, le centre de données de BJNet sera réparti sur deux sites, disposant chacun d’un serveur physique. Le cluster ainsi mis en place permet de mettre en œuvre deux fonctionnalités :

- augmentation de la puissance de traitement : les requêtes des clients ne seront pas toutes traitées par la même machine ;

- augmentation de la disponibilité : les inconvénients liés aux pannes seront minimisés par la redondance des machines entre elles.

Les services seront donc déployés à l’identique sur les deux sites, et fonctionneront en primaire sur l’un et en secondaire sur l’autre. Nous avons donc pris pour principal cas d’étude, le serveur de l’un des sites, étant entendu que tout ce qui se fera sur ledit serveur sera répliqué sur le serveur de l’autre site.

4 Site officiel Dude : http://www.mikrotik.com/thedude (consulté le 16 Décembre 2014) Site officiel Nagios : www.nagios.org (consulté le 16 Décembre 2014)

Site officiel OpenVAS : www.openvas.org (consulté le 16 Décembre 2014)

(22)

Réalisé par Joris Dagbégnon FAGBEMIRO 10

L’architecture physique du centre de données du réseau BJNet est présentée à la figure 1.1 de la page suivante.

On note que pour atteindre les objectifs de sécurité et de disponibilité, les serveurs, pare-feux et outils de monitoring sont répartis sur quatre réseaux distincts : celui du centre d’administration réseau, celui de la DMZ publique, celui de la DMZ privée et celui du réseau de données critiques qui regroupe les serveurs de mails, web et de bases de données.

(23)

Réalisé par Joris Dagbégnon FAGBEMIRO 11

Figure 1.1: Architecture physique du centre de données de BJNet

(24)

Réalisé par Joris Dagbégnon FAGBEMIRO 12

1.4 Les contraintes liées au centre de données de BJNet

L’architecture physique présentée ci-dessus semble induire un déploiement basé sur le modèle « un serveur physique pour un service ».

Le projet BJNet ne dispose cependant que de deux serveurs qui seront utilisés à raison de un par site et voudrait utiliser le plus possible des outils libres et/ou open-source.

De plus, l’outil Dude ne fonctionnant que sous Windows et le serveur OpenVAS ne fonctionnant que sous un système GNU/Linux, on se rend compte que plus d’un système d’exploitation seront utilisés dans le centre de données.

En conclusion, le centre de données de BJNet, afin de fournir efficacement les services prévus par ce réseau, se caractérise par la présence de plusieurs serveurs, relais et pare-feux, avec différents systèmes d’exploitation tournant sur ceux-ci et répartis sur quatre réseaux distincts (2 DMZ, un réseau de données critiques et un centre d’administration réseau). Cependant, le réseau ne disposant que de deux serveurs physiques (un par site) pour ce déploiement, il faut donc se tourner vers la virtualisation afin de mettre en place les divers éléments et les réseaux par lesquels ils sont interconnectés.

En effet, la virtualisation a été reliée aux serveurs dans la perspective d’une meilleure utilisation des ressources physiques (Emerson, 2010).

(25)

13

2. CHAPITRE 2 : LA VIRTUALISATION

CHAPITRE

LA

VIRTUALISATION

(26)

Réalisé par Joris Dagbégnon FAGBEMIRO 14 La virtualisation est un outil qui change radicalement l’approche de l’informatique en repoussant les limites de nos ordinateurs. Elle s’est de plus en plus imposée dans les parcs de serveurs, les systèmes de stockage et les réseaux des organisations (Techini, 2011).

2.1 Concepts de la virtualisation

La virtualisation fait référence à l’abstraction physique des ressources informatiques (Hess and Newman, 2010) ; elle est un framework ou une méthodologie de division des ressources d’un ordinateur en de multiples environnements d’exécution, par l’application d’un ou plusieurs concepts ou technologies comme le partitionnement du matériel et du logiciel, le temps partagé, la simulation partielle ou complète de machine, l’émulation, la qualité de service et beaucoup d’autres (Singh, 2004). La virtualisation est la création d’une version virtuelle d’un système d’exploitation, d’un serveur, d’un appareil de stockage ou de ressources réseaux.

Nous voyons que la virtualisation repose sur trois éléments importants (Santy, 2010) :

 l’abstraction des ressources informatiques ;

 la création d’environnements virtuels ;

 la répartition des ressources par l’intermédiaire de différents outils, de manière à ce que celles-ci puissent être utilisées par plusieurs environnements virtuels ;

A partir de ces trois concepts fondamentaux, on peut donner la définition suivante :

(27)

Réalisé par Joris Dagbégnon FAGBEMIRO 15 La virtualisation est un processus qui va permettre de masquer les caractéristiques physiques d’une ressource informatique de manière à simplifier les interactions entre cette ressource et d’autres systèmes, d’autres applications et les utilisateurs (Santy, 2010).

En d’autres termes, les ressources allouées à une machine virtuelle sont fournies à partir de leurs équivalents physiques. Les disques virtuels, interfaces réseau virtuelles, réseaux locaux virtuels, commutateurs virtuels, processeurs virtuels et la mémoire virtuelle correspondent tous à des ressources physiques sur des systèmes informatiques physiques (Hess and Newman, 2010).

Ainsi, la virtualisation permet de:

- diviser une ressource physique (serveur, système d’exploitation, périphérique de stockage) en plusieurs ressources logiques (comme sur la figure 2.1 ci-dessous),

- agréger plusieurs ressources physiques (périphériques de stockage, serveurs) en une ressource logique.

Figure 2.1: Différence entre architecture standard et architecture virtualisée (Source : Raynaud, 2011)

(28)

Réalisé par Joris Dagbégnon FAGBEMIRO 16

2.2 Domaines de la virtualisation

Le mot « virtualisation » a longtemps sous-entendu la virtualisation au niveau des serveurs. Cependant, la virtualisation est partout dans le monde informatique et n’impacte pas seulement les serveurs.

Aujourd’hui la virtualisation, comme montré sur la figure 2.2, impacte trois domaines principalement : les systèmes (regroupant les côtés client et serveur), le stockage et le réseau.

Figure 2.2: Domaines de la virtualisation

Au niveau du réseau, les principales tendances sont : le VPN (Virtual Private Network), le VLAN (Virtual Local Area Network), le SDN (Software Defined Networking) et le “Network in a box“.

L’utilisation des VLAN est déjà, depuis longtemps, présente dans le monde informatique et permet une segmentation logique d’un réseau de plusieurs machines. L’abstraction étant faite au niveau des couches 2 ou 3 du modèle OSI, on distingue des port-based VLAN, MAC address-based VLAN, Network address-based VLAN et des protocol-based VLAN (Santy, 2010).

(29)

Réalisé par Joris Dagbégnon FAGBEMIRO 17 Le VPN est un réseau dont les ressources sont partagées entre plusieurs utilisateurs, de telle sorte que chaque client ait l’impression d’avoir un réseau dédié et non partagé (Pujolle, 2006). On distingue les VPN d’entreprise et les VPN d’opérateurs.

Le SDN est, par contre, une technologie récente de virtualisation réseau où le contrôle du réseau est découplé du réseau lui-même et est directement programmable. La migration de ce contrôle, autrefois bien ancré dans chaque équipement réseau, dans les équipements informatiques permet l’abstraction du matériel sous-jacent, du point de vue des applications et services réseau, qui peuvent traiter le réseau comme une entité virtuelle ou logique (ONF, 2012).

Enfin, le “Network in a box“ est un concept où l’entièreté du réseau (équipements réseau et machines connectées) est virtualisée. Cela passe par la création de carte réseau virtuelle, de switch virtuel, de machines virtuelles (faisant office de routeur, pare-feux, etc.) (Tripathi et al. 2009),... Parmi les outils offrant ces fonctionnalités, on peut citer Crossbow5, Open vSwitch6.

La virtualisation de stockage est le processus qui va séparer la présentation logique et la réalité physique de l’espace de stockage (Santy, 2010). Le LVM (Logical Volume Manager) consiste à regrouper des disques physiques ou partitions (appelés volumes physiques) en un seul grand espace (appelé groupe de volumes) dans lequel vous pouvez découper des espaces logiques à volonté (appelés volumes logiques), les agrandir, les réduire, etc.

Le SAN (Storage Area Network) et le NAS (Network Attached Storage) sont

5 Site officiel du projet : http://www.opensolaris.org/os/project/crossbow (consulté le 16 Décembre 2014)

6 Site official: www.openvswitch.org (consulté le 16 Décembre 2014)

(30)

Réalisé par Joris Dagbégnon FAGBEMIRO 18 des espaces de stockage accessibles par le réseau (par le biais de protocole comme NFS, SMB7, Fibre Channel, etc.) mais qui apparaissent localement attachés au serveur.

Quant à la virtualisation appliquée au domaine des systèmes, nous regroupons sous ce terme les technologies de virtualisation s’appliquant aux applications et aux systèmes d’exploitation. On emploie le terme virtualisation côté client (ou simplement virtualisation client) lorsque lesdits systèmes d’exploitations ou applications virtuels sont destinés à être utilisés par un utilisateur lambda (grâce à un ordinateur de bureau ou un ordinateur portatif) au sein d’un système informatique (en un mot par un client) ; lorsque le système d’exploitation ou l’application virtuelle est destinée à être utilisé par le ou les administrateurs dudit système informatique pour fournir des services, on parle de virtualisation côté serveur ou simplement virtualisation serveur.

2.3 Différentes techniques de virtualisation système

Comme nous l’avions déjà dit précédemment, la virtualisation système regroupe les technologies de virtualisation ayant trait aux applications et aux systèmes d’exploitation.

7 NFS: Network File System; SMB : Server Message Block

(31)

Réalisé par Joris Dagbégnon FAGBEMIRO 19

2.3.1 Approches centrées sur les applications

Désignés sous les termes de machine virtuelle de processus (Laarouchi, 2009), de virtualisation au niveau applicatif (ANSSI, 2012) ou encore de virtualisation au sein d’un OS8 (Donnette et Hannequin, 2007), ces approches ciblent une application et lui présentent une couche d’abstraction correspondant à son environnement d’exécution.

Les méthodes mises en œuvre ici sont l’émulation et le cloisonnement (ou isolation).

2.3.1.1 L’émulation

L'émulation consiste à imiter le comportement d’une entité en présentant aux couches supérieures une interface logicielle caractéristique du fonctionnement de cette entité, indépendamment de l’architecture matérielle sous-jacente. Elle est intéressante quand la cible doit s’exécuter sur de nombreux environnements différents, la couche d’abstraction réalisant le travail d’adaptation nécessaire au profit des applications qui deviennent ainsi portables (ANSSI, 2012).

Les solutions de virtualisation telles que Citrix Application Stream (Citrix), Symantec Workspace Virtualization (Symantec), App-V (Microsoft) sont des exemples de virtualisation applicative utilisant cette technique. Les solutions de virtualisation s’appuyant sur des moteurs d’exécution, telles que Java Virtual Machine, .NET Framework entrent également dans cette catégorie (ANSSI, 2012).

8 OS : Operating System

(32)

Réalisé par Joris Dagbégnon FAGBEMIRO 20

2.3.1.2 Le cloisonnement (virtualisation au sein d’un OS)

Le cloisonnement est quant à lui mis en place dans un but d’isolation ou de confinement. Un isolateur est un logiciel permettant d'isoler l'exécution des applications dans des contextes ou zones d'exécution. L'isolateur, comme on peut le voir sur la figure 2.3 ci-dessous, permet ainsi de faire tourner plusieurs fois la même application prévue pour ne tourner qu'à une seule instance par machine. Notons que cette technologie consiste en quelque sorte à généraliser la notion de "contexte" Unix9 (Donnette et Hannequin, 2007).

Figure 2.3: Virtualisation au sein d’un OS par isolation (source : Donnette et Hannequin, 2007)

Les technologies Linux Vserver, BSD jails (« chroot »), OpenVZ ou Zone Solaris mettent en œuvre des zones isolées (cloisonnées) gérées par le système d’exploitation.

9Le contexte d’un processus est l’ensemble des données qui permettent de reprendre l’exécution d’un processus qui a été interrompu.

(33)

Réalisé par Joris Dagbégnon FAGBEMIRO 21

2.3.2 Approches centrées sur les systèmes

Désignées sous les termes de machines virtuelles de système ou virtualisation au niveau système, ces approches visent un système d’exploitation et lui présentent une couche d’abstraction correspondant à un environnement matériel compatible.

Les méthodes mises en œuvre ici sont le cloisonnement, la virtualisation complète, la paravirtualisation et la virtualisation assistée par le matériel.

2.3.2.1 Le cloisonnement (virtualisation au sein d’un OS)

Cette approche est semblable à celle présentée au 2.3.1.2 par utilisation d’environnements cloisonnés.

On peut donc aller du simple « emprisonnement » dans un environnement volontairement minimal à une image complète du système accessible uniquement au processus isolé (Bonnet, 2008). On est ainsi plus proche d’une machine virtuelle que d’une simple isolation de processus. Dans ce cas un noyau hôte se charge de l'ordonnancement10 des différents noyaux en espace utilisateur (Laarouchi, 2009) (voir figure 2.4 ci-dessous).

Figure 2.4: Noyau en espace utilisateur (source : Donnette et Hannequin, 2007)

10 L’ordonnancement suggère ici la mise en place d’un ordre d’exécution des requêtes des divers noyaux.

(34)

Réalisé par Joris Dagbégnon FAGBEMIRO 22 La principale contrainte de ce modèle de virtualisation réside dans le fait que les systèmes invités doivent impérativement être du même type que le système hôte (Santy, 2010).

2.3.2.2 La virtualisation complète

Egalement appelée modèle de machine virtuelle (Santy, 2010), la virtualisation complète ou totale (full virtualization en anglais) consiste à émuler l’intégralité d’une machine physique pour le système invité. Le système invité «croit» s’exécuter sur une véritable machine physique (Donnette et Hannequin, 2007). Cette technique se base sur deux principes : celui de la traduction binaire des instructions que le noyau du système invité souhaite exécuter et l’exécution directe des instructions relatives aux applications utilisateurs (Santy, 2010).

La couche applicative chargée de la gestion des machines virtuelles se décline en deux types présentés sur la figure 2.5 à la page suivante.

Le premier type est celui où ladite couche s’installe à la place du système d’exploitation, c’est-à-dire directement sur le matériel. On parle dans ce cas d’hyperviseur de type 1 ou d’hyperviseur “bare-metal“. Les solutions utilisant ce type d’hyperviseur pour de la virtualisation totale sont : vSphere (anciennement ESXi Hypervisor) de VMware, KVM, etc.

Le second type est celui où cette couche applicative s’exécute au sein d’un OS hôte et est vu par celui-ci comme une application (Laarouchi, 2009).

Dans ce cas, ce logiciel est appelé Moniteur de Machines Virtuelles (MMV) (VMM en anglais) ; on le désigne couramment cependant sous le terme d’hyperviseur de type 2. Les solutions utilisant cette technique sont : VMware Workstation, VirtualBox d’Oracle, Hyper-V de Microsoft, Qemu, etc.

(35)

Réalisé par Joris Dagbégnon FAGBEMIRO 23 Figure 2.5: Virtualisation complète: à gauche avec un hyperviseur de type 1 et à droite

avec un hyperviseur de type 2 (source: Santy, 2010)

2.3.2.3 La paravirtualisation

La technique de paravirtualisation ne nécessite pas de simuler le matériel, mais implique une modification du système invité (Primet, Mornard et Gelas, 2007). Elle consiste pour le système d’exploitation virtualisé à communiquer plus efficacement avec l’hyperviseur (de type 1) de manière à accroître les performances du système. La modification du noyau permet de remplacer les instructions non virtualisables par des hyper-appels (hypercalls) qui vont communiquer directement avec l’hyperviseur (Santy, 2010) comme montré sur la figure 2.6 ci-dessous :

Figure 2.6: Paravirtualisation (Source : VMware, 2007)

(36)

Réalisé par Joris Dagbégnon FAGBEMIRO 24 Les solutions implémentant ce genre de technique sont XenServer de Citrix, vSphere de VMware, HyperV de Microsoft, …

2.3.2.4 La virtualisation assistée par le matériel

La nécessité de développer des solutions de virtualisation assistées par le processeur a fait son apparition avec la prolifération des systèmes à base d’architecture x8611. Cette architecture, à l’origine se prêtait très mal à la virtualisation (confère Annexe A) et nécessitait un travail considérable de la part de l’hyperviseur. A l’aide de la virtualisation matérielle, l’hyperviseur est en mesure de virtualiser correctement l’ensemble des instructions de l’architecture x86, y compris celles posant problème (Santy, 2010).

Les deux principaux fabricants de processeurs sur le marché, Intel et AMD, ont inauguré une nouvelle gamme de processeurs incluant une technologie d’aide matérielle à la virtualisation. Cette technologie est connue sous le nom de Intel VT-x (anciennement Vanderpool) et AMD-V (anciennement Pacifia) (Santy, 2010).

Ce mode de virtualisation peut être utilisé en complément des techniques précédentes.

2.4 Avantages de la virtualisation

Au cours des dernières années, la virtualisation semble s’être imposée comme un élément incontournable au sein des entreprises et ce sont principalement les serveurs qui sont au centre de toutes les attentions.

La virtualisation présente les avantages suivants (Santy, 2010) :

Optimisation de l’infrastructure informatique- réduction des coûts liés à l’exploitation des centres de données ;

Amélioration de l’impact écologique des centres de données (démarche « green IT ») ;

11 x86 désigne l’architecture des processeurs de Intel et AMD notamment. Cette désignation est due au fait que ces processeurs sont compatibles avec le jeu d’instruction de l’Intel 8086.

(37)

Réalisé par Joris Dagbégnon FAGBEMIRO 25

Facilité de mise en place d’environnements de tests ;

Augmentation de la disponibilité du matériel et des applications pour une amélioration de la continuité d'activité ;

Facilité de mise en place d’un Plan de Reprise d’Activité (PRA) ;

Souplesse et réactivité dans la gestion au quotidien ;

Amélioration de la sécurité au niveau des postes clients mais aussi au niveau des serveurs ;

Amélioration de la flexibilité et de la compatibilité

Etc.

2.5 Limites à la virtualisation

Les solutions de virtualisation sont donc très intéressantes au vu de la consolidation de serveurs, de la réduction de taille des centres de données et du coût qu’elle entraîne. Cependant, il y a certains points qui limitent l’immense engouement que suscite cette technologie (Santy, 2010) :

le besoin de capacité de stockage

la présence d’un point de défaillance unique

un problème de standardisation

etc.

La virtualisation est donc une technologie qui, malgré ses limites a de nombreux avantages et applications ; surtout en ce qui concerne l’utilisation d’un petit nombre de serveurs physiques pour mettre en place plusieurs serveurs opérationnels différents. Nous allons, dans le chapitre suivant, comparer les diverses solutions qu’elle nous offre afin de dégager la (ou les) plus adéquate(s) pour le déploiement des serveurs du centre de données de BJNet.

(38)

26

3. CHAPITRE 3 : CHOIX DE LA SOLUTION DE VIRTUALISATION

CHAPITRE

CHOIX DE LA SOLUTION DE

VIRTUALISATION

(39)

Réalisé par Joris Dagbégnon FAGBEMIRO 27

Dans les chapitres précédents, nous avons présenté plus en détail le centre de données de BJNet ; mais nous avons aussi présenté l’état de l’art sur la virtualisation, technologie qui offre entre autres intérêts celui de pouvoir faire fonctionner simultanément plusieurs serveurs sur une seule machine physique. Il s’agira dans ce chapitre de présenter les choix techniques effectués pour pouvoir choisir la solution de virtualisation la plus adéquate pour le déploiement de ce centre de données ; ainsi que les outils à utiliser sur les serveurs.

Le choix de la solution de virtualisation idoine étant crucial pour un projet de virtualisation, il convient de prendre en compte un certain nombre de paramètres comme le matériel de la machine hôte, l’approche de virtualisation adéquate, etc. En effet, chaque type de virtualisation a ses avantages et inconvénients qui conditionnent l’application qui en est faite (Kolyshkin, 2006). La démarche suivie est la suivante :

- présentation des caractéristiques du serveur,

- comparaison entre les approches de virtualisation et choix des plus adéquates,

- choix des solutions de virtualisation à employer pour le déploiement, - et choix des outils à utiliser sur les serveurs.

3.1 Présentation des caractéristiques de la machine hôte

Le matériel sur lequel va être déployée une solution de virtualisation joue un grand rôle dans le choix de ladite solution (Golden, 2008). En effet, les caractéristiques du serveur peuvent orienter dans le choix d’une solution de

(40)

Réalisé par Joris Dagbégnon FAGBEMIRO 28

virtualisation. Que ce soit la mémoire physique disponible, la quantité de RAM (Random Access Memory)12 disponible, le nombre de processeurs et le nombre de cœurs par processeur ou le nombre de cartes réseau, tous ces paramètres influencent la couche applicative de virtualisation à utiliser, le nombre de machines virtuelles qu’on peut créer et aussi le nombre de machines virtuelles pouvant fonctionner simultanément.

Le tableau suivant récapitule les caractéristiques des serveurs du projet BJNet :

Tableau III.I : Caractéristiques matérielles des serveurs du projet BJNet

CARACTERISTIQUES VALEURS

Marque Chenbro

Type RM 217 2U

Processeur AMD Opteron 4170 Lisbon 64 bits (x 2)

Nombre de cœurs par processeur 6

Support matériel de la virtualisation Oui (AMD-V)

RAM 8 Go13

Disque Dur 2 To14

Ports RJ 45

Intel 82574L Gigabit Ethernet (x2) ASMB4-iKVM port (x1) SAS RAID Controller port (x1)

12 La RAM est la mémoire principale de l’ordinateur où sont chargées les données et les instructions des programmes que l’on désire exécuter, ainsi qu’une partie du système d’exploitation nécessaire au bon fonctionnement de l’ordinateur (Zanella et Ligier, 2008).

13 Go : Gigaoctet (Go) égal à 1000 Mo dans le Système International (BIPM, 2014)

14 To : Téraoctet

(41)

Réalisé par Joris Dagbégnon FAGBEMIRO 29

L’un des ports RJ45 Intel est celui qui sera utilisé par les services et l’autre est dédié à l’administration du serveur. Le port ASMB4-iKVM (Asus Server Management Board-internet Keyboard Video Mouse) est fonctionnel seulement quand on installe une carte ASMB4 permettant de connecter le serveur à un switch KVM15 ; et le dernier port permet, au travers du réseau de se connecter au contrôleur RAID (Redundant Array of Inexpensive Disks) des disques SAS (Serial Attached SCSI)16 du serveur.

Le choix de la bonne solution de virtualisation dans l’absolu est très difficile, et la pléthore d’offres de virtualisation disponibles (VMWare vSphere Hypervisor, VMWare Workstation, Oracle VM VirtualBox, Microsoft Virtual PC, Microsoft HyperV, Citrix Xen Server, Citrix XenApp, ProxMox VE, Solaris Zones, KVM, Parallels Desktop, Linux-VServer, OpenVZ, etc.) ne facilite pas la décision. C’est pourquoi il est nécessaire de réduire le champ d’étude aux solutions applicables dans un cas bien spécifique (Bonnet, 2008). Notre cas ici est celui de l’utilisation de solutions libres pour la virtualisation de serveurs, répartis sur 4 réseaux différents, avec des distributions UNIX/Linux comme systèmes d’exploitation dominants.

15 Un switch KVM est un équipement permettant de contrôler plusieurs serveurs à partir d’un seul ensemble de clavier, écran et souris.

16 Le SAS est une technique d’interface pour disque dur, qui apporte le mode de transmission en série et constitue une amélioration des bus SCSI (Small Computer System Interfaces) en termes de performances.

(42)

Réalisé par Joris Dagbégnon FAGBEMIRO 30

3.2 Choix des techniques de virtualisation adéquates

3.2.1 Comparaison entre les techniques de virtualisation

Les critères sur lesquels nous avons basé notre comparaison entre les techniques de virtualisation sont les performances qu’elles offrent, les systèmes d’exploitation supportés nativement et la demande en ressources matérielles de l’hôte.

3.2.1.1 La virtualisation au sein d’un OS ou cloisonnement

Ce type de virtualisation est essentiellement utilisé sur les systèmes UNIX et Linux (Benkemoun et Hinfray, 2008).

L’intérêt de cette technique réside principalement dans le fait qu’elle offre les meilleures performances17, c’est-à-dire qu’elles sont très proches de celle d’un système natif (Kolyshkin, 2006), et il y a un net gain en sécurité et simplicité d’administration du fait de la séparation entre les systèmes invités (Bonnet, 2008). Les systèmes invités se basant tous sur le même noyau que celui du système hôte, ce noyau n’est chargé en RAM qu’une seule fois ; il est donc possible d’exécuter un grand nombre d’environnements virtuels en parallèle. La limite théorique est au-delà de 8000 (Victor et Cotten, 2010).

17 Victor et Cotten (2010) donnent l’exemple suivant : sur un serveur physique ayant 2 processeurs de 300MHz, 512 Mo de RAM et 40 Go d’espace disque, on fait tourner 40 zones exécutant chacune 5 copies du service web Apache. Avec toutes les zones fonctionnant simultanément et de multiples requêtes adressées à chaque zone, l’overhead engendré est si faible qu’il n’est pas mesurable (< à 5%).

(43)

Réalisé par Joris Dagbégnon FAGBEMIRO 31

La principale contrainte de ce modèle de virtualisation réside dans le fait que les systèmes invités doivent impérativement être du même type (UNIX ou Linux) que le système hôte (Santy, 2010) ;

3.2.1.2 La virtualisation complète

Il est ici utile de rappeler que l’utilisation de cette technique passe par l’installation d’un hyperviseur de type 2 ou de type 1 qui va émuler le matériel sous-jacent et le présenter au système d’exploitation invité.

Un des gros intérêts de cette technique de virtualisation est de pouvoir émuler n’importe quelle architecture matérielle. On peut donc faire fonctionner les systèmes d’exploitation que l’on désire indépendamment de l’architecture du système hôte (Kolyshkin, 2006). De plus, dans le cas d’utilisation d’un hyperviseur de type 1, on a un contrôle plus fin de l’accès au matériel et de l’utilisation des ressources (Bonnet, 2008).

Un désavantage de la virtualisation complète est que l’émulation du matériel est coûteuse et la performance limitée ; car toutes les instructions au matériel émulé doivent être traduites au vol avant d’être exécutées sur le matériel réel (Anhalt et Primet, 2008) et l’empilement des couches d’abstraction (cas d’un hyperviseur de type 2), réduit les performances des machines virtuelles (Benkemoun et Hinfray, 2008). Aussi, pour son utilisation, le noyau de l’hyperviseur doit être chargé dans la RAM et ensuite celui de chacune des machines virtuelles créées aussi. C’est donc une méthode très consommatrice en ressources (DRTIC et Eduter-Cnerta, 2013). La virtualisation assistée matériellement (Intel VT-x et AMD-V) vient cependant

(44)

Réalisé par Joris Dagbégnon FAGBEMIRO 32

réduire un peu cette perte de performances (toutes les instructions n’ayant plus besoin d’être traduites).

3.2.1.3 La paravirtualisation

Cette technique suppose aussi l’utilisation d’un hyperviseur de type 1, mais sans émulation de matériel ici car le système invité est modifié. Il est conscient d’être virtualisé et collabore ainsi avec l’hyperviseur à l’optimisation des performances.

Le principal atout de la paravirtualisation réside dans ses faibles coûts de virtualisation (une grande partie du travail de virtualisation ayant déjà été réalisée en modifiant le noyau du système invité). Il offre de meilleures performances par rapport à la virtualisation complète (Kolyshkin, 2006) et elles sont assez proches de celles d’un système natif (Golden, 2008).

Son principal facteur limitant vient du fait qu’il ne supporte que les systèmes ayant été modifiés pour être compatible avec l’hyperviseur utilisé (Kolyshkin, 2006) (mais sur un processeur bénéficiant de la virtualisation matérielle, on peut installer n’importe quel système). De plus, la consommation en ressources matérielles (surtout la RAM) est aussi importante qu’en virtualisation complète car les noyaux de l’hyperviseur et des machines à créer sont chargés dans la RAM.

Le tableau suivant résume donc cette comparaison.

(45)

Réalisé par Joris Dagbégnon FAGBEMIRO 33

Tableau III.IV : Tableau comparatif des techniques de virtualisation TECHNIQUE DE

VIRTUALISATION CARACTERISTIQUES

Virtualisation au sein d’un OS

(containers ou zones)

- Performances : très bonnes, très proches du natif

- Systèmes supportés : UNIX, Linux

- Demande en ressources matérielles (RAM, processeur) : faible

Virtualisation complète

- Performances : bonnes, proches du natif - Systèmes supportés : tous types

- Demande en ressources matérielles (RAM, processeur) : assez forte

Paravirtualisation

- Performances : bonnes, proches du natif et meilleures qu’en virtualisation complète - Systèmes supportés : ceux ayant été modifiés

pour fonctionner avec le paravirtualiseur (nécessite Intel VT-x ou AMD-V pour les systèmes n’ayant pas été modifiés)

- Demande en ressources matérielles (RAM, processeur) : assez forte

3.2.2 Techniques de virtualisation choisies

A l’étude du tableau précédent, la paravirtualisation semble être la solution idoine lorsqu’on voudrait pouvoir utiliser dans son environnement virtuel, n’importe quel système d’exploitation (moyennant l’intégration par le

(46)

Réalisé par Joris Dagbégnon FAGBEMIRO 34

processeur de la virtualisation matérielle). Cependant, il ne convient pas à notre cas.

En effet, la quantité de RAM disponible sur les serveurs du projet ne permettra pas de mettre en place les serveurs virtuels présentés à la figure 1.1 dans un environnement paravirtualisé. Supposons qu’on utilise le paravirtualiseur Xen, qui nécessite au minimum 2Go de RAM (Citrix, 2014) et que pour les pare-feux et les serveurs des DMZ et du réseau de données critiques (16 au total) on utilise le système Debian, qui nécessite généralement 512 Mo de RAM (Debian, 2013). Il faudrait donc 10,2 Go de RAM or les serveurs ne disposent que de 8Go de RAM.

Ainsi, le choix le plus adéquat est celui de la technique de virtualisation au sein d’un OS. La majorité des services à déployer fonctionnant dans des environnements Linux et UNIX, leur virtualisation dans les zones nous garantit une bonne performance ; et de plus, les zones sont bien adaptées aux scénaris où il y a un grand nombre d’environnements d’exécution identiques (Golden, 2008).

Il s’est alors posé le problème de la virtualisation des systèmes d’exploitation n’étant pas supporté dans les zones. On a décidé, comme solution, d’utiliser la technique de virtualisation complète. On installera donc un hyperviseur de type 2 (étant donné que c’est une application) dans une zone et au sein de cet hyperviseur, seront créées les machines virtuelles nécessaires à l’installation desdits systèmes.

(47)

Réalisé par Joris Dagbégnon FAGBEMIRO 35

En résumé, pour la mise en place de l’environnement virtuel du datacenter de BJNet, nous avons combiné deux techniques : celle de la virtualisation au sein d’un OS et celle de la virtualisation complète.

3.3 Solutions de virtualisation retenues pour le centre de données

Après le choix des techniques de virtualisation à utiliser pour le déploiement du centre de données de BJNet, nous sommes passés au choix des solutions implémentant lesdites techniques.

La plupart des systèmes d’exploitation basés sur UNIX proposent un moyen d’isoler les processus (chroot, BSD Jails, etc.) ; mais l’UNIX de Sun Microsystems, Solaris, propose un système de zones très évolué, plus proche d’une machine virtuelle que d’une isolation de processus (Bonnet, 2008). Sa version libre et open-source, OpenSolaris a été abandonnée après le rachat de Sun Microsystems par Oracle en 2010. Les solutions open-source phares qui en ont découlé sont OpenIndiana18 et SmartOS19.

OpenIndiana est une distribution de la famille UNIX (System V release 4) et basée sur le noyau illumos20. C’est un fork d’OpenSolaris et est présenté comme son successeur (Klimov, 2014). Il est actuellement compatible avec Solaris 11 et Solaris 11 Express et constitue donc une alternative open-source aux produits commerciaux Solaris d’Oracle (Lumsden, 2011). Il est distribué

18 Site officiel : www.openindiana.org (consulté le 16 Décembre 2014)

19 Site officiel : http://www.smartos.org (consulté le 16 Décembre 2014)

20 illumos est un noyau dérivé de celui d’OpenSolaris (OS/Net) et géré par l’illumos Foundation, créée après l’arrêt du projet OpenSolaris par Oracle. (Site officiel : www.illumos.org) (consulté le 16 Décembre 2014)

(48)

Réalisé par Joris Dagbégnon FAGBEMIRO 36

sous licence CDDL (Common Development and Distribution License)21. Il bénéficie des fonctionnalités très intéressantes (pour une utilisation en tant que serveur) qu’offre le noyau illumos :

- ZFS (Z ou Zettabyte File System) : système de fichiers révolutionnaire 128 bits créé par Sun Microsystems (Oracle, 2010a) ; qui supporte jusqu’à 16 exbioctets et qui offre le RAID, la déduplication, le snapshot, etc.

- Solaris zones

- Crossbow : outil de virtualisation réseau permettant la création de cartes réseau virtuelles, de switch virtuels, l’attribution de pile TCP/IP exclusive à une zone, la gestion de la bande passante, etc.

- DTrace : outil permettant de suivre les performances des services et de détecter les problèmes en temps réel

- SMF (System Management Facility) : outil de gestion des services et qui permet par exemple le démarrage en parallèle de services, le redémarrage automatique après incident, etc.

- Etc.

SmartOS est aussi une distribution basée sur le noyau illumos, et bénéficiant donc de ses fonctionnalités. Cependant SmartOS offre l’avantage, par rapport à OpenIndiana, de pouvoir installer dans ses zones n’importe quel autre système d’exploitation compatible x86. En effet, OpenIndiana est limité dans ses Branded Zones22 Linux (LxBrand) aux systèmes RedHat et CentOS

21La CDDL est une licence open source créée par Sun Microsystems, basée sur la Mozilla Public License, version 1.1. Elle était notamment destinée au projet OpenSolaris. (Plus d’informations sur le site de l’Open Source Initiative : http://opensource.org/licenses/cddl1.php ) (consulté le 16 Décembre 2014)

22 Une Branded Zones (BrandZ) est une zone permettant de faire marcher un environnement d’exécution différent de celui de l’OS qui héberge les zones

(49)

Réalisé par Joris Dagbégnon FAGBEMIRO 37

(Oracle, 2010b). Le support des autres systèmes d’exploitation est rendu possible par le fait que KVM (Kernel-based Virtual Machine)23, une technologie de virtualisation complète, a été porté au sein de SmartOS et intégré aux zones (à la création d’une zone, on spécifie si la zone sera du type natif ou du type KVM afin d’installer des systèmes Linux, Windows ou UNIX).

La limite à cette intégration de KVM au sein de SmartOS est qu’elle n’est utilisable que sur des serveurs ayant un processeur Intel bénéficiant des technologies VT-x et EPT (Extended Page Tables) (McWhirter et Wiedenroth, 2014).

Ainsi, vu que les serveurs du projet BJNet sont équipés de processeurs AMD (cf. Tableau III.I), nous ne pouvions que choisir OpenIndiana comme solution de virtualisation pour la création des zones.

Quant à l’hyperviseur de type 2 à utiliser, notre choix s’est porté sur VirtualBox d’Oracle (en mode headless24). Les raisons en sont que ce produit est libre d’utilisation, bénéficie d’une communauté active et offre le support pour la plupart des systèmes d’exploitation du marché.

3.4 Choix des outils à utiliser sur les serveurs

OpenIndiana combiné à VirtualBox étant retenues, le choix des outils à utiliser pour mettre en place les services sera fait en conséquence.

23 Site officiel : https://www.linux-kvm.org (consulté le 18 Décembre 2014)

24 Le mode headless désigne la version de VirtualBox n’intégrant pas d’interface graphique. Une interface web, phpvirtualbox, est cependant disponible pour accéder aux systèmes invités ayant d’interface graphique.

(50)

Réalisé par Joris Dagbégnon FAGBEMIRO 38

3.4.1 Le serveur DNS

Il existe plusieurs logiciels open-source faisant office de serveur DNS : BIND, OpenDNS, MaraDNS, etc.

Le logiciel le plus utilisé sur les serveurs de noms est BIND (ISC, 2014).

Il est intégré à OpenIndiana et constitue donc notre choix.

3.4.2 Le serveur web

Parmi le grand nombre de serveurs web existants (Apache HTTP Server, Microsoft IIS, Litespeed, Nginx, Varnish, Apache Tomcat, etc.), les plus populaires parmi ceux libres et open-source sont Apache HTTP Server et Nginx.

Apache HTTP Server est le serveur web le plus utilisé au monde avec 58,9% de parts de marché et devance Nginx qui a 22,8% (w3techs, 2014). Il est préféré à Nginx pour son extensibilité, sa fiabilité et son grand nombre de modules (permettant d’héberger des sites écrits avec différents langages ou différents frameworks) ; alors que Nginx est un serveur web léger mieux adapté pour servir du contenu statique (Rowe, 2014).

Puisqu’il peut être installé dans OpenIndiana, Apache HTTP Server constitue notre choix pour le serveur web.

3.4.3 Le relais inverse HTTP (HyperText Transfer Protocol)

Le relais inverse HTTP (encore appelé serveur mandataire ou reverse proxy en anglais) est un serveur qui apparaît au client comme un serveur web

Références

Documents relatifs

Les parents peuvent en connaissance des alternatives thérapeutiques, accepter ou refuser que leur enfant participe à une recherche biomédicale ; leur refus ne changera rien

Il permet de penser la maladie au-delà du seul patient et il ne fait pas de doute que dans les années à venir cette dimension de la prise en charge connaîtra un fort développement

Elle donne une masse d’informations utiles : sur les effets secondaires des chimiothérapies, les moyens d’y pallier, elle témoigne d’une attitude saine vis-à-vis de la maladie,

Mais le livre du Professeur Kahlaïn ne limite pas ses propos à la prévention des cancers et le dépistage, il évoque aussi tous les aspects des différents types de cancer,

Contrairement à cette première série, les activités développées pour la Collection Lire dans la deuxième série Nous avons lu pour vous 2 a été créé uniquement en lien avec

Le deuxième livre Paroles de Sourds, à la découverte d’une autre culture, sous la direction de Patrick Belisssen [3], rassemble des témoignages émou- vants, traduits de la

Aussi la somme des chiffres de la somme de tous les entiers palindromes de n chiffres est une constante égale à 4+9+5 soit 18..

[r]