Académique Documents
Professionnel Documents
Culture Documents
Cloud PDF
Cloud PDF
Communication (LASTIC)»
Présenté par :
OMRI Hassen
Titre
Mise en place d'un Cloud Privé avec gestion centralisée
d’hyperviseurs hétérogènes
Réalisé à
Soutenu le :03-07-2017
Devant le jury :
Rapporteur : Mr.(Mme.)……………………………………………………………….….………
Membre : Mr.(Mme.)……………………………………………………………….….…………..
Année Universitaire : 2016 / 2017
DÉDICACES
A mes Parents,
A ma femme,
Je tiens aussi à remercier vivement M. Hassene Seddik pour ses conseils et ses
remarques pertinentes.
3
Sommaire
Liste des figures....................................................................................................................................... 6
Liste des tableaux .................................................................................................................................... 7
Liste des acronymes ................................................................................................................................ 8
Introduction Générale ............................................................................................................................. 9
Chapitre I : Contexte du projet.............................................................................................................. 10
1. Présentation du projet .............................................................................................................. 10
1.1 Présentation de l’organisme d’accueil .............................................................................. 10
1.2 Cahier des charges............................................................................................................. 11
2. Etat de l’art ................................................................................................................................ 12
2.1 Virtualisation ..................................................................................................................... 12
2.2 Cloud Computing............................................................................................................... 14
3. Conclusion ................................................................................................................................. 16
Chapitre II : Étude des solutions de gestions multi-hyperviseurs ......................................................... 17
1. Etude de l’existant..................................................................................................................... 17
2. Solutions proposées .................................................................................................................. 18
2.1 Solutions de gestion ‘overlay’ ........................................................................................... 18
2.2 Solutions de gestions dédiées ........................................................................................... 18
3. Solution retenue........................................................................................................................ 23
3.1 CloudStack ......................................................................................................................... 24
3.2 Les versions du CloudStack................................................................................................ 24
3.3 Les composants du CloudStack ......................................................................................... 25
3.4 Modèle de déploiement du CloudStack ............................................................................ 25
4. Étude Conceptuelle ................................................................................................................... 28
4.1 Analyse des besoins........................................................................................................... 28
4.2 Identification des acteurs .................................................................................................. 28
4.3 Besoins fonctionnels.......................................................................................................... 28
4.4 Besoins non fonctionnels .................................................................................................. 29
4.5 Description du système ..................................................................................................... 29
4.6 Conception du système ..................................................................................................... 32
5. Conclusion ................................................................................................................................. 34
Chapitre III : Ingénierie de dimensionnement, sécurité et mise en place de la solution...................... 35
1. Dimensionnement ..................................................................................................................... 35
4
1.1 Infrastructure hyper convergée ........................................................................................ 36
1.2 Dimensionnement des serveurs........................................................................................ 36
1.3 Dimensionnement du stockage......................................................................................... 38
2. Sécurité...................................................................................................................................... 40
2.1 Les différents aspects de la sécurité ................................................................................. 41
2.2 Politique de sécurité adoptée ........................................................................................... 41
3. Préparation de la mise en place de la solution adoptée ........................................................... 42
3.1 Architecture de la solution adoptée.................................................................................. 42
4. Mise en place de la solution...................................................................................................... 45
4.1 Environnement de travail.................................................................................................. 45
4.2 Mise en place de la solution CloudStack ........................................................................... 46
5. Test et validation de la solution ................................................................................................ 49
6. Conclusion ................................................................................................................................. 49
Conclusion et perspectives.................................................................................................................... 50
SITOGRAPHIE............................................................................................................................................. 51
ANNEXE 1: Détails Technique................................................................................................................ 53
ANNEXE 2 : Notions Diverses ................................................................................................................ 80
5
Liste des figures
Figure 1.1- Organigramme Databox………………………………………………………………………………………….. 11
Figure 1.2- Virtualisation des serveurs………………………………………………………………………………………. 13
Figure 1.3- Types d’hyperviseurs………………………………………………………………………………………………. 14
Figure 1.4- Services du cloud …………..…………….………………………………………………………………………… 15
6
Liste des tableaux
Table 1.1- Etude comparative des différents hyperviseurs……………………………………………………….... 14
7
Liste des acronymes
API Applications Programming Interface
CPU Central Processing Unit
DAS Direct Attached Storage
DELL Development of Early Language Learning
ESXI Elastic Sky X Integrated
FC Fiber Channel
HP Hewlett Packard
IT Information Technologies
IP Internet Protocol
ISCSI Internet Small Computer System Interface
IaaS Infrastructure as a Service
KVM Kernel-based Virtual Machine
MYSQL Système de gestion de base de
données
NAS Network Attached Storage
NFS Network File System
NIST National Institute of Standards and Technology
TPE Très Petite Entreprises
PaaS Plateform as a Service
PME Petites et Moyennes Entreprises
RAM Random Access Memory
RAID Redundant Array of Independent Disks
SaaS Software as a Service
SAN Storage Area Network
vCPU virtual Central Processing Unit
VM Virtual Machine
VNC Virtual Network Computing
VPN Virtual Private Network
8
Introduction Générale
Depuis son émergence au début des années 2000, le cloud computing a connu un développement
remarquable ce qui a attiré l’intérêt de plusieurs acteurs dans le monde informatique. En effet, nom-
breux acteurs du domaine IT ont présenté leur propre solution cloud dont nous citons IBM, CISCO le
fabriquant de routeur, Microsoft et même des opérateurs de télécommunications comme le cas de
France Télécom.
Du coup, plusieurs entreprises cherchent à profiter des services offerts par le Cloud en particulier les
PME et les TPE qui sont attirées par la possibilité de payer pour consommer des ressources au lieu de
s’approprier des équipements. Mais, le problème de la sécurité reste le frein principal pour
l’adoption d’une solution Cloud.
Pour remédier à ce problème, certaines entreprises ont recours au modèle Cloud privé interne où les
ressources ne sont pas externalisées. Le seul défi à surmonter est le choix de l’hyperviseur car il est
impossible d’en changer ultérieurement. Cette étape est, donc, très importante surtout avec
l’émergence de plusieurs hyperviseurs performants ayant chacun un mode d’utilisation destiné vers
un type spécifié d’applications.
Pour bénéficier de ces caractéristiques, plusieurs entreprises cherchent à intégrer des différents hy-
perviseurs dans son environnement Cloud. C’est dans ce cadre que s’inscrit ce projet de fin d’études
intitulé ‘Mise en place d'un Cloud Privé avec gestion centralisée d’hyperviseurs hétérogènes’
Comme notre société est intéressée par ce type de projet, et elle prévoit d’avoir des marchés dans ce
domaine, c’était une occasion pour moi de monter en compétences et m’intégrer dans le domaine
de virtualisation, du coup j’ai choisi ce projet de fin d’étude parmi d’autre sujets (Qualité TL9000 …).
Tout au long de ce rapport, nous traiterons trois chapitres dont les lignes directrices sont présentées
ci-dessous.
Le premier chapitre portera sur le contour général du projet à savoir l’organisme d’accueil, les con-
cepts de virtualisation et Cloud et le cahier de charge.
Le deuxième chapitre exposera les résultats du recherche effectués pour choisir la solution la plus
adéquate vis-à-vis aux spécifications financières pour la gestion multi-hyperviseur au sein d’un seul
environnement Cloud, l’étude de l’existant et l’étude détaillée de la solution proposé (besoins fonc-
tionnels et non fonctionnels et une étude conceptuelle).
9
Chapitre I : Contexte du projet
Dans ce chapitre, nous passons en revue le contexte du projet : nous présentons dans un premier
temps l’organisme d’accueil ainsi qu’une description du projet et du travail demandé et nous termi-
nons par la rédaction du cahier de charge et l’étude de l’art...
1. Présentation du projet
Crée en 1996 avec des bureaux en Tunisie, en France et en Algérie, DataBox est l’un des leaders dans
le secteur des intégrateurs systèmes et fournisseurs de solutions de réseaux servant à la fois les en-
treprises et les opérateurs sur les marchés locaux, régionaux et internationaux. DataBox est spéciali-
sé dans le déploiement des réseaux d’entreprises et des solutions d’accès clés en main pour les opé-
rateurs de télécommunications fixes et mobiles. Elle conçoit et met en œuvre des systèmes
d’information multidisciplinaires pour ses clients et fournit un large éventail de produits et de solu-
tions pour le déploiement des solutions intégrées de communications unifiées (UC).
Depuis avril 2009, DataBox opère selon un modèle Front office / Back office. Elle est présente en
Europe à travers sa filiale DataBox FRANCE. Basée à Paris, cette filiale française assure les services de
proximité clients et de développement d’affaires sur l’Europe.
DataBox est également le partenaire local en Tunisie pour de nombreux équipementiers et fabricants
de matériel de télécommunications de premier rang et offre ses services et solutions aux entreprises
et opérateurs de télécommunications.
DataBox est notamment partenaire et revendeur officiel en Tunisie de Polycom, leader mondial dans
les solutions d’audioconférence, visioconférence et téléprésence.
Au fil des ans, DataBox a mené plusieurs projets clés en main dans de nombreux pays en Afrique.
DataBox est également l’un des principaux fournisseurs de services pour Tekelec (TSP) offrant un
large éventail de services basés sur les technologies de Tekelec om à plusieurs opérateurs de télé-
coms dans la région EMEA.
Databox dispose d’une équipe technique multi disciplinaire composée de chefs de projets, ingénieurs
seniors et techniciens supérieurs disposant d’une grande expertise et expérience dans les domaines
des réseaux d’entreprise et de télécommunications comme il montre l’organigramme dans la figure
1.1.
En tant que Consultant en télécommunication au sein de la société DATABOX, je participe aux diffé-
rent projets télécommunications et informatiques. J’interviens dans les différentes phases ;
l’installation, la configuration, la mise en service et le support des solutions.
10
Figure 1.1- Organigramme Databox
Depuis l’émergence de la virtualisation, Vmware était le leader du marché. Mais, dans ces dernières
années plusieurs solutions ont prouvé qu’ils sont des plateformes de virtualisation viables. Nous ci-
tons Microsoft Hyper-V, Citrix Xen, RedHat KVM,…
Virtualisation de serveurs
Virtualisation du stockage
Virtualisation des applications
Virtualisation du poste de travail
Et ça dans le but de réduire le coût de l’infrastructure virtuelle et adapter la plate-forme pour une
tâche spécifique.
Dans ce contexte, DataBox propose, dans le cadre d’un projet de fin d’études, de mettre en place un
cloud privé basé sur différents hyperviseurs.
Donc, c’est travailler sur La virtualisation des serveurs qui est une composante importante pour
l’entreprise.
11
Le projet consiste à faire l’étude des solutions de gestion des environnements multi-hyperviseurs, de
choisir la solution la plus abordable financièrement, de la dimensionner et la sécuriser.
La société possède moins de 5 serveurs physiques assez ancien et compte mettre en œuvre une solu-
tion simple et peu couteuse et donc avoir une architecture qui remplace le matériel, tout en fournis-
sant une meilleure disponibilité des serveurs applicatifs.
2. Etat de l’art
2.1 Virtualisation
2.1.1 Définition
La virtualisation est l’abstraction du matériel physique afin de générer des ressources virtuelles dans
le but de faire fonctionner plusieurs machines virtuelles au sein d’une même machine physique [1].
Ainsi, la virtualisation fait intervenir trois principaux composants:
Un système d'exploitation principal installé sur la machine physique, appelé système hôte,
car il joue le rôle d'hôte à d'autres systèmes d'exploitation;
Un hyperviseur un outil de virtualisation installé sur le système hôte qui fournit l'environne-
ment dans lequel différentes machines virtuelles s'exécutent;
Un système d'exploitation installé dans une machine virtuelle, appelé système invité, qui
fonctionne indépendamment des autres systèmes invités dans d'autres machines virtuelles.
Virtualisation de stockage
Virtualisation de réseau
Virtualisation de serveurs
12
2.1.2 Virtualisation des serveurs
La virtualisation des serveurs consiste à faire fonctionner plusieurs machines virtuelles (serveurs vir-
tuels, système d’exploitation, etc.) au sein d’un seul serveur physique. Mais dans quels intérêts ?
Il faut revenir sur le fait que, chez plusieurs entreprises, les serveurs sont utilisés uniquement à 15%
de leur capacité ce qui mène à des coûts d’investissements et de maintenance très élevés pour une
piètre performance. De coup, un serveur exploitant ces capacités s’avère plus économe qu’un en-
semble utilisant uniquement un faible pourcentage de ces capacités [2].
Ainsi, la virtualisation des serveurs offre une grande flexibilité dans la répartition des charges pour
une utilisation optimale des ressources ainsi que plusieurs autres avantages dont nous citons [2] :
Natif : ou type 1, s'installe directement sur la couche matériel du serveur. C'est un logiciel qui
s'exécute sur une plate-forme. Cette dernière joue le rôle d'un outil de gestion des systèmes
d'exploitation hébergés. Nous citons comme exemples : Hyper-V, XenServer, VMware ESXi ;
Hébergé : ou type 2, s'installe sur des systèmes d'exploitation installés sur les machine hôtes.
Il se démarre comme une simple application. Les machines virtuelles hébergées s'exécutent
13
en totale abstraction du système d'exploitation hôte. Nous citons comme exemples : KVM,
VMware Workstation, VirtualBoX.
Il faut noter que chaque hyperviseur possède son propre logiciel de gestion. C’est une interface gra-
phique dans le but de simplifier l’usage de l’hyperviseur associé.
2.2.1 Définition
« Le cloud computing ou l’informatique en nuages est une nouvelle façon de délivrer les ressources
informatiques, et non une nouvelle technologie.»
Cette définition, proposée par l'institut national de standardisation des technologies (NIST), est utili-
sée comme référence. En d’autres mots, le cloud computing permet un accès sur demande, à travers
un réseau internet, à une poule de ressources informatiques configurables (réseaux, serveurs, stock-
age, applications et services) [3].
14
2.2.2 Les services du cloud
Nous parlons généralement de 3 services que nous utilisons différemment selon nos besoins. Cer-
tains appellent ces services les couches de clouds et nous les représentons souvent sous forme
d’une pyramide comme la montre la figure [4].
IaaS : Infrastructure as a service : c’est la couche inférieure qui représente les ressources matérielles
(puissance de calcul, espace de stockages, serveur ….). Les clients, à ce niveau n’ont pas de contrôle
sur ces ressources mais plutôt sur les systèmes d’exploitation et les applications qu’ils peuvent instal-
ler sur le matériel alloué.
SaaS : Software as a service, c’est la couche supérieure qui correspond à la mise à disposition des
applications comme étant des services accessibles via internet. Les clients n’ont plus besoin donc à
installer les applications sur ses postes.
Cloud public : C’est le cloud dans le sens traditionnel où les services sont offerts au grand pu-
blic et peuvent être payants ou même gratuit. Les ressources dynamiquement provisionnées
peuvent être accessibles par internet ou bien par un fournisseur.
Cloud privé : Ce cloud est destiné entièrement à un organisme et peut être déployé sous
deux formes déférentes :
Cloud privé interne : Hébergé et géré par l’entreprise
Cloud privé externe : Hébergé et géré par un tiers et accessible via des réseaux de type
VPN.
Cloud hybride : C’est la combinaison du cloud public et cloud privé par une entreprise.
15
Cloud communautaire : Un ensemble d’organisations qui ont un intérêt commun partagent
l’infrastructure du cloud. Il est plus couteux que le cloud public mais offre d’autres avan-
tages.
Ce modèle est le modèle le plus adopté par les entreprises, selon une enquête publiée par le cabinet
d’études Pierre Audion, avec un pourcentage de 71% contre 7% pour le cloud public. Ceci est dû au
fait que le cloud privé apporte les avantages du cloud public mais sans ses inconvénients qui sont lié
principalement à la sécurité des données [7].
Dans le cas d’un cloud privé externe, les ressources physiques sont localisées chez un fournisseur de
cloud alors que dans le cas d’un cloud privé interne les équipements sont hébergés chez l’entreprise.
3. Conclusion
Les éléments présentés dans ce chapitre ont aidé à mieux comprendre le projet et à dégager
l’objectif principal. Dans le chapitre suivant, on va faire une étude des solutions de gestion des hy-
perviseurs afin de sélectionner celle qui répond à cet objectif.
16
Chapitre II : Étude des solutions de gestions multi-hyperviseurs
Ce chapitre est consacré à l’étude des différentes solutions qui peuvent répondre à notre besoin:
gestion des plusieurs hyperviseurs. Après l’étude de l’existant, nous présentons, les solutions de ges-
tion « overlay ». Ensuite, nous faisons une étude comparative entre les meilleurs quatre solutions de
gestion dédiées et nous finissons par le choix le plus adéquat avec une étude conceptuelle détaillée.
1. Etude de l’existant
La solution adoptée par DataBox jusqu’à présent est plutôt un réseau local qu’un cloud privé. Ce
réseau est constitué par un ensemble de plateformes basé sur des différents hyperviseurs adminis-
trés d’une manière isolée.
De plus, les serveurs tournent en deçà de leurs capacités comme le montre le tableau 2.1 et ils sont
repartis d’une manière déséquilibrée entre les différentes plateformes : Vmware utilise 80% des ser-
veurs, contre 20% pour KVM.
Quant à la sécurité, elle est restreinte à celle offerte par chacun des hyperviseurs.
17
Les besoins principaux sont donc :
Une gestion centralisée : un outil pour la fédération de différentes plateformes.
Bénéficier des nouvelles technologies : cloud privé, sécurité.
Étendre les capacités IaaS pour subvenir aux besoins futurs de l’entreprise suivant une stra-
tégie bien définie.
2. Solutions proposées
Nous citons comme exemple la superposition de Vkernel comme un outil de supervision de la per-
formance et de la capacité avec un outil de gestion applicative comme AppDynamics, BleuStripe et
finalement un outil de sauvegarde (backup) comme Veeam pour former une pile de gestion [11].
Les solutions « overlay »ne fournissent que des fonctions de base et nécessitent les consoles natives
de chaque hyperviseurs ce qui complique la gestion.
Ces inconvénients montrent bien les limites de ce type de solutions dans notre contexte.
VCenter server est utilisé pour la gestion de plusieurs hôtes ESXI (dans le cas d’un seul hôte
nous utilisons Vsphere client). Il permet l’ajout, la suppression et toutes actions de gestion
des VMs en utilisant une interface graphique.
19
Figure 2.3- Principe de fonctionnement de Hotlink SuperVisor
Hotlink Supervisor nous permet, donc, de choisir l’hyperviseur le plus adéquat pour chaque cas
d’utilisation, ainsi que plusieurs autres fonctions, citons : cloner, snapshot, migration de charge entre
les hyperviseurs.
2.2.3 Openstack
Openstack est une plate-forme open-source utilisée pour déployer des infra- structures de cloud
(IAAS). Il est composé d’un ensemble de projets (ou composants : Nova, Swift,etc.) qui sont étroite-
ment liés les uns par rapport aux autres [11] [13].
OpenStack prend en charge plusieurs types d’hyperviseur sur un seul cloud, et par la suite nous pou-
vons utiliser KVM, Hyper-V et Vmware dans un seul environnement avec une interopérabilité com-
plète à condition que chaque hyperviseur doive être associé à un seul nœud de calcul (compute
node) [12].
20
Figure 2.4- Solution Openstack
Comme déjà mentionné, Openstack possède une architecture modulaire : composé de plusieurs
éléments que nous allons présenter dans le tableau 2.3 ainsi que les interactions entre eux comme le
montre la figure [13].
21
stocke les images des machines virtuelles utilisées pour
Service d’imagerie Glance lancer les instances à travers le pro- jet nova.
2.2.4 Cloudstack
CloudStack est une plate-forme logicielle constituée d’un ensemble de ressources informatiques
pour construire des infrastructures publiques, privées et hybrides en tant que services (IaaS) dans les
nuages. CloudStack gère le réseau, le stockage et les nœuds de calcul qui composent une infrastruc-
ture dans les nuages. Il est aussi utilisé pour déployer, gérer et configurer les environnements
d'informatiques dans les nuages.
S'étendant au-delà des machines virtuelles individuelles fonctionnant sur du matériel standard,
CloudStack offre une solution d'informatique en nuage clé en main pour fournir des centres de don-
nées virtuels comme service fournissant tous les composants essentiels pour construire, déployer et
gérer des applications 'cloud' multi-niveaux et multi-locataire. Les versions libres et Premium sont
disponibles, la version Libre offrant des caractéristiques presque identiques à celles de la version
Premium [15].
22
CloudStack travaille avec une variété d'hyperviseurs et de technologies hyperviseurs. Un seul nuage
peut contenir plusieurs implémentations d'hyperviseurs.
Hyper-V
KVM
Xenserver
OVM
3. Solution retenue
Dans notre étude des solutions qui répondent à notre besoin, nous avons commencé par la présenta-
tion des solutions « overlay » qui montre plusieurs inconvénients par rapport aux solutions dédiées
parmi lesquelles nous avons présenté les quatre solutions les plus utilisées:
23
NEC SigmaSystem-Center Hotlink Supervisor OpenStack CloudStack
Gestion à partir
Les services offerts par SigmaSystemCenter et Hotlink SuperVisor certes intéressantes ne justifient
pas le coût d’achat relativement cher dans notre contexte surtout que ces mêmes services sont assu-
rés par les produits open-source OpenStack et CloudStack.
En outre, la solution OpenStack sera plus efficace pour les grandes entreprises car elle se compose de
plusieurs nœuds donc elle nécessite plusieurs ressources (serveurs, RAM, disque …) d’où, notre choix
est fixé sur la solution du CloudStack et nous allons la détailler dans la suite.
3.1 CloudStack
Développée initialement par Cloud.com, la plateforme CloudStack a été acquise par Citrix en 2011 et
remise à l’Apache Software Foundation en 2012. CloudStack est un logiciel libre de la fondation
apache. Il permet de créer des Cloud Computing privés et publics. Malgré sa sortie récente, il jouit
d'une popularité chez les professionnels du secteur. L'avantage de ce logiciel c'est qui peut être faci-
lement intégrer dans une architecture déjà existante. Il est compatible avec les différentes couches
matérielles.
Extensible
Documentation détaillée
Déploiement fluide
25
3.4.1 Déploiement à petite échelle
Ce diagramme illustre l'architecture réseau d'un déploiement CloudStack à petite échelle.
Un pare-feu fournit une connexion à Internet. Le pare-feu est configuré en mode NAT. Il
transmet les requêtes HTTP et les appels API depuis Internet au serveur de gestion. Le ser-
veur de gestion réside sur le réseau de gestion.
* Transmet les requêtes HTTP et les appels API depuis Internet vers le serveur de gestion.
* Lorsque le nuage s'étend sur plusieurs zones, les pare-feux doivent permettre le VPN de site à
site afin que les serveurs dans différentes zones puissent se joindre directement.
Une couche de commutateur d'accès couche-2 est établie pour chaque module. Plusieurs com-
mutateurs peuvent être empilés pour augmenter le nombre de ports. Dans les deux cas, des
paires redondantes de commutateurs de couche 2 doivent être déployées.
Le cluster du serveur de gestion (y compris les équilibreurs de charge, les nœuds du serveur de
gestion et la base de données MySQL) est connecté au réseau de gestion via une paire d'équili-
breurs de charge.
Les serveurs de stockage secondaires sont connectés au réseau de gestion.
Chaque module contient des serveurs de stockage et de calcul. Chaque serveur de stockage et de
calcul devrait avoir des NIC redondantes connectées à des commutateurs d'accès couche 2 sépa-
rés.
27
4. Étude Conceptuelle
Nous faisons dans cette partie une modélisation du système, qui implémente la solution retenue
dans le chapitre précédent, afin de définir les besoins fonctionnels et non fonctionnels et établir une
description du système sous forme d’un ensemble de diagrammes de cas d’utilisation en mettant en
valeur la conception de la solution dans la fin du chapitre.
l’administrateur: L'administrateur est toute personne physique ayant reçu les droits d'ad-
ministration. Généralement, lors de l'installation, on configure les droits du premier adminis-
trateur.
l’utilisateur: L'utilisateur est toute personne physique de l'entreprise ayant reçu un compte
d'accès.
L’administrateur :
-La gestion des services : Ajout et suppression ou activation et désactivation des services CloudStack
dans le système.
-La gestion des comptes : Création et modification des comptes utilisateurs en spécifiant les privi-
lèges.
-La gestion des projets : Création et modification des projets et les associer à des comptes utilisa-
teurs.
-La gestion des instances : Création et modification des instances et les associer à des projets.
L’utilisateur :
-La gestion des instances : Création et modification des instances et les associer à des projets.
28
4.4 Besoins non fonctionnels
Ce sont des besoins qui caractérisent le système dont nous citons :
-Accès : accès à la ressource est facile à travers un tableau de bord depuis un navigateur
L’administrateur peut :
29
Gestion des comptes : Le diagramme de cas d’utilisation illustré dans la figure 3.2 présente les fonc-
tionnalités effectuées par l’administrateur dans le cadre de la gestion des comptes.
L’administrateur peut :
Gestion des projets : Le diagramme de cas d’utilisation illustré dans la figure 3.3 présente les fonc-
tionnalités effectuées par l’administrateur dans le cadre de la gestion des projets.
L’administrateur peut :
30
Figure 3.3– Cas d’utilisation « Gestion des projets »
Gestion des instances: Le diagramme de cas d’utilisation illustré dans la figure 3.4 présente les fonc-
tionnalités effectuées par l’administrateur ou l’utilisateur dans le cadre de la gestion des instances.
L’administrateur peut :
31
Figure 3.4– Cas d’utilisation « Gestion des instances »
Ci-dessous les diagrammes de séquences décrivant les manipulations faites par les administrateurs et
les utilisateurs :
32
Diagramme de séquence du cas d'utilisation « Connexion »
5. Conclusion
Nous avons identifié, dans ce chapitre, les solutions proposées, la solution adéquate ainsi que les
différents acteurs et nous avons spécifié les besoins. Nous avons effectué aussi une étude concep-
tuelle des projets que nous allons les adopter dans notre solution pour faciliter la tâche de dimen-
sionnement et l’installation présentée dans le chapitre suivant.
34
Chapitre III : Ingénierie de dimensionnement, sécurité et mise en
place de la solution
L’ingénierie est une approche scientifique rigoureuse dans le but d’étudier la conception et la réalisa-
tion d’un projet. Ce terme est souvent associé à un domaine comme l’exemple de l’ingénierie infor-
matique ou comme notre cas l’ingénierie de dimensionnement portant sur le matériel informatique
et l’ingénierie de sécurité qui traite l’ensemble des moyens assurant la sécurité d’un système infor-
matique.
1. Dimensionnement
Après avoir analysé la stratégie adoptée par la société et exploré ses activités futures, nous avons
abouti à identifier les besoins de la société sur les prochaines cinq années en terme de CPU, mémoire
et stockage et les présenter dans le tableau suivant.
Dans cette section, nous allons dimensionner notre solution suivant ces besoins et les exigences mi-
nimales de notre conception.
L’achat superflu : acheter plus du matériel que nécessaire ce qui implique un gaspillage
d’argent.
L’achat insuffisant : ne pas acheter suffisamment de matériel
Par contre, l’approche de dimensionnement est un peu différente pour les infrastructures hypercon-
vergées où les informaticiens rajoutent un ou plusieurs nœuds de ressources en fonction des besoins
à une architecture déjà dimensionnée d’une façon minimale. Le seul inconvénient est que parfois on
est obligé de rajouter des ressources de calcul et RAM alors qu’on doit agir seulement sur la capacité
de stockage c’est pourquoi on utilise les baies de stockage pour contourner ce problème [17].
Le système utilisé par DataBox est un système hyper convergé avec une infrastructure initiale com-
posée des serveurs présentés dans le tableau 2.1.
Après avoir analysé les objectifs à atteindre sur les cinq prochaines années ainsi que les capacités
actuelles des serveurs, nous constatons qu’une simple extension au niveau de RAM des serveurs
peut couvrir les besoins jusqu’à 2020.
Cependant, les serveurs de DataBox sont saturés en matière de vCPU d’où la nécessité de rajouter
des nouveaux serveurs.
Serveur vCPU
Dell R730 2*20=40
Dell R310 2*4=8
HP dl380 G6 2*2*8=32
HP dl380 G5 2*2*4=16
TOTAL 96
Table 3.2- Capacité des serveurs en matière de vCPU
36
Nous avons donc en total 96 vCPU alors que Databox a besoin de 120 vCPU à la fin de 2017.
Nous allons mener une étude comparative sur deux propositions envisageables de dimensionnement
répondant aux besoins en termes de vCPU. Cette étude aboutira à établir le choix le plus approprié
minimisant les coûts tout en garantissant la performance.
Poweredge R930 est le serveur le plus puissant proposé par Dell. Il possède quatre sockets, conçu
pour les applications entreprises les plus exigeantes [27].
HP dl380 G9 est la 9éme génération des serveurs dl380, les serveurs les plus vendus au monde, con-
çu pour s’adapter à n’importe quel environnement [29].
Les caractéristiques techniques des deux serveurs sont fournies dans l’annexe.
vCPU RAM
2*Dell R930 2*96 2*6TB
HP dl 380 G9 36 3TB
Total 228 15TB
Table 3.3- Capacité offerte par la 1ere proposition
Poweredge R730 est parmi les serveurs les plus puissants proposés par Dell. Il possède deux sockets,
conçu pour les applications entreprises les plus exigeantes [28].
vCPU RAM
6*Dell R730 6*40 6*1.5TB
Total 240 9TB
eme
Table 3.4- Capacité offerte par la 2 proposition
Le choix entre ces deux cas de figure sera basé entièrement sur des critères relatifs au coût et à
l’espace physique occupé. Il y a d’autres critères comme le bruit et la chaleur dégagée mais comme
les serveurs sont dans une salle isolée et climatisée, nous pouvons ne pas les considérer.
HP G9 R930 R730
Support 2U 4U 2U
End of life - - -
Prix Environ 15 million Environ 50 million Environ 25 million
Table 3.5- Tableau comparatif entre les serveurs
Pour finaliser notre choix, nous proposons dans le tableau une comparaison entre les deux proposi-
tions.
37
1.3 Dimensionnement du stockage
Pour bien dimensionner le stockage dans notre solution, nous allons, tout d’abord, rappeler les con-
cepts de base sur les baies de stockage.
La baie de stockage est directement liée à un serveur en particulier via SCSI. Elle est non accessible à
d’autres serveurs. Contrairement au système SAN et NAS, les données ne sont pas envoyées à travers
un réseau ce qui fournit de meilleurs performances. Par contre, le stockage DAS est complexe à
administrer, en effet, il faut gérer autant d’espace qu’il y a de serveurs puisque le stockage n’est pas
mutualisé [19].
C’est un réseau de stockage dédié et indépendant basé sur le protocole Fiber Channel constitué de :
Baies de stockage
Le stockage SAN offre, donc, des performances de haute qualité avec la possibilité de partager des
données entre plusieurs serveurs ou ordinateurs puisque le trafic SAN est séparé de celui des utilisa-
teurs.
Cependant, le coût d’un stockage SAN est très élevé vu la nécessité d’équipements dédiés qui sont
encore chers [18][19].
38
Figure 4.2-- Stockage SAN
La baie de stockage, permettant le stockage et le partage des fichiers, est liée au réseau local (Ether-
net). En effet, la baie de stockage possède sa propre adresse IP et elle est connectée directement au
réseau local de l’entreprise [18] [19].
Disque SATA :
SATA (Serial Advanced Technology Attachement) est un protocole de transfert utilisé pour relier une
unité de masse généralement disque dur à une carte mémoire.
Les disques SATA utilisent ce protocole pour l’envoie des commandes. Cependant, ces disques ne
peuvent envoyer qu’une commande à la fois : écriture ou lecture, c’est ce qu’on appelle la technolo-
gie « half duplex ».
Les disques SATA sont utilisés souvent dans les PC et rarement dans des serveurs.
Caractéristiques :
39
Débit max : 6GB
Tour/min max : 7200 Tr/min
Format disponible : 2.5 pouce, 3.5 pouce
Disque SAS :
SAS (Serial Attached SCSI) est une solution d’interface de stockage. C’est une évolution du bus SCSI
parallèle dérivé du modèle SATA.
Contrairement au disque SATA, un disque SAS possède un seul connecteur pour l’alimentation et le
transfert des données et utilise la technologie « full duplex » puisqu’il peut envoyer deux com-
mandes en même temps.
Ce type de disques est utilisé généralement sur des serveurs pour supporter les applications de
virtualisation et de base de données.
Caractéristiques :
Pour cela, en considérant les notions définies précédemment, nous recommandons l’achat des bais
de stockage HP MSA 1040 monté par des disques SAS disposés en RAID 5+1 (voir annexe).
Cette baie de stockage, possédant deux contrôleurs iSCSI et deux ports réseaux, peut être utilisé avec
les technologies iSCSI, Ethernet ou bien Fiber Channel d’où lors de la migration, la société n’est pas
obligée à changer son matériel.
Stockage
MSA 30 6TB
3*MSA 1040 3*10TB
Total 36TB
Table 3.7- Capacité offerte par la solution recommandée
2. Sécurité
La sécurité du Cloud Computing est un sous domaine de la sécurité informatique, sous développé,
qui a vu le jour avec l’apparition du cloud computing. Cependant, la sécurité est aussi la raison prin-
cipale qui freine les sociétés d’adopter les services cloud.
40
Nous présentons dans cette section quelques notions utiles relatives à la sécurité dans le cloud ainsi
que la politique adoptée.
Protection contre les coupures et les variations de courant : l’utilisation des onduleurs et gé-
nérateur
La segmentation de réseau aussi fait partie de la sécurité logique mais nous ne pouvons pas encore
l’adopter comme nous sommes transparents par rapport aux services qui seront déployé sur le cloud
[21].
- RTO (Recovery Time Objective) : représente le temps toléré pour le rétablissement d’un ser-
vice lors d’une panne.
- RPO (Recovery Point Objective) : représente la quantité de données tolérée lors d’une panne.
Tous les mécanismes de sécurité de données ont comme objectif la réduction du RTO et RPO, on
cite le snapshot qui permet la sauvegarde de façon plus fréquentes sur des disques ce qui répond au
besoin du RPO [21].
La mise en œuvre d’une politique de sécurité passe par ces deux phases principales [22]:
41
2.2.1 Identification des objectifs
Le cloud privé, comme tout système d’information, est constitué par des ressources matérielles et
logicielles. L’objectif d’une politique de sécurité est de garantir que ces ressources sont utilisées dans
leur cadre prévu. Ceci est assuré par le respect de ces critères:
L’intégrité : s’assurer que les données sont bien celles que nous croyons l’être.
La disponibilité : s’assurer que seules les personnes autorisées aient accès aux ressources
La confidentialité : s’assurer du bon fonctionnement du système
Nous avons défini deux catégories de risques : ceux qui sont liés au cloud et ceux qui sont suscep-
tibles d’être présents dans tout projet informatique parmi lesquels nous citons :
42
Figure 4.4- Architecture de la solution adoptée
Un pare-feu est un programme, ou matériel, qui permet la protection d’un réseau interne d’un autre
réseau externe en contrôlant le trafic qui passe entre les deux réseaux.
En fait, un pare-feu filtre les flux de données qui le traversent suivant des règles fournit par
l’administrateur.
On va utiliser le firewall entreprise ASA déjà mise en place pour gérer les règles de sécurité
Un serveur d'authentification est un moyen de sécurité informatique afin de filtrer l'accès à une res-
source (réseau, information) et de garder une trace de qui a fait quoi et quand.
On va utiliser le serveur d’authentification de l’entreprise déjà mise en place pour les aspects
d’authentification
Un pot de miel est une méthode de défense active permettant d’émuler des services sur une ma-
chine faiblement sécurisée afin d’attirer les attaquants pour les neutraliser.
43
Un pot de miel est, donc, un système de sécurité qui permet de décevoir l’attaquant qui croit avoir
accès à une machine véritable ce qui nous permet d’observer son comportement suivant ces étapes :
Pot de miel à faible interaction : la machine utilisée est une machine n’ayant pas des services véri-
tables pour minimiser le risque.
Pot de miel à forte interaction : la machine utilisée est une machine véritable plus ou moins sécurisé
ce qui augmente le risque.
Un IDS est un mécanisme de défense actif permettant de détecter en temps réel toutes activités
anormales sur un réseau.
- NIDS : analyse du trafic réseau afin de détecter les signatures d’attaque face à un modèle de
référence.
- HIDS : analyse le fonctionnement des hôtes (journaux systèmes…) sur lesquelles ils sont ins-
tallés.
- IDS Hybride : c’est une combinaison de NIDS et HIDS permettant de surveiller à la fois le ré-
seau et les terminaux.
Ces composants de sécurité (IDS et pot de miel) ne sont pas adaptés pour détecter les attaques dis-
tribuées, en effet ces attaques sont subdivisées en sous attaques afin d'être indétectable par de tel
système de sécurité.
Elaborons plus cette idée, le problème principal lié à la collecte de données, est le grand volume de
données à analyser par l’expert humain. Parmi ces données, nous distinguons des attaques récur-
rentes et des activités normales effectuées par des utilisateurs qui testent le les IDS ou le pot de miel.
La présence de ces données volumineuses et redondantes complique la tâche d’analyse et peut ca-
cher des nouvelles attaques. Afin de résoudre ce problème, nous optons vers l’utilisation des tech-
niques d’apprentissage automatique et de data mining. Nos objectifs se résument en la détection des
nouvelles attaques, la détection des attaques de déni de service et la caractérisation de toutes les
attaques capturées.
44
3.1.2 Mise en place de moyens de contrôle
Cette phase est très importante est doit être effectuer d’une manière cyclique. Elle est assurée par
des outils spécifiques, nous citons :
Les audits internes : effectuer par un auditeur interne pour comparer l’état du système à un
référentiel.
Les résultats obtenus doivent être analysés pour mettre en place des actions d’amélioration qui peu-
vent être correctives ou préventives.
Dans ce module on va commencer par présenter l’environnement matériel et logiciel. Ensuite, les
étapes du déploiement et nous terminerons par les tests et validation de la solution.
Sur le deuxième serveur R310, nous avons installé un hyperviseur KVM et sur les deux ordinateurs de
bureau Dell nous avons installé XenServer 6.0.2 et HyperV [30].
45
Nous allons utiliser Centos 7 comme système d’exploitation pour CloudStack et KVM et Windows
Server 2008 R2 pour HyperV [31].
4.2.2 Réseau
Pour la mise en place de la partie réseau, il faut aussi préparer l’environnement en configurant les
interfaces réseau et l’installation du serveur de temps ntp qui doit être synchronisé avec le serveur
temps du nœud de contrôle. Ensuite, nous installons les composants NFS [14].
46
Figure 4.6- Services installés partie Réseaux
47
Remarque : Pour faciliter l’installation ainsi que la configuration des différents nœuds mentionnés
ci-dessus, nous avons mis à jour un script Shell déjà existant qui englobe toutes les étapes de confi-
guration.
- Hyper-V est un serveur sur lequel nous avons installé hyper-v server 2008 R2.
- XenServer est un serveur sur lequel nous avons installé Xenserver 6.0.2.
- KVM est un serveur sur lequel nous avons installé Centos 7.
48
5. Test et validation de la solution
Le but de cette section est de vérifier que les services sont bien installés et en état de fonctionne-
ment. Ceci est possible grâce à un ensemble de commandes détaillées dans l’Annexe 1
Nous devons aussi vérifier si notre solution est bien conforme à notre conception établie dans la
partie Etude conceptuelle. Ceci est dans le but de valider la solution.
Ci-dessous, une capture d’écran à titre d’exemple montrant une instance qui tourne correctement
après avoir fait tout le processus de configuration
6. Conclusion
Dans ce chapitre, nous avons présenté dans un premier lieu, un aperçu sur le dimensionnement des
serveurs et du stockage. Dans un deuxième lieu, nous avons décrit la politique de sécurité entrepris
et on a terminé par décrire le processus de déploiement de l’environnement de test.
49
Conclusion et perspectives
L’objectif de notre projet de fin d’études était la mise en place d’un cloud privé basé sur des diffé-
rents hyperviseurs incluant l’étude d’ingénierie de dimensionnement et de sécurité.
La première étape était la recherche d’une solution qui permet la gestion de plusieurs hyperviseurs.
En effet, le travail de recherche et de collecte d’informations effectué dans ce projet a pris beaucoup
de temps pour trouver finalement la solution adéquate. Celle-ci est basée sur CloudStack qui res-
pecte la contrainte financière puisqu’il est open source. Nous avons par la suite fait une conception
en se basant sur les besoins fonctionnels et non fonctionnels spécifiés.
La dernière partie du projet était la partie réalisation afin d’offrir au département IT un environne-
ment de test et un ensemble de documents facilitant le redéploiement.
Le choix du CloudStack n’était pas approuvé seulement parce qu’il répond à nos besoins mais aussi
pour le potentiel d’évolution énorme qu’il possède, non seulement par les commutés qui propose
chaque année au moins deux nouvelles versions, mais aussi la possibilité de rajouter des modules
personnalisés.
La solution présentée peut être encore étendue pour bénéficier des services de sécurité offerts par
CloudStack (VLAN, security group..) ainsi que les services de la haute disponibilité que nous n’avons
pas testée dans notre environnement.
On pourra aussi ajouter d’autres nœuds de calcul tel que VMware lorsqu’on aura plus de ressource
(matériel) disponibles dans la société ainsi que l’exploitation de la partie gestion de projets sur la
plateforme CloudStack.
50
BIBILIOGRAPHIE ET SITOGRAPHIE
[1] http://blog.compufirst.com/serveur/quest-ce-qu-un-hyperviseur
[2] http://www.elit-technologies.fr/editorial/qu-est-ce-que-virtualisation-serveurs/
[3] http://www.systancia.com/fr/virtualisation-et-cloud-computing
[4] http://www.systancia.com/fr/modeles-du-cloud-computing
[5] http://www.interoute.fr/what-iaas
[6] http://france.emc.com/collateral/emc-perspective/h6870-consulting-cloud-ep.pdf
[7] http://www.commentcamarche.net/faq/28158-le-cloud-prive-dans-l-entreprise#le-cloud-prive-
un-pied-dans-l-entreprise
[8] http://www.hotlink.com/resources/SuperVISOR_2.pdf
[9] https://www.virtualizationpractice.com/hotlink-supervisor-vcenter-for-hyper-v-kvm-and-
xenserver-15369/
[10] http://www.nec.com/en/global/prod/sigmasystemcenter/
[11] http://docs.openstack.org/juno/
[12] http://www.hellovinoth.com/multi-hypervisor-openstack-integrating-vmware-vcenter-and-kvm-
hypervisors-with-openstack/
[13] https://releases.openstack.org/
[14] http://cloudstack-installation.readthedocs.io/en/4.3/installation.html
[15] http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/4.9/
[16] http://docs.cloudstack.apache.org/projects/cloudstack-
installation/en/4.9/choosing_deployment_architecture.html
[17] http://www.hyperconverged.org/fr/blog/2014/09/18/dimensionnement-de-linfrastructure-
comparaison-des-infrastructures-hyperconvergee-et-traditionnelle/
[18] http://syskb.com/san-ou-nas-quelle-est-la-difference/
[19] http://cesar.resinfo.org/IMG/pdf/SIARS-Stockage-MR.pdf
[20] http://www.intel.com/content/www/us/en/support/boards-and-kits/000005782.html
[21] http://www.config.fr/press/Livre_Blanc_Cloud_Computing_Securit%C3%A9.Vdef.pdf
[22]https://fr.wikipedia.org/wiki/S%C3%A9curit%C3%A9_des_syst%C3%A8mes_d%27information#P
hase_check_:_Mise_en_place_de_moyens_de_contr.C3.B4le
51
[23] http://searchsecurity.techtarget.com/opinion/Commercial-firewalls-vs-Open-source-firewalls
[24] https://fr.wikipedia.org/wiki/Authentification
[25] http://folk.uio.no/ingardm/sysarp/honeypot
a_supplemented_active_defense_for_network_security.pdf
[26] http://www-igm.univ-mlv.fr/~duris/NTREZO/20032004/Baudoin-Karle-IDS-IPS.pdf
[27] http://i.dell.com/sites/doccontent/shared-content/data-
sheets/en/Documents/PowerEdge_R930_spec_sheet-FINAL.pdf
[28] http://i.dell.com/sites/doccontent/shared-content/data-sheets/fr/Documents/Dell-PowerEdge-
R730-Spec-Sheet-FR-HR.pdf
[29] https://www.hpe.com/h20195/v2/GetPDF.aspx/c04227623.pdf
[30] http://www.informatiweb-pro.net/virtualisation/1-citrix/10--citrix-xenserver-installation-
configuration-mises-a-jour-et-utilisation.html
[31] http://www.toutwindows.com/ws2008r2_hyper-v.shtml
52
ANNEXE 1: Détails Technique
Operating System
Utilisant la CentOS 6.9 x86_64 installation minimale ISO, vous devrez installer CentOS 6 sur votre
matériel. Les paramètres par défaut seront généralement acceptables pour cette installation.
Une fois cette installation terminée, vous voudrez vous connecter à votre machine récemment instal-
lée via SSH en tant qu'utilisateur root. Notez que vous ne devez pas autoriser les connexions root
dans un environnement de production, alors assurez-vous d'éteindre les connexions à distance une
fois que vous avez terminé l'installation et la configuration.
En vous connectant via la console, vous devez vous connecter en tant que root. Vérifiez le fichier
/etc/sysconfig/network-scripts/ifcfg-eth0, il ressemblera à ceci par défaut:
DEVICE="eth0"
HWADDR="52:54:00:B9:A6:C0"
NM_CONTROLLED="yes"
ONBOOT="no"
Malheureusement, cette configuration ne vous permettra pas de se connecter au réseau et n'est pas
adapté à nos besoins avec CloudStack. Nous voulons configurer ce fichier afin qu'il spécifie l'adresse
IP, le masque de réseau, etc., comme indiqué dans l'exemple suivant:
DEVICE=eth0
HWADDR=52:54:00:B9:A6:C0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=none
53
IPADDR=192.168.101.107
NETMASK=255.255.255.0
GATEWAY=192.168.101.1
DNS1=192.168.1.50
DNS2=192.168.7.4
Maintenant nous avons configuré correctement les fichiers de configuration, nous devons exécuter
quelques commandes pour démarrer le réseau:
# chkconfig network on
# service network start
Hostname
CloudStack exige que le nom d'hôte soit correctement défini. Si vous avez utilisé les options par dé-
faut dans l'installation, votre nom d'hôte est actuellement défini sur localhost.localdomain. Pour
tester cela, nous exécuterons:
# hostname --fqdn
localhost
Pour remédier à cette situation - nous allons définir le nom d'hôte en éditant le fichier /etc/hosts
pour qu'il suit un format similaire à cet exemple:
Maintenant, vérifiez à nouveau avec la commande hostname --fqdn et assurez-vous qu'il renvoie une
réponse FQDN
SELinux
54
Pour le moment, CloudStack fonctionne correctement. SELinux doit être défini comme permissive.
Nous voulons les configurer pour les futures bottes et les modifier dans le système d'exécution ac-
tuel.
Pour configurer SELinux comme étant permissif dans le système en cours d'exécution, nous devons
exécuter la commande suivante:
# setenforce 0
Pour s'assurer qu'il reste dans cet état, nous devons configurer le fichier /etc/selinux/config pour
refléter l'état permissive, comme indiqué dans cet exemple:
NTP
La configuration NTP est une nécessité pour synchroniser toutes les horloges de vos serveurs en
nuage. Cependant, NTP n'est pas installé par défaut. Nous allons donc installer et configurer NTP à ce
stade. L'installation s'effectue comme suit:
# chkconfig ntpd on
# systemctl start ntpd
[cloudstack]
name=cloudstack
55
baseurl=http://cloudstack.apt-get.eu/centos/6/4.6/
enabled=1
gpgcheck=0
NFS
Notre configuration va utiliser NFS pour le stockage primaire et secondaire. Nous allons aller de
l'avant et configurer deux actions NFS à ces fins. Nous commencerons en installant nfs-utils.
Nous devons maintenant configurer NFS pour diffuser deux actions différentes. Cela se fait de ma-
nière relativement simple dans le fichier /etc /exports. Vous devez vous assurer qu'il a le contenu
suivant:
/secondary *(rw,async,no_root_squash,no_subtree_check)
/primary *(rw,async,no_root_squash,no_subtree_check)
Vous remarquerez que nous avons spécifié deux répertoires qui n'existent pas (encore) sur le sys-
tème. Nous allons continuer et créer ces répertoires et définir les autorisations de manière appro-
priée sur eux avec les commandes suivantes:
# mkdir /primary
# mkdir /secondary
Les versions de CentOS 6.x utilisent NFSv4 par défaut. NFSv4 exige que les paramètres de domaine
correspondent à tous les clients. Dans notre cas, le domaine est cloud.priv, alors assurez-vous que le
paramètre de domaine dans /etc/idmapd.conf est décommenté et défini comme suit: Domain =
cloud.priv
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
Maintenant, nous devons configurer le pare-feu pour permettre les connexions NFS entrantes. Modi-
fier le fichier /etc/sysconfig/iptables
Nous devons maintenant configurer le service nfs pour commencer le démarrage et le démarrer sur
l'hôte en exécutant les commandes suivantes:
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
57
binlog-format = 'ROW'
MySQL est correctement configuré, nous pouvons le démarrer et le configurer pour commencer le
démarrage comme suit:
Installation
Nous allons maintenant installer le serveur de gestion. Nous le faisons en exécutant la commande
suivante:
Avec l'application elle-même installée, nous pouvons maintenant configurer la base de données,
nous allons le faire avec la commande et les options suivantes:
Lorsque ce processus est terminé, vous devriez voir un message comme "CloudStack a réussi à initia-
liser la base de données".
Maintenant, la base de données a été créée, nous pouvons prendre la dernière étape dans la confi-
guration du serveur de gestion en émettant la commande suivante:
# cloudstack-setup-management
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 \
-h kvm -F
Cela conclut notre configuration du serveur de gestion. Nous avons encore besoin de configurer
CloudStack, mais nous le ferons après avoir configuré notre hyperviseur.
Installation
L'installation de l'agent KVM est trivial avec une simple commande, mais ensuite, nous devrons con-
figurer quelques éléments.
KVM Configuration
Nous avons deux parties différentes de KVM pour configurer, libvirt et QEMU.
QEMU Configuration
La configuration de KVM est relativement simple à un seul élément. Nous devons modifier la configu-
ration QEMU VNC. Cela se fait en éditant /etc/libvirt/qemu.conf et en garantissant que la ligne sui-
vante est présente et n'est pas commentée.
Vnc_listen = 0.0.0.0
Libvirt Configuration
CloudStack utilise libvirt pour la gestion de machines virtuelles. Par conséquent, il est vital que libvirt
soit correctement configuré. Libvirt est une dépendance de cloud-agent et devrait déjà être installé.
1. Pour avoir une migration en direct, libvirt doit écouter les connexions TCP non sécurisées. Nous
devons également désactiver la tentative de libvirts d'utiliser la publicité DNS Multicast. Ces deux
paramètres sont dans /etc/libvirt/libvirtd.conf
Définissez les paramètres suivants:
listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0
2. L’activation de "listen_tcp" dans libvirtd.conf ne suffit pas, nous devons également modifier les
paramètres, nous devons également modifier /etc/sysconfig/libvirtd:
Dé-commentant la ligne suivante:
#LIBVIRTD_ARGS="--listen"
Redemarrer libvirt
59
# systemctl restart libvirtd
Par souci d'exhaustivité, vérifiez si KVM fonctionne correctement sur votre machine:
Cela conclut notre installation et configuration de KVM, et nous allons maintenant utiliser l'interface
utilisateur CloudStack pour la configuration actuelle de notre nuage.
Configuration
Comme nous l'avons noté précédemment, nous utiliserons des groupes de sécurité pour fournir un
isolement et, par défaut, cela implique que nous allons utiliser un réseau plat de couche 2. Cela signi-
fie également que la simplicité de notre configuration signifie que nous pouvons utiliser l'installateur
rapide.
UI Access
Pour accéder à l'interface Web de CloudStack, il suffit de pointer votre navigateur vers
http://192.168.101.107:8080/client. Le nom d'utilisateur par défaut est «admin» et le mot de passe
par défaut est «mot de passe». Vous devriez voir un écran de démarrage qui vous permet de choisir
plusieurs options pour configurer CloudStack. Vous devez choisir l'option Continuer avec configura-
tion de base.
Vous devriez maintenant voir une invite vous demandant de modifier le mot de passe de l'utilisateur
administrateur. S'il-vous-plaît faites ainsi.
Setting up a Zone
Une zone est la plus grande entité d'organisation de CloudStack - et nous allons en créer une, ce de-
vrait être l'écran que vous voyez en face de vous maintenant. Et pour nous, il y a 5 informations dont
nous avons besoin.
1. Nom - nous allons définir ceci à la «Zone1» toujours descriptive pour notre nuage.
2. DNS public 1 - nous allons définir ceci à '192.168.1.50' pour notre nuage.
3. DNS public 2 - nous allons définir ceci à '192.168.7.4' pour notre nuage.
4. DNS1 interne - nous allons également définir cela sur '192.168.1.50' pour notre nuage.
5. DNS2 interne - nous allons également définir cela sur '192.168.7.4' pour notre nuage.
60
Pod Configuration
Maintenant que nous avons ajouté une zone, la prochaine étape qui se pose est une invite pour
l'information regain une puce. Qui recherche plusieurs articles.
Cluster
Après l’ajout de la zone, il suffit d'ajouter quelques autres éléments pour configurer le cluster.
1. Nom - Cluster1
2. Hypervisor - KVM
Vous devriez être invité à ajouter le premier hôte à votre cluster à ce stade. Seuls quelques éléments
d'information sont nécessaires.
1. Nom d'hôte: nous utiliserons l'adresse IP 192.168.101.106 car nous n'avons pas configuré de ser-
veur DNS.
3. Mot de passe: entrez le mot de passe du système d'exploitation pour l'utilisateur root
Primary Storage
Avec votre cluster maintenant configuré- vous devriez être invité à fournir des informations de
stockage principales. Choisissez NFS comme type de stockage, puis saisissez les valeurs suivantes
dans les champs:
1. Nom - 'Primary1'
3. Chemin - Bien défini /Primary comme chemin d'accès que nous utilisons
61
Secondary Storage
S'il s'agit d'une nouvelle zone, vous serez invité à fournir des informations de stockage secondaires -
remplissez-le comme suit:
Maintenant, cliquez sur Lancer et votre nuage devrait commencer l'installation. Cela peut
prendre plusieurs minutes en fonction de la vitesse de connexion Internet pour que l'instal-
lation soit finalisée.
C'est ça, vous avez fini avec l'installation de votre nuage Apache CloudStack.
Script :
Comme on a mention dans le rapport, on peut utiliser un script qui englobe toutes ces
étapes, et il suffit de remplir les informations demandées par ce script.
#!/bin/sh
SSH_PUBLIC_KEY='insert_your_ssh_public_key_here'
function add_ssh_public_key() {
cd
mkdir -p .ssh
function get_network_info() {
62
read -p ' dns2 (ex:8.8.4.4) : ' DNS2
function get_nfs_info() {
function get_nfs_network() {
function install_common() {
yum update -y
setenforce permissive
echo "[cloudstack-4.7]
name=cloudstack
baseurl=http://packages.shapeblue.com/cloudstack/upstream/centos/4.7
enabled=1
chkconfig ntpd on
wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
mkdir -p /usr/share/cloudstack-common/common/scripts/vm/hypervisor/xenserver
mv vhd-util /usr/share/cloudstack-common/common/scripts/vm/hypervisor/xenserver
63
function install_management() {
echo "innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
chkconfig mysqld on
expect -c "
set timeout 10
spawn mysql_secure_installation
expect \"Enter current password for root (enter for none): \"
send \"\n\"
send \"Y\n\"
send \"password\n\"
send \"password\n\"
send \"Y\n\"
64
send \"Y\n\"
send \"Y\n\"
send \"Y\n\"
interact
"
cloudstack-setup-management
chkconfig cloudstack-management on
function initialize_storage() {
chkconfig rpcbind on
chkconfig nfs on
mkdir -p /mnt/primary
mkdir -p /mnt/secondary
sleep 10
sleep 10
rm -rf /mnt/primary/*
rm -rf /mnt/secondary/*
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u
http://packages.shapeblue.com.s3-eu-west-
1.amazonaws.com/systemvmtemplate/4.6/new/systemvm64template-4.6-xen.vhd.bz2 -h xenserver -s password -
F
65
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u
http://packages.shapeblue.com.s3-eu-west-
1.amazonaws.com/systemvmtemplate/4.6/new/systemvm64template-4.6-hyperv.vhd.zip -h hyperv -s password -
F
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary
-u http://packages.shapeblue.com.s3-eu-west-
1.amazonaws.com/systemvmtemplate/4.6/new/systemvm64template-4.6-vmware.ova -h vmware -s password -F
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary
-u http://packages.shapeblue.com.s3-eu-west-
1.amazonaws.com/systemvmtemplate/4.6/new/systemvm64template-4.6-kvm.qcow2.bz2 -h kvm -s password -F
sync
umount /mnt/primary
umount /mnt/secondary
rmdir /mnt/primary
rmdir /mnt/secondary
function install_agent() {
modprobe kvm-intel
cpu {
cpu.shares=9216;
echo "listen_tls = 0
listen_tcp = 1
tcp_port = \"16509\"
auth_tcp = \"none\"
66
HWADDR=`grep HWADDR /etc/sysconfig/network-scripts/ifcfg-eth0 | awk -F '"' '{print $2}'`
echo "DEVICE=eth0
HWADDR=$HWADDR
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS1
DNS2=$DNS2
echo "DEVICE=cloudbr0
HWADDR=$HWADDR
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=$IPADDR
NETMASK=$NETMASK
GATEWAY=$GATEWAY
DNS1=$DNS1
DNS2=$DNS2
function install_nfs() {
chkconfig rpcbind on
chkconfig nfs on
67
mkdir -p $NFS_SERVER_PRIMARY
mkdir -p $NFS_SERVER_SECONDARY
exportfs -a
echo "LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
echo "-A INPUT -s $NETWORK -m state --state NEW -p udp --dport 111 -j ACCEPT
68
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT" >> /etc/sysconfig/iptables
if [ $# -eq 0 ]
then
OPT_ERROR=1
fi
case $flag in
h) OPT_ERROR=1; break;;
a) opt_agent=true;;
c) opt_common=true;;
n) opt_nfs=true;;
m) opt_management=true;;
r) opt_reboot=true;;
esac
done
if [ $OPT_ERROR ]
then
69
echo >&2 "usage: $0 [-cnamhr]
exit 1
fi
if [ "$opt_agent" = "true" ]
then
get_network_info
fi
if [ "$opt_nfs" = "true" ]
then
get_nfs_network
fi
if [ "$opt_management" = "true" ]
then
get_nfs_info
fi
if [ "$opt_common" = "true" ]
then
add_ssh_public_key
install_common
fi
if [ "$opt_agent" = "true" ]
70
then
install_agent
fi
if [ "$opt_nfs" = "true" ]
then
install_nfs
fi
if [ "$opt_management" = "true" ]
then
install_management
initialize_storage
fi
if [ "$opt_reboot" = "true" ]
then
sync
sync
sync
reboot
fi
71
72
II- Document de Test et Validation
Tableau de bord
73
Zone
74
Pod
75
Cluster
Hôte
76
Stockage primaire
77
Stockage secondaire
78
Instance
79
ANNEXE 2 : Notions Diverses
Un serveur Rack est un serveur qui s’intègre dans une baie Rack. Une baie étant une armoire métal-
lique généralement à glissières fermé par une porte en verre ou métal afin de protéger les machines.
Elle permet la mutualisation de l’alimentation électrique et les solutions de stockage ou sauvegarde.
L’Unité U est l’unité de Rack utilisée pour définir la hauteur des serveurs : 1U
= 44.45 mm. Quant à la profondeur, elle diffère selon le standard utilisé qui varie d’un secteur
d’industrie à un autre. Le standard des racks 19 pouces est le plus répandu : 48,26 cm de large et
43,18 cm de profondeur.
Le RAID pour « Redundant Array of Independent Disks »ou « regroupement redondant de disques
indépendants »est un ensemble de technique de virtualisation de stockage utilisé pour le but
d’améliorer selon le besoin la performance, la sécurité ou la tolérance aux pannes.
En effet, un système RAID permet la répartition des données sur plusieurs disques durs soit pour
améliorer les performances (RAID 0) soit pour assurer la redondance (RAID 1) soit les deux en-
sembles (RAID 5).
RAID 0 permet d’augmenter les performances en faisant travailler plusieurs disques durs en parallèle.
L’appellation volume agrégé par bandes revient au fait que les données sont découpées en plusieurs
bandes qui seront disposés sur les différents disques. L’inconvénient principal de ce niveau est le
manque de la redondance et la protection des données. Si un disque tombe en panne, toutes les
données deviennent inaccessibles.
80
RAID 1 : « Disques en miroir »
RAID 1 utilise plusieurs disques redondants, chaque disque contenant à tout moment exactement les
mêmes données, d’où l’appellation « miroir ». Contraire- ment au RAID 0, cette redondance offre un
niveau de sécurité : si un seul disque tombe en panne, les données restent disponibles sur les autres
disques. Par contre, le RAID 1 diminue les capacités d’au moins 50 %.
Le RAID 5 combine la méthode du volume agrégé par bandes (striping) à une parité répartie circu-
laire. En cas de défaillance d’un seul disque, les données peuvent être récupérées à partir du bloc de
parité et les autres blocs de données. Cependant, si un autre disque tombe en panne les données
seront perdues.
En cas de défaillance d’un disque, les données sont synchronisées avec le disque de rechange. Et par
suite, nous n’avons pas à attendre l’arrivée d’un disque de remplacement et lorsque le disque défail-
lant est remplacé, le disque de remplacement devient le nouveau disque de rechange.
81
Figure II.4 – Niveau RAID 5 avec spare
82