Support soutenance PFE 11 juillet 2016 - EMSI - SIEMENS - Université de Borde...
Virtualisation et intégration des applications d'entreprise en environnement de production
1. Virtualisation et Intégration des
applications d’entreprise en
environnement de production
Présenté par :
KOUOTOU Aboubakar Sidiki
En vue de l’obtention du:
Diplôme d’ingénieur de Conception de Génie
Informatique
Année académique : 2008-2009
Mémoire de fin d’études
ISPEED SA
2. Plan de l’exposé
INTRODUCTION
ETAT DE L’ART
MISE EN ŒUVRE
CONCLUSION
2
4. INTRODUCTION
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Contexte Motivations Problématique Objectifs
Ispeed S.A: une SS2L
Veille technologique
Produit de virtualisation
Une maîtrise technique
4
5. INTRODUCTION
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Contexte Motivations Problématique Objectifs
5
Fournir des services à la demande
Virtual appliances
Consolidation des serveurs
Economie d’énergie
Utilisation optimale du matériel
Simplification de l’administration
Isolation des services
Reprise sur panne
Développement des applications
6. INTRODUCTION
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Contexte Motivations Problématique Objectifs
Conduire un projet de virtualisation
Pas de méthode standard
Quelle démarche adoptée?
6
7. INTRODUCTION
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Contexte Motivations Problématique Objectifs
Proposer une méthode de virtualisation
Déployer un prototype de serveur virtualisé
Evaluer les performances et les coûts
7
9. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
9
Isolateur
Hyperviseur
Emulateur
Virtualisation complète Paravirtualisation
Abstraction
du matériel physique
Plusieurs environnements
d’exécution
Séparation de contextes
Hôte (host, dom0)
Invité (guest, domU)
Exécuter plusieurs
versions d’un software
Mais un seul noyau
Programme utilisateur
Emulation du hardware
Exécution d’OS invités
Emulation de bas niveau
Contrôle exclusif du matériel
Invités au noyau modifié
Performances proches des 100%
Systèmes non modifiés
Performances amoindries
Ré-interpretation des
executables des hôtes
Peu Performant
10. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
10
Virtualisation complète
Hardware (réseau, disques, …)
Hyperviseur
dom0 dom1 dom2
OS hôte OS OS
Logiciels de
contrôle
applis
applis
applis
applis
Extensions de
virtualisation
11. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
11
Paravirtualisation
Hardware (réseau, disques, …)
Hyperviseur
dom0 dom1
OS hôte OS + drivers spécifiques
Logiciels de
contrôle
applis
applis
Extensions de
virtualisation
dom2
OS + drivers spécifiques
applis
applis
12. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
12
Solutions libres de virtualisation
Isolateurs: openVZ, Linux-Vserver
Emulateur : qemu
Hyperviseurs: KVM, XEN
13. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
13
Choix d’une solution
Hyperviseur externe
Gestionnaire de processus
propre
Mature et utilisé en
production
Problèmes de mise à jour
Module du noyau linux
Gestionnaire de processus de
linux
En développement mais intégré
dans la future version de RHEL
Mise à jour simple
XEN KVM
Notre solution: KVM
14. ETAT DE L’ART
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Concepts outils
14
Outils utilisés
Hyperviseur: KVM
Outils d’administration:
sshd
vnc-server et vnc-viewer
virt-install
virsh et virt-manager
vsftpd
16. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
16
PlanificationIdentification des serveurs
virtuels
Inventaire des ressources matérielles
Configuration du stockage
Plan d’adressage
Besoins des applis
CPU, RAM, …
Extensions de virtualisation
dmesg | grep vmx
LVM
lvX, vgX, pvX
Mac + IP + nom pour
chaque VM
17. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
17
Planification
domU Nom
VM
VCPUs RAM
max/min
(MB)
OS Type de
virtualisation
(para ou full)
Rôle Applications
nécessaires
Nom
VL
Espace
disque
(GB)
Adresses
IP / MAC
dom0
dom1
…
Plan de virtualisation
18. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
18
Déploiement du dom0
PlanificationInstallation de l’outil
de virtualisation
Intallation des outils d’administration
Configuration du réseau
Configurer SELinux
virt-manager, virsh
virt-install
Bridge
désactiver pour les tests
semanage en production
19. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
19
Déploiement du dom0
Planification
Serveurs de fichiers
Serveur ftp
dd
VM « Infrastructure »
Adminstration à distance
20. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
20
Déploiement du dom0
Planification
VM « Infrastructure »
Déploiement des VMs
virt-manager
virt-install
21. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
21
Déploiement du dom0
Planification
VM « Infrastructure »
Déploiement des VMsArchitecture de backup
Serveur de backup
sync
22. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
22
Plan de virtualisation
domU Nom VM VCPUs RAM
min/max (MB)
OS Type de
virtualisation
(para ou full)
Rôle Applications
nécessaires
Nom VL Espace
disque (GB)
Adresse IP / MAC
dom0 Hypervisor 2 256/512 FC9 Hyperviseur KVM KVM, Qemu 10 192.168.0.253/
00:23:54:C2:81:30
(NIC physique)
dom1 isoServerVM 1 256/512 CentOS 5.1 full Serveur d'images et
serveurs dhcp
dhcpd, vsftpd Iso-server 40 192.168.0.252/
00:23:54:C2:80:01
dom2 Alfresco 1 256/512 Centos 5.1 para Serveur de GED Alfresco labs 3
final, tomcat 6,
MySQL server
alfresco 10 192.168.0.251/
00:23:54:C2:80:02
dom3 ERP 1 256/512 Centos 5.1 para Applications d'ERP Openerp-sever,
openerp-web,
paquetages pythons
associés
PostgreSQL 8.1
Erp-VL 40 192.168.0.250/
00:23:54:C2:80:03
Dom4 winXP 1 192/256 Windows
XP
full Tester le
fonctionnement de
XP virtualisé
Winxp-VL 5 192.168.0.248/
00:23:54:C2:80:04
2Cpus - AMD Athlon 64X2
Dual Core processor.
Disque dur : 320G
RAM: 4G
Carte Réseau:
Realtek semi-conductor
24. MISE EN ŒUVRE
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Méthode Implémentation Démo
24
Installation des machines virtuelles
Machine Infrastructure à partir d’un dvd
Serveurs de fichiers: vsftpd
Installer les VMs avec virt-install et virt-manager
27. Conclusion
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Bilan Perspectives
27
Méthode de virtualisation
Implémentation d’un prototype
Economie sur le matériel
Backup non implémenté
28. Conclusion
Introduction
Etat de l’art
Mise en œuvre
Conclusion
Bilan Perspectives
28
Implémentation effective du backup et de la
migration à chaud.
Démarrage et extinction programmés des VMs
Fourniture effective d’une virtual appliance
Platform de virtualisation est une couche d’abstraction permettant d’avoir plusieurs ordinateurs, déployer et fonctionnant indépendamment sur une même machine physique
Ispeed SA
Infrastructures , télécom, développement, intégration des service et support technique des entreprises sur des solutions libres
L’entreprise ispeed SA définit une nouvelle offre de virtualisation , elle a donc besoin de faire une étude technique complète des concepts et des outils pour asseoir sa maîtrise technique et définir une Démarche générique pour ses différents clients
Motivés par les besoins du marché
Fournir des services à la demande Systèmes d’exploitation taillés sur mesure et prêts à l’emploi
Rassembler plusieurs serveurs physiques sur un seul qui en a les capacités
Diminution de la consommation d’énergie
Optimiser l’utilisation du matériel
Isolation des services: Un service critique peut être déployé sur une machine virtuelle, reprises sur panne par des architectures plus flexibles d’exploitation
Développement des applications : déploiement rapide des environnements de test rapide sans investissement supplémentaire sur le matériel.
Développement d’applications: tests multi-plate-forme sans achat de matériels supplémentaires
Conduite d’un projet de virtualisation est difficile, beaucoup de concepts à maîtriser, les architectures des outils sont disparates et la plupart du temps les administrateurs ont des problèmes de choix
Manque de standard dans le domaine, car les projets libres ne sont devenus matures que très récemment
Quelle démarche adoptée? Pour mener à bien un projet de virtualisation et en tirer un maximum de bénéfices tant sur le plan technique que financier
Proposer une méthode de virtualisation des serveurs, en décrivant tous les éléments et les délivrables de chaque étape
Valider cette l’implémentation d’un prototype de serveur virtualisé
Evaluer les performances et les coûts d’une telle architecture
Nous allons tour à tour aborder les différents concepts théoriques liés à la virtualisation afin de faire une sélection rigoureuse des techniques et pratiques pour l’élaboration de notre méthode, scruter les outils du marché et opérer des choix judicieux pour implémenter notre prototype
Techniques ou technologies permettant l’ajout d’une couche d’abstraction entre le matériel et les implications. Mais dans notre cas il s’agit de faire fonctionner plusieurs Systèmes d’exploitation ou OS sur une unique machine physique.
Ainsi l’OS de base est appelé dom0 ou host OS, hôte
Et les autres OS machines virtuelle ou domU ou guest ou invité
Plusieur
L’isolation est basé sur un isolateur. Ce dernier permet de faire cohabiter plusieurs environnements d’exécution sur une mm machine, en empêchant la communication entre les processus d’environnements différents
On peut ainsi exécuter plusieurs versions d’un mm soft sur une machine sans aucune crainte d’incompatibilité (pas besoin de update)
possibilité de plantage du noyau si un contexte failli, Impossible d’installer un OS différent
Emulateur est un programme utilisateur qui simule le matériel physique sous-jacent et permet d’installer d’autres OS
Hyperviseur: évolution des émulateurs fonctionnant directement au niveau du matériel physique par la création d’une couche d’abstraction
Deux modes de fonctionnement aux systèmes invités
Les systèmes à hyperviseur peuvent donc être utilisés pour la virtualisation des serveurs
Réseau, disques, CPU, RAM, extensions de virtualisation des processeurs
OS invité avec les différentes applis
Logiciel de contrôle déployer sur le dom0
Ajout de drivers spécifiques aux noyaux des guests
Interface que présente l’hyperviseur pour accéder au matériel comme s’ils étaient en mode natif
openVZ et Linux-Vserver sont les projets les plus visibles
Qemu est actuellement l’émulateur open source le plus performant et est réutilisé par plusieurs autres hyperviseurs
Parmi les hyperviseurs , les solutions les plus utilisés en entreprise en actuellement sont VMWare, z/VM d’IBM, Hyper-V de Microsoft
Dans le monde open-source KVM et XEN se démarque du lot et mérite une attention particulière
Xen est un hyperviseur externe au noyau linux, alors que KVM Kernel-Based-virtual Machine est un module qui vient se greffer au noyau de l’OS permettant donc à ce dernier d’utiliser les extensions de virtualisation et donc de jouer le rôle d’hyperviseur
Il peut donc utiliser ses outisl internes de gestions de processus et g érer plus simplement les machines virtuelles comme des process
Xen possède son propre gestionnaire de processus, le projet est instable et bénéficie de quelques retours d’expérience, KVM est en developpement et est intégré à la prochaine version de RHEL
Xen étant développé en parallèle une mise à jour du noyau peut provoquer son disfonctionnement
KVM évolue avec GNU/linux et ne pose donc aucun problème
Ispeed est partenaire Redhat et pour anticiper sur les futures besoins potentiels de ses clients, il est nécessaire d’utiliser KVM pour notre implémentation