Vous êtes sur la page 1sur 50

Virtualisation et cloud

open source
Page 2

WWW.SMILE.FR

PREAMBULE
SMILE
Smile est une socit dingnieurs experts dans la mise en uvre de solutions open source
et lintgration de systmes appuys sur lopen source. Smile est membre de lAPRIL,
lassociation pour la promotion et la dfense du logiciel libre, du PLOSS le rseau des
entreprises du Logiciel Libre en Ile-de-France et du CNLL le conseil national du logiciel libre.
Smile compte prs de 600 collaborateurs dans le monde, dont plus de 500 en France
(dcembre 2012), ce qui en fait le premier intgrateur franais et europen de solutions open
source.
Depuis 2000, environ, Smile mne une action active de veille technologique qui lui permet
de dcouvrir les produits les plus prometteurs de lopen source, de les qualifier et de les
valuer, de manire proposer ses clients les produits les plus aboutis, les plus robustes et
les plus prennes. Cette dmarche a donn lieu toute une gamme de livres blancs couvrant
diffrents domaines dapplication. La gestion de contenus (2004), les portails (2005), la
business intelligence (2006), la virtualisation (2007), la gestion lectronique de documents
(2008), les PGIs/ERPs (2008), les VPN open source (2009), les Firewall et Contrle de flux
(2009), les Middleware orients messages (2009), lecommerce et les Rseaux Sociaux
d'Entreprise (2010) et plus rcemment, le Guide de lopen source et NoSQL (2011). Chacun de
ces ouvrages prsente une slection des meilleures solutions open source dans le domaine
considr, leurs qualits respectives, ainsi que des retours dexprience oprationnels.
Au fur et mesure que des solutions open source solides gagnent de nouveaux domaines,
Smile sera prsent pour proposer ses clients den bnficier sans risque. Smile apparat dans
le paysage informatique franais comme le prestataire intgrateur de choix pour
accompagner les plus grandes entreprises dans ladoption des meilleures solutions open
source.
Ces dernires annes, Smile a galement tendu la gamme des services proposs. Depuis
2005, un dpartement consulting accompagne nos clients, tant dans les phases davantprojet, en recherche de solutions, quen accompagnement de projet. Depuis 2000, Smile
dispose dun studio graphique, devenu en 2007 Smile Digital agence interactive, proposant
outre la cration graphique, une expertise e-marketing, ditoriale, et interfaces riches. Smile
dispose aussi dune agence spcialise dans la TMA (support et lexploitation des
applications) et dun centre de formation complet, Smile Training. Enfin, Smile est implant
Paris, Lille, Lyon, Grenoble, Nantes, Bordeaux, Marseille et Montpellier. Et prsent
galement en Espagne, en Suisse, au Benelux, en Ukraine et au Maroc.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 3

WWW.SMILE.FR

QUELQUES RFRENCES
DE SMILE
SMILE est fier davoir contribu, au fil des annes, aux plus grandes ralisations Web
franaises et europennes. Vous trouverez ci-dessous quelques clients nous ayant adress
leur confiance.
Infrastructure et Hbergement
Agence Nationale pour les Chques Vacances, Pierre Audoin Consultants, Rexel, Motor
Presse, OSEO, Sport24, Eco-Emballage, Institut Mutualiste Montsouris, ETS, Ionis, Osmoz,
SIDEL, Atel Hotels, Cadremploi, SETRAG, Institut Franais du Ptrole, Mutualit Franaise,
Bouygues Telecom, Carrefour, HEC, Jardiland, Orange, TNS Sofres, Manpower, Ministre de
lconomie, Eram, Kantar Worldpanel, Fiducial
Sites Internet
EMI Music, Salon de lAgriculture, Mazars, Areva, Socit Gnrale, Gtes de France, Patrice
Pichet, Groupama, Eco-Emballage, CFnews, CEA, Prisma Pub, Volia, NRJ, JCDecaux,
01 Informatique, Spie, PSA, Boiron, Larousse, Dassault Systmes, Action Contre la Faim, BNP
Paribas, Air Pays de Loire, Forum des Images, IFP, BHV, ZeMedical, Gallimard, Cheval Mag,
Afssaps, Beneteau, Carrefour, AG2R La Mondiale, Groupe Bayard, Association de la
Prvention Routire, Secours Catholique, Canson, Veolia, Bouygues Telecom, CNIL
Portails, Intranets et Systmes dInformation
HEC, Bouygues Telecom, Prisma, Veolia, Arjowiggins, INA, Primagaz, Croix Rouge, Eurosport,
Invivo, Faceo, Chteau de Versailles, Eurosport, Ipsos, VSC Technologies, Sanef, Explorimmo,
Bureau Veritas, Rgion Centre, Dassault Systmes, Fondation dAuteuil, INRA, Gaz Electricit
de Grenoble, Ville de Niort, Ministre de la Culture, PagesJaunes Annonces
E-Commerce
Krys, La Halle, Gibert Joseph, De Dietrich, Adenclassifieds, Macif, Furet du Nord, Gtes de
France, Camif Collectivit, GPdis, Projectif, ETS, Bain & Spa, Yves Rocher, Bouygues
Immobilier, Nestl, Stanhome, AVF Primdical, CCI, Pompiers de France, Commissariat
lEnergie Atomique, Snowleader, Darjeeling
ERP et Dcisionnel
Veolia Transport, Solucom, Casden Banques Populaires, La Poste, Christian Louboutin,
PubAudit, Effia Trasnport, France 24, Inra, Publicis, Nomadvantage, Nouvelles Frontires,
Anevia, Jus de Fruits de Moora, Espace Loggia, Bureau Veritas, Skyrock, Lafarge, Cadremploi,
Groupe Vinci, IEDOM (Banque de France), Carrefour, Corsair, Le Bon Coin, Jardiland,
Trsorerie Gnrale du Maroc, Ville de Genve, ESCP, Sofia, Faiveley Transport, INRA,
Deloitte, Yves Rocher, ETS, DGAC, Generalitat de Catalunya, Gilbert Joseph, Perouse Mdical

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 4

Gestion documentaire

WWW.SMILE.FR

Primagaz, UCFF, Apave, Goservices, Renault F1 Team, INRIA, CIDJ, SNCD, Ecureuil Gestion, CS
informatique, Serimax, Veolia Propret, NetasQ, Corep, Packetis, Alstom Power Services,
Mazars

Consultez nos rfrences, en ligne, ladresse : http://www.smile.fr/clients.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 5

WWW.SMILE.FR

CE LIVRE BLANC
Si les solutions de virtualisation ont trs rapidement conquis le monde de ladministration
systme et des infrastructures dhbergement, comme de dveloppement, cest quelles
apportent des bnfices considrables, tant dans loptimisation des cots que dans la
flexibilit de lexploitation.
Et ce n'est pas seulement vrai pour le monde des serveurs puisque la virtualisation s'attaque
de plus en plus la problmatique du poste de travail o un march immense s'offre elle.
De plus, la virtualisation est la base du phnomne Cloud prsent dans ce livre blanc
notamment depuis l'apparition de solutions d'Iaas open source telles qu'OpenStack
(galement dcrit comme le framework open source plateforme du cloud ) permettant
l'industrialisation de la virtualisation.
Pratiquant les diffrentes solutions de virtualisation depuis leurs dbuts, les administrateurs
systme de Smile les ont mises en uvre dans une varit de contextes, et en matrisent
toutes les possibilits, de mme quils en connaissent les difficults.
Ce livre blanc sefforce de runir :
Une prsentation gnrale des concepts de la virtualisation de serveurs, et de ses
champs dapplication (dont le Cloud Computing).
Un recensement des solutions du march, qui sont majoritairement open source,
avec un focus particulier sur les plus matures.
Un retour dexprience sur le dploiement de ces outils dans diffrents contextes.
Une prsentation d'une problmatique connexe la virtualisation : le stockage, et
les solutions mettre en uvre en environnement virtualis telles que les
interfaces d'administration.
Enfin en conclusion, nous prsentons un tableau comparatif dressant la synthse des
fonctionnalits prsentes dans les diffrents outils, et une note prsentant l'avenir trs
prometteur de la virtualisation open source.

Nhsitez pas nous transmettre vos avis et valuations sur ce livre blanc.
Une seule adresse : contact@smile.fr

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 6

SOMMAIRE

WWW.SMILE.FR

PREAMBULE..............................................................................................2
SMILE ................................................................................................................................................................2
QUELQUES RFRENCES ..........................................................................................................................................3
DE SMILE ............................................................................................................................................................3

CE LIVRE BLANC.....................................................................................................................................................5

LES PRINCIPES DE LA VIRTUALISATION......................................................8


PARTAGE DUN SERVEUR.........................................................................................................................................8
OBJECTIFS ET BNFICES .......................................................................................................................................10
HISTORIQUE.......................................................................................................................................................11
UN PEU DE VOCABULAIRE......................................................................................................................................12
HYPERVISEUR.................................................................................................................................................12
ESPACE NOYAU, ESPACE UTILISATEUR....................................................................................................................14
OS HTE, OS INVIT.......................................................................................................................................14
MULATION...................................................................................................................................................14
PERFORMANCES ET RENDEMENT..............................................................................................................................15
SCURIT...........................................................................................................................................................15
ADMINISTRATION................................................................................................................................................16
CONTRLE DES RESSOURCES...................................................................................................................................16
LICENCES ET SUPPORT...........................................................................................................................................17

TAT DE L'ART.........................................................................................18
ISOLATION.........................................................................................................................................................18
PRSENTATION ...............................................................................................................................................18
LES SOLUTIONS...............................................................................................................................................20
VIRTUALISATION COMPLTE....................................................................................................................................20
PRSENTATION ...............................................................................................................................................20
QEMU ....................................................................................................................................................22
XEN.............................................................................................................................................................22

LES PRINCIPALES SOLUTIONS..................................................................24


OPENVZ...........................................................................................................................................................24
PRSENTATION ...............................................................................................................................................24
HISTORIQUE ..................................................................................................................................................24
PRINCIPE ......................................................................................................................................................25
LIMITATIONS ..................................................................................................................................................25
CAPACITS.....................................................................................................................................................25
XEN.................................................................................................................................................................26
FONCTIONNEMENT DE XEN................................................................................................................................26

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 7
PARAVIRTUALISATION SOUS XEN .........................................................................................................................27
MACHINE VIRTUELLE SOUS XEN...........................................................................................................................27
AVANTAGES DE XEN ........................................................................................................................................28
LIMITATIONS DE XEN .......................................................................................................................................28

WWW.SMILE.FR

DOMAINES DAPPLICATION....................................................................29
HBERGEMENT VDS............................................................................................................................................29
PLATEFORME DE VALIDATION ET DE DVELOPPEMENT....................................................................................................30
HAUTE DISPONIBILIT ...........................................................................................................................................31
RPARTITION DE CHARGE...................................................................................................................................31
REPRISE AUTOMATIQUE ....................................................................................................................................33
VIRTUAL APPLIANCE.............................................................................................................................................34
LE CONCEPT DAPPLIANCE..................................................................................................................................34
DE TRS NOMBREUSES POSSIBILITS .....................................................................................................................35
ARCHITECTURE LAMP ....................................................................................................................................35
FIREWALL, VPN ............................................................................................................................................35
CLOUD COMPUTING.............................................................................................................................................35

LE STOCKAGE..........................................................................................37
DIFFRENTS BESOINS............................................................................................................................................37
STOCKAGE EN RSEAU...........................................................................................................................................37
NAS ET NFS.................................................................................................................................................38
SAN.........................................................................................................................................................39
ISCSI...........................................................................................................................................................39
FIBRE CHANNEL..............................................................................................................................................40
CRITRES DE CHOIX..............................................................................................................................................40

INTERFACES D'ADMINISTRATION............................................................41
PROXMOXVE.....................................................................................................................................................41
LES DEUX MONDES SUR UNE PLATEFORME SIMPLE D'ACCS.........................................................................................41
RETOURS D'EXPRIENCE....................................................................................................................................42
LIMITATIONS DE PROXMOX VE...........................................................................................................................42
OPENSTACK.......................................................................................................................................................43
PRSENTATION................................................................................................................................................43
ARCHITECTURE DU PRODUIT...............................................................................................................................44
LA PRENNIT DOPENSTACK..............................................................................................................................47

CONCLUSION..........................................................................................49
SYNTHSE..........................................................................................................................................................49
QUELLE SOLUTION CHOISIR ?...............................................................................................................................49
L'AVENIR...........................................................................................................................................................50

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 8

WWW.SMILE.FR

LES PRINCIPES DE LA VIRTUALISATION


PARTAGE DUN SERVEUR
Un serveur est un ordinateur utilis distance depuis diffrents postes de travail, ou autres
serveurs. Il possde des ressources matrielles, principalement CPU, mmoire, disques et
interfaces rseau. Ces ressources sont utilises par des applications, non pas de manire
directe, mais en sappuyant sur un systme dexploitation.
La virtualisation de serveurs est un ensemble de techniques et doutils permettant de faire
tourner plusieurs systmes dexploitation sur un mme serveur physique.
Le principe de la virtualisation est donc un principe de partage : les diffrents systmes
dexploitation se partagent les ressources du serveur.
Pour tre utile de manire oprationnelle, la virtualisation doit respecter deux principes
fondamentaux :
Le cloisonnement : chaque systme dexploitation a un fonctionnement indpendant, et ne
peut interfrer avec les autres en aucune manire.
La transparence : le fait de fonctionner en mode virtualis ne change rien au fonctionnement
du systme dexploitation et a fortiori des applications.
La transparence implique la compatibilit: toutes les applications peuvent tourner sur un
systme virtualis, et leur fonctionnement nest en rien modifi.
Pour ce qui est du cloisonnement, il existe bien sr une interfrence passive lie la
concurrence dans le partage des ressources. Mais nous verrons que ce partage peut tre
parfaitement contrl.

Architecture traditionnelle

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 9

Architecture virtualise
Il existe depuis longtemps dautres moyens de partager des ressources physiques. En fait, les
applications tournant sur un mme serveur, en labsence de virtualisation, se partagent dj
les ressources du serveur. Cest lune des missions du systme dexploitation que de
permettre et dadministrer ce partage : plusieurs applications se partagent les disques, le
processeur, la mmoire, les accs rseau, et le systme dexploitation est le chef dorchestre,
grant les rgles de ce partage.
Alors, pourquoi ce partage ne suffit-il pas ? Pourquoi a-t-on besoin de virtualisation ?
A cela, deux rponses.
La premire relve de la rigueur du cloisonnement, au sein dun mme systme, entre les
diffrents contextes de travail. Le fonctionnement natif de la plupart des systmes ne permet
pas un cloisonnement suffisamment tanche. Nous verrons quune des voies de la
virtualisation consiste renforcer le cloisonnement.
La seconde relve du systme dexploitation lui-mme, et des configurations systme.
Il arrive couramment que les applications requirent un systme dexploitation particulier, ou
bien une configuration particulire du systme, ou encore des composants logiciels majeurs
qui ne peuvent pas cohabiter sur un mme systme dexploitation.
Dans tous ces cas de figure, le partage de ressources offert par le systme lui mme ne
convient plus : on veut partager les ressources en dessous du systme dexploitation, de
manire faire cohabiter plusieurs systmes dexploitation sur le mme serveur physique.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 10

OBJECTIFS ET BNFICES

WWW.SMILE.FR

Le premier objectif de la virtualisation est conomique.


Partager les ressources physiques dont on dispose entre diffrents serveurs virtuels, permet
de ne pas acheter plusieurs serveurs physiques, lorsquun seul a une capacit suffisante en
termes de ressources.
Le constat sous-jacent est que les serveurs sont souvent sous-utiliss. On estime que dans un
datacenter priv ordinaire, le taux d'utilisation moyen est de l'ordre de 10%, et qu'une
utilisation gnralise de la virtualisation permet d'atteindre 35%. C'est encore loin de 100,
mais c'est quand mme trois fois moins de serveurs.
Parce que les serveurs commercialiss correspondent un quantum minimal de puissance
; vous pouvez certes ajuster la configuration mmoire, mais si votre besoin est seulement un
dixime de processeur, il vous faut un processeur entier, et donc un serveur entier, qui sera
alors sous-utilis.
Par ailleurs, les besoins dune application donne peuvent varier dans le temps de manire
extraordinaire. Soit court terme, avec les heures de pointes dans une mme journe. Soit
sur le long terme, avec par exemple un environnement de dveloppement mis en sommeil
pour plusieurs mois, puis nouveau utilis pour une opration de maintenance.
Bien sr, on peut aussi partager un serveur dans le temps, en sauvegardant toute la
configuration logicielle, y compris le systme dexploitation, et en installant un autre systme
pour une autre utilisation. Cest en fait ce que lon faisait avant la virtualisation pour remettre
en place lenvironnement de dveloppement dun projet ancien afin dy faire une opration
de maintenance. La rinstallation dun systme complet est une opration lourde, qui peut
prendre plusieurs heures, et prsente un risque de petites variations de configuration.
Aujourdhui, on prfre conserver un environnement virtualis prt lemploi, qui ne
consommera pratiquement aucune ressource, si ce nest une part de lespace disque.
viter de multiplier les serveurs physiques apporte des bnfices en termes de cot
dacquisition, bien entendu, mais aussi en termes de cot de possession, tant au niveau de
lhbergement (rack, lectricit, refroidissement, cblage, interfaces rseau), que de
lexploitation.
Mais la virtualisation apporte aussi des bnfices qui ne sont pas directement lis au partage
des ressources.
Ainsi, la virtualisation permet de dplacer un serveur virtuel dun hte un autre de manire
trs aise, y compris sur des environnements matriels trs htrognes, puisque les couches
matrielles dans les serveurs virtuels sont le plus souvent gnriques.
Cette capacit agencer aisment et rapidement la rpartition des serveurs virtuels sur un
parc de serveurs physiques est videmment une rvolution dans ladministration dun parc de
serveurs. D'une certaine manire, le serveur devient une ressource ordinaire, une

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 11

WWW.SMILE.FR

commodit , et au lieu de rpartir des applications sur des serveurs, on fournit du serveur
aux applications.
Avec certaines solutions de virtualisation, le dplacement seffectue de manire totalement
transparente pour le systme invit. Le dlai de ce dplacement ncessite le transfert de
lespace disque et de la mmoire, et nous verrons que certaines technologies de virtualisation
et certaines configuration de stockage permettent des transferts chaud sans arrt des
applications.

HISTORIQUE
Le besoin de partager les ressources physiques pour une utilisation optimale est bien sr
dautant plus fort que ces ressources sont coteuses, et ctait donc un domaine de
recherche important ds les dbuts de linformatique transactionnelle.
La capacit grer plusieurs utilisateurs simultanment, en sparant leurs contextes de
travail, est apparue ds les annes 70, et sest gnralise dans les annes 80 avec les grands
moniteurs transactionnels, tels que CICS.
Chaque utilisateur dialogue avec le serveur de manire indpendante, comme sil tait seul,
et utilise donc une petite part des ressources du serveur, selon son besoin. Nanmoins, cette
sparation de contextes utilisateurs, que lon retrouve bien sr aujourdhui avec les serveurs
HTTP et les outils serveurs dapplication du web, nest pas appele virtualisation. En effet, si
le contexte applicatif est propre chaque utilisateur, le contexte logiciel est au contraire
parfaitement homogne.
IBM figure parmi les pionniers de ces technologies avec lhyperviseur CM/CMS utilis ds les
annes 60, qui fut le pre de VM/CMS dans les annes 70, devenu aujourdhui z/VM, qui
permet de faire tourner y compris AIX ou Linux au sein dune machine virtuelle sur
mainframe.
Dans la seconde moiti des annes 1990, le monde de la micro-informatique dcouvre les
mulateurs. La puissance des machines x86 leur permet d'muler les gnrations
prcdentes de machines. Il devient alors possible d'muler des machines Atari, Amiga,
Amstrad ainsi que de nombreuses consoles.
A la fin des annes 1990 la socit VMware dveloppe et popularise le produit du mme
nom, systme propritaire de virtualisation logicielle des architectures de type Intel x86,
ouvrant la possibilit de mettre en place n'importe quel environnement x86 des fins de
tests ou de dveloppement sans avoir besoin d'acheter une nouvelle machine.
Contrairement aux mulateurs cits prcdemment, il est enfin possible de faire tourner les
applications professionnelles destines aux processeurs x86 dans une machine virtuelle.
Il faut citer aussi aux rangs des prcurseurs, Qemu, cr par Fabrice Bellard, qui a ouvert la
voie et sur lequel se sont appuyes la plupart des solutions open source.
Viennent ensuite les logiciels libres comme Xen, KVM, et OpenVZ, que nous dcrirons plus en
dtail dans ce document.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 12

WWW.SMILE.FR

Et pour finir les logiciels orients poste de travail comme VMware Player ou VirtualBox ont
achev la popularisation de la virtualisation dans le monde x86.
Pour rpondre aux nouveaux dfis de la virtualisation, notamment en terme de
performances, les fabricants de processeurs x86, AMD et Intel, ont implment dans leurs
gammes de processeurs des instructions spcifiques amliorant les possibilits de
virtualisation. Ces processeurs ont commenc tre diffuss partir de 2006.
Ils
permettent une virtualisation avec un rendement proche de 100%. La course la
performance n'est cependant pas termine, et de nouvelles technologies comme la
virtualisation des IO sont encore en cours de gnralisation.
Mais dans l'ensemble, la technologie la base de la virtualisation est mature, et l'essentiel
des efforts se concentre dsormais sur les outils permettant de tirer profit de la
virtualisation : que ce soit les outils de stockage, de sauvegarde, ou d'administration. Les
offres estampilles Cloud Computing sont un bon exemple des possibilits offertes par
une virtualisation dont le cycle de vie est entirement automatis.

UN PEU DE VOCABULAIRE
Hyperviseur
Lhyperviseur est la couche logicielle qui sinsre entre le matriel et les diffrents systmes
dexploitation.
Cest bien un composant cl, que l'on retrouve dans la plupart des
technologies de virtualisation de bas niveau.
Ainsi, par rapport au schma de base dun serveur distinguant le matriel, le systme
dexploitation, et ses applications :

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 13

WWW.SMILE.FR

Lhyperviseur vient sinsrer entre le matriel et plusieurs systmes dexploitation, de la


manire suivante :

Lhyperviseur peut soit grer lui-mme toutes les ressources matrielles du serveur, soit
sappuyer pour cela sur un systme dexploitation existant. Dans ce dernier cas, on parle
dhyperviseur de type 2, comme figur ci-aprs.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 14

Espace noyau, espace utilisateur

WWW.SMILE.FR

Rappelons que lon distingue, dans un serveur deux espaces :

Lespace noyau (kernelspace), qui inclut le noyau du systme dexploitation et ses


drivers.

Lespace utilisateur (userspace), qui inclut tout le reste, incluant tous les composants
systmes de la distribution ainsi que les applicatifs spcifiques.

OS hte, OS invit
Dans le cas d'un hyperviseur de type 2, on appelle OS hte ou Host OS, lOS sous-jacent,
sur lequel sappuie lhyperviseur.
On appelle OS invit ou Guest OS, les OS des machines virtuelles.

mulation
Lmulation consiste simuler lexcution dun programme en interprtant chacune des
instructions destines au micro-processeur. Il est possible dmuler ainsi nimporte quel
processeur et lenvironnement complet dun serveur.
On a vu apparatre ainsi, dans les annes 90, des mulateurs reproduisant fidlement les
premiers micro-ordinateurs tels que Amiga, ou Atari.
Lmulation est la technique qui offre le plus haut niveau dabstraction de la plateforme. Il
faut rappeler en effet que toutes les autres techniques de virtualisation cites ont une
exigence en commun : tous les excutables doivent tre compils pour le processeur
physiquement disponible sur le serveur.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 15

WWW.SMILE.FR

Lmulation lve cette contrainte car les instructions ne sont jamais excutes par le
processeur, elles sont interprtes en simulant le processeur.
Cette interprtation est coteuse en performances, de sorte que lmulation est rarement
utilise en dehors dapplications ludiques ou de recherche. Dans le cas de lmulation des
vieux matriels, le diffrentiel de puissance des processeurs sur 10 ans comblait largement la
perte rsultant de lmulation.
Le projet QEMU est la principale solution open source de virtualisation par mulation.

PERFORMANCES ET
RENDEMENT

A lvidence, puisquil y a partage des ressources physiques, chaque environnement virtuel


dispose de ressources plus limites que sil avait un serveur physique ddi.
Mais la question essentielle est : la somme des ressources alloues aux diffrents
environnements virtuels est-elle gale aux ressources physiques disponibles ? Autrement dit :
Quel est le surcot ( overhead ) de la virtualisation ? On pense en particulier au surcot en
termes de CPU, car les autres ressources sont en gnral moins prcieuses.
Les bonnes solutions de virtualisation, appuyes sur des processeurs disposant dinstructions
spcialises, permettent un surcot en performances qui est aujourdhui ngligeable, cest
dire que le rendement est pratiquement gal 1.
En dautres mots : la mise en uvre denvironnements virtualiss nimplique presque
pas de perte de performances.
Il faut souligner aussi que dans certaines applications de la virtualisation, de nombreux
environnement peuvent tre dormants, en attendant un usage futur. Dans ce cas leur
consommation de ressource CPU est peu prs nulle, et leur consommation de RAM est trs
faible.

SCURIT
Dans la pratique, la virtualisation napporte aucune dgradation en termes de scurit.
Certes, la scurit du serveur physique sous-jacent est critique, car un accs console sur ce
serveur, ou sur lhyperviseur de la solution de virtualisation pourrait compromettre
lensemble des serveurs virtuels hbergs. Il est donc videmment primordial d'y assurer un
haut niveau de scurit, et donc de bien distinguer en termes dhabilitations, ladministration
du serveur physique et de la virtualisation dune part, et ladministration des environnements
virtualiss dautre part.
A linverse, le contrle administrateur (root) sur lun des environnements ne donne aucun
droit, ni aucune possibilit, mme pour un intervenant malveillant, ni sur lenvironnement
physique et lhyperviseur, ni sur les autres environnements.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 16

Enfin, la bonne pratique, scrupuleusement applique par les bons administrateurs, est de
sparer le rseau d'administration des serveurs physiques, et le rseau des VM par lequel
arrive le trafic utilisateur.

WWW.SMILE.FR

ADMINISTRATION
Si la virtualisation est transparente pour les utilisateurs, pour les applications, et mme pour
les systmes dexploitation invits, elle ne lest pas bien sr pour ladministrateur qui en a la
charge.
La mise en uvre et lexploitation des solutions de virtualisation requirent une vraie
expertise. Pour un administrateur systme de bon niveau, matriser une solution de
virtualisation demandera plusieurs jours de formation, et quelques semaines de pratique.

CONTRLE DES RESSOURCES


Une des grandes problmatiques dans un environnement virtualis est le contrle dans
lattribution et dans le partage des ressources du serveur physique.
On peut souhaiter rpartir les ressources disponibles soit de faon quitable, soit en
privilgiant certains environnements par rapport aux autres.
Les rgles dpendent bien sr du domaine dapplication. Si 10 sites Internet se partagent un
serveur physique et que lun connat un pic de trafic, on peut souhaiter lui laisser prendre
90% de la CPU tant que les autres nen ont pas usage. A linverse, si un hbergeur a vendu
1/10me de serveur lun de ses clients, il doit tre en mesure de garantir que le client aura
toujours son quota, quelle que soit la demande des autres clients.
Dans tout les cas les diffrents produits de virtualisation implmentent des mcanismes
permettant d'assurer cette rpartition, et d'viter qu'un serveur ne pnalise les autres en
consommant toutes les ressources de la machine physique sur laquelle ils s'excutent.
Les quatre ressources principales que l'on souhaite contrler sont :

Le CPU : un ordonnanceur spcifique est gnralement en charge de rpartir la charge


du ou des processeurs entre les diffrents serveurs virtuels. La plupart des technologies
permettent d'attribuer des poids, privilgiant ainsi un serveur par rapport l'autre ce
qui permet d'assurer un minimum de puissance disponible, tout en tirant profit des
ressources maximales de la machine physique.

La mmoire : la mmoire est la ressource la mieux matrise par l'ensemble des


technologies de virtualisation. La mmoire que l'on souhaite attribuer un serveur
virtuel est souvent rserve la cration.

Le stockage : les diffrents produits de virtualisation peuvent s'appuyer sur diffrents


types de stockage, adapts diffrentes chelles, tels qu'un simple rpertoire, une
image binaire d'un disque dur, ou un volume logique dans un SAN. L'espace disque
disponible est connu l'avance et peut tre limit. De plus, une priorisation des accs
est gnralement possible pour favoriser certains environnements (par exemple les
bases de donnes).

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 17

WWW.SMILE.FR

Le rseau : c'est la ressource la moins bien gre par les technologies actuelles de
virtualisation. Dans les produits prsents ici, aucune limitation de bande passante
rseau n'est possible. En revanche, contrairement aux autres ressources, il est possible
de contrler le rseau en amont, au moyen d'un routeur implmentant des
technologies de Qualit de Service.

LICENCES ET SUPPORT
La virtualisation permet d'excuter des OS supplmentaires, et aussi d'en faire des multiples
copies, backups, etc. Cela pose le problme des licences, qui ne sont le plus souvent pas
prvues pour une utilisation en machines virtuelles. Il faut donc faire attention ce problme.
Microsoft Windows, par exemple, permet de licencier un certain nombre d'installations, et
autorise d'avoir autant de machines virtuelles que l'on souhaite, du moment qu'on n'en
excute jamais plus simultanment que le nombre autoris par la licence.
De mme, il est frquent que les diteurs de logiciels ne supportent pas telle ou telle
configuration matrielle, ou technologie de virtualisation. A l'inverse, certains logiciels sont
certifis compatibles avec Xen ou VMWare ESX. Dans les faits, plus la technologie de
virtualisation est intrusive pour le systme invit, moins il est probable qu'elle soit supporte
par les diteurs.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 18

TAT DE L'ART

WWW.SMILE.FR

Il existe diffrentes techniques de virtualisation, citons par niveau d'abstraction croissant :

Lisolation

La paravirtualisation

La virtualisation complte, ou machine virtuelle

Le partitionnement matriel

Lisolation consiste mettre en place, sur un mme noyau de systme dexploitation, une
sparation forte entre diffrents contextes logiciels. Il s'agit de la technique de virtualisation
la plus lgre qui existe.
La paravirtualisation prsente aux systmes dexploitation une machine gnrique spciale,
qui requiert donc des interfaces spciales, intgres aux systmes invits sous la forme de
drivers ou de modifications du noyau. Il s'agit d'un compromis entre un niveau d'abstraction
lev et un niveau de performance satisfaisant.
Dans la virtualisation complte, lhyperviseur intercepte de manire transparente tous les
appels que le systme dexploitation peut faire aux ressources matrielles, et supporte donc
des systmes invits non-modifis.
Le partitionnement matriel, enfin, est la technique historique utilise sur les gros systmes.
Elle consiste sparer les ressources matrielles au niveau de la carte mre de la machine.
Cette technique est surtout rpandue dans les serveurs hauts de gamme, par exemple les
Logical Domains de chez Sun. Elle est assez rare dans le monde x86. Les blades en sont un
exemple, mais ils n'offrent pas des fonctionnalits aussi avances que ce que l'on retrouve sur
d'autres architectures matrielles comme SPARC.
Nous prsenterons dans la suite les deux techniques majeures du monde x86 : l'isolation et la
virtualisation complte.
L'dition prcdente de ce livre blanc traitait de paravirtualisation, cette sparation n'est plus
d'actualit car paravirtualisation et virtualisation complte sont dsormais utilises
conjointement au sein d'un mme produit.

ISOLATION
Prsentation
L'isolation (aussi appele cloisonnement) est une technique qui intervient au sein dun mme
systme d'exploitation. Elle permet de sparer un systme en plusieurs contextes ou
environnements. Chacun d'entre eux est rgi par l'OS hte, mais les programmes de chaque

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 19

contexte ne peuvent communiquer qu'avec les processus et les ressources associes leur
propre contexte.

WWW.SMILE.FR

Il est ainsi possible de partitionner un serveur en plusieurs dizaines de contextes, presque


sans ralentissement.
L'isolation est utilise sous Unix depuis longtemps pour protger les systmes. Via des
mcanismes comme chroot ou jail il est possible d'excuter des applications dans un
environnement qui n'est pas celui du systme hte, mais un mini systme ne contenant
que ce dont l'application a besoin, et nayant que des accs limits aux ressources. Il est
possible galement de lancer des programmes dans une autre distribution que celle du
systme principal.
Avec lisolation, lespace noyau nest pas diffrenci, il est unique, partag entre les diffrents
contextes. Mais on dfinit de multiples espaces utilisateurs cloisonns. Cest ainsi que lon
peut faire cohabiter diffrentes distributions de systme dexploitation, condition quelles
partagent le mme noyau.
Lisolation des contextes est une solution lgre, tout particulirement dans les
environnements Linux.
Lunicit du noyau reste bien sr une petite limitation. Dune part en termes de robustesse,
puisquun plantage du noyau fort heureusement trs rare dans le monde Linux plante
simultanment tous les environnements. Dautre part dans les utilisations possibles, puisque
typiquement ce mode ne conviendra pas pour valider une nouvelle version de noyau.
Mais pour les besoins les plus courants de la virtualisation, la simplicit de mise en uvre et
le faible overhead sont dexcellents arguments.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 20

Les solutions
Les deux principales solutions pour lisolation Linux sont OpenVZ et LXC. Linux-Vserver, une
solution qui a eu son heure de gloire, est parfois rencontre, mais son adoption diminue
rapidement.
OpenVZ est aujourd'hui la solution la plus mature et disposant du plus grand nombre de
fonctionnalits. C'est pourquoi c'est la solution que nous avons choisi de prsenter en dtails.
LXC est pour sa part une solution relativement jeune et encore instable, mais trs
prometteuse, car plus profondment intgre au noyau Linux.

VIRTUALISATION COMPLTE
Prsentation
La virtualisation complte, comme son nom l'indique, consiste simuler un ordinateur
complet, de faon excuter le systme d'exploitation de faon naturelle, sans que celui-ci ne
se rende compte qu'il est virtualis.
On parle aussi de 'machines virtuelles', en dsignant ces systmes simuls.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 21

Cela permet donc de faire fonctionner plusieurs systmes d'exploitation non modifis sur un
serveur physique. Le matriel du serveur physique est rendu abstrait et remplac, du point de
vue des serveurs virtuels, par un matriel gnrique . Ce matriel est soit mul pour
ressembler un matriel rel (gnralement rpandu, comme les contrleurs disque Intel
PIIX ou les cartes rseau Broadcom), soit paravirtualis, c'est dire qu'il ncessite un pilote
particulier dans le systme invit pour fonctionner.
Sur une machine virtuelle, il est possible d'installer n'importe quel OS non modifi, et donc
aussi bien propritaire (Windows) que open source, du moment qu'il dispose des pilotes pour
le matriel que lui prsente l'hyperviseur.
Les premires solutions de virtualisation complte taient entirement bases sur des
mulateurs, donc des logiciels qui rinterprtaient chaque opration demande par le
systme virtuel, pour les adapter au matriel physique, au prix d'une perte considrable de
performances.
Les produits modernes tirent partie des nouveaux jeux d'instructions spcialiss des dernires
gnrations de processeurs pour assurer des performances de calcul quasi identiques aux
performances natives.
Avec l'essor de ce procd, des techniques issues de la paravirtualisation se sont greffes aux
hyperviseurs : en effet la prsence de priphriques muls ralentissait les entres-sorties de
la machine virtuelle, en particulier les accs disques et le trafic rseau. Un pilote de
priphrique spcial, capable de dialoguer nativement avec l'hyperviseur sans passer par une
interface simule, permet d'obtenir des performances quasi natives pour les entres-sorties.
La paravirtualisation des entres-sorties n'est pas systmatiquement supporte,
contrairement l'mulation de priphrique, car elle exige une coopration de la part du
systme invit. Elle est donc rserve aux systmes les plus rpandus comme Windows et
Linux.
Dans les produits commerciaux, elle prend la forme d'un agent s'installant dans la machine
virtuelle, et se nomme, selon le produit, VMWare Tools , XenServer Tools , VirtualBox
Guest Additions , etc.
En plus de l'acclration des entres-sorties, ces agents permettent une meilleure interaction
entre l'hyperviseur et le systme, et permet notamment de commander l'extinction d'une
machine virtuelle depuis l'hyperviseur.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 22

QEMU
QEMU a t un des premiers projets libres proposer des performances quasi natives. A
l'origine QEMU est un mulateur, et, bien qu'il ait intgr un systme de compilation en
temps rel vers le processeur cible, il souffrait d'une grosse baisse de performance des
machines virtuelles. QEMU tant un prcurseur, tous les autres produits de virtualisation
open source ont emprunt sa couche d'mulation des priphriques.
Aprs une priode de relative obsolescence, QEMU revient aujourd'hui sur le devant de la
scne, suite la fusion du projet avec KVM.
KVM est un module de virtualisation complte fourni par le noyau Linux, qui assure des
performances de calcul excellentes, et la possibilit de migrer une VM chaud entre
machines sans ncessiter d'agent, contrairement toutes les autres solutions. Quant virtio il
s'agit d'une couche de paravirtualisation des entres-sorties, disponible uniquement dans les
VM Linux. La combinaison de KVM et virtio permet QEMU d'excuter des machines
virtuelles Linux extrmement performantes et agiles. KVM est la base de solutions telles que
RedHat Enterprise Virtualisation o encore OpenStack Compute qui est prsent dans la suite
de ce livre blanc.

Xen
Xen est initialement un logiciel de paravirtualisation, qui ncessitait l'utilisation d'un noyau
spcial dans les machines virtuelles. Avec le temps, Xen s'est dot d'un mode de
fonctionnement similaire aux machines virtuelles, afin de pouvoir virtualiser des systmes tels
que Windows, dont le noyau propritaire interdit la paravirtualisation.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 23

Initialement rserv Linux, BSD et Solaris, la virtualisation Xen se tourne de plus en plus vers
Windows depuis le rachat de l'diteur de Xen par Citrix. Simultanment, Xen est de moins en
moins utilis par les diteurs de distribution Linux au profit de QEMU. Cependant Xen est
toujours aujourd'hui la rfrence pour la virtualisation haute performance sous Linux,
puisque plus ancien et bien ancr dans les versions actuelles des principales distribution Linux
orientes entreprise : RHEL et SLES. Xen a t rcemment intgr au noyau Linux ce qui
garantit sa prennit.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 24

WWW.SMILE.FR

LES PRINCIPALES SOLUTIONS


OPENVZ
Une des solutions les plus avances et matures dans le domaine de l'isolation est OpenVZ.
Ce produit se prsente sous la forme d'un patch pour le noyau Linux, et d'un ensemble
d'outils d'administration. Le patch du noyau permet un systme GNU/Linux de grer des
contextes virtualiss. Les outils dadministration permettent de crer, d'instancier, et de
contrler les environnements virtuels.
Rappelons que la technologie d'isolation ne permet d'excuter que des serveurs virtuels Linux
sur un hte OpenVZ, mme si ces serveurs peuvent tre de distributions diffrentes.
Certaines distributions Linux proposent des versions packages d'OpenVZ. En particulier, la
distribution Debian GNU/Linux, dans les versions Lenny et Squeeze, permet ds l'installation
du serveur physique de mettre en place cette solution en quelques secondes via son systme
de packages. Il faut cependant noter que OpenVZ sera remplac par LXC dans la future
version Squeeze, paratre en 2013.

Prsentation
Le projet OpenVZ fournit aux systmes GNU/Linux une mthode de virtualisation. Cette
virtualisation se situe au niveau du noyau de l'OS. Cela rend possible l'excution de multiples
instances d'OS GNU/Linux sur la mme machine. Ces instances fonctionnant de faon
compltement scurises et partageant intelligemment les ressources du serveur hte.

Historique
OpenVZ a t initialement dvelopp par la socit SWSoft, dans le but de fournir des
hbergeurs un moyen de disposer d'un grand nombre d'environnements spars sur un petit
nombre de serveurs physiques. Aprs quelques annes d'existance, l'diteur cra le projet
OpenVZ en 2005 pour continuer dvelopper ce produit, nomm Virtuozzo en suivant les
principes de l'open source.
Aujourd'hui, OpenVZ est le moteur du produit commercial Paralells Virtuozzo Containers
utilis par de nombreuses entreprises dans le monde, et constitue en lui-mme un produit
utilisable et bien intgr aux distributions Linux.
OpenVZ travaille intgrer le plus possible de ses fonctions dans le noyau Linux afin de
faciliter la maintenance et assurer la prennit du projet.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 25

WWW.SMILE.FR

Principe
OpenVZ est un isolateur de contexte. Il est capable d'isoler le contexte d'excution de
plusieurs OS sur la mme machine. Nativement un noyau Linux ne permet aux processus que
de tourner dans un seul contexte commun. Le patch noyau de ce projet open source permet
d'ajouter au noyau un ensemble d'outils pour isoler ces contextes. On peut alors faire tourner
plusieurs instances de l'OS sur la mme machine. Toutefois elles partagent quand mme le
noyau, ce qui veut dire que si celui-ci se retrouve en dfaut, alors tous les contextes le sont.
OpenVZ est aussi capable d'isoler les contextes rseau, cest dire que les contextes ne
voient pas le trafic des autres contextes de la machine hte, tout comme la machine hte en
elle-mme. Cette parfaite tanchit en terme de scurit et de confidentialit des donnes
traversant les machines virtuelles et la machine hte, est particulirement apprciable,
surtout dans le cas d'un hbergement.
En fait, le projet OpenVZ dcoule des outils dj existants sous Linux comme la barrire
chroot et les limitations de ressources, mais le tout intgr un niveau plus bas de l'OS, plus
dvelopp et accompagn dun ensemble d'outils d'administration.

Limitations
Du fait que les serveurs virtuels utilisent le noyau de l'OS hte, OpenVZ est incapable de faire
tourner d'autres OS que GNU/Linux; en revanche cela lui confre un rendement proche des
performances natives. En effet la couche conteneurs est trs fine et permet de
positionner les OS virtualiss au plus proche du noyau (on considre que la charge provoqu
par l'isolation est infrieure 1% des capacits de la machine. Les performances obtenues
sont donc suprieures 99% des performances natives).
Certaines fonctions ncessitant un accs direct au noyau par une des machines virtuelles,
comme le contrle de l'horloge ou des paramtres du noyau sont dsactives par dfaut,
pour des raisons de scurit.
Il est possible de configurer la machine virtuelle de faon lui ajouter des capacits , cest
dire de donner des droits vis vis du noyau de la machine hte. Cela n'est toutefois pas
recommand du fait des risques de scurit que cela peut engendrer. Si le besoin existe, il est
prfrable de se tourner vers des solutions comme Xen qui donnent un noyau "invit" aux OS
virtualiss.

Capacits
Contrairement Linux-Vservers, son principal concurrent, prsent dans l'dition prcdente
de ce livre blanc, OpenVZ permet la virtualisation de la couche rseau (filtrage, routage, etc.),
ainsi que la migration chaud entre deux htes identiques.
Il est aussi possible de limiter finement l'utilisation des ressources de l'hte pour chaque
serveur virtuel, en particulier la mmoire rsidente (RSS) ou la mmoire virtuelle (VSZ). On
peut aussi mettre en place des quotas d'utilisation de l'espace disque. Il est enfin possible de
mettre en place des priorits d'accs au CPU et aux disques.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 26

WWW.SMILE.FR

XEN
Xen est une solution de virtualisation open source dveloppe initialement par le
dpartement informatique de l'Universit de Cambridge. Son dveloppement est aujourd'hui
activement sponsoris par Citrix, qui a rachet l'diteur initial XenSource.
Citrix distribue une version commerciale de Xen, nomme Citrix XenServer, particulirement
adapte la virtualisation des OS Microsoft Windows et Linux RHEL et SLES. Elle est dote
d'une interface d'administration avance, et d'un accs au support technique. Quant aux
fonctionnalits, elles sont les mmes que dans la version distribue librement.
De grandes socits comme IBM ont contribu au dveloppement de Xen, et de gros efforts
ont t faits par Citrix pour assurer une compatibilit parfaite avec Windows, compatibilit
aujourd'hui reconnue par Microsoft.

Fonctionnement de Xen
Chaque systme s'excutant sous l'hypervision de Xen s'appelle un domaine, et dispose d'une
interface particulire d'accs aux ressources.
Il est possible d'attribuer chaque domaine une limite de mmoire, une limite d'utilisation du
CPU, ainsi qu'une priorit d'utilisation du temps de CPU disponible ce qui permet de donner
une priorit plus importante par exemple aux serveurs virtuels considrs comme
critiques .
L'un des domaines possde un rle particulier au sein de Xen, il s'agit du domaine zro. Ce
domaine est le premier OS lanc par l'hyperviseur au dmarrage du serveur physique. Il
donne accs aux ressources par l'intermdiaire de ses pilotes de priphriques. Depuis le
domaine zro, il est galement possible d'avoir accs au bus de contrle de Xen, permettant
de lancer, d'arrter et mme de prendre le contrle des domaines virtuels excuts. Il est
donc important d'accorder une attention particulire la scurit de ce domaine, par
exemple en l'isolant du rseau.
Le systme dexploitation du domaine 0, et lui seul, doit disposer d'un noyau patch (modifi)
d'une manire particulire. Pour l'heure, seuls GNU/Linux, Solaris et NetBSD proposent les
patchs permettant de fonctionner en domaine zro.
De nombreuses distributions Linux fournissent l'hyperviseur Xen, un noyau patch pour
fonctionner en domaine zro, et des outils d'administration. C'est notamment le cas de Red
Hat Entreprise Linux, ou encore Debian GNU/Linux. De la mme faon qu' OpenVZ, Xen
s'installe trs facilement sur un serveur physique, mais ncessite quelques tapes
supplmentaires, notamment en termes de partitionnement des disques.
La particularit de Xen en tant que solution de virtualisation est de fournir deux modes
d'utilisation. Un mode paravirtualisation et un mode virtualisation complte.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 27

Paravirtualisation sous Xen

WWW.SMILE.FR

Seules les distributions GNU/Linux et certaines versions de BSD peuvent tre excutes en
tant que domaine zro. De mme, seuls quelques systmes sont utilisables en tant que
domaine non-privilgis de faon stable ; en particulier GNU/Linux, Plan9, NetBSD, et Solaris.
GNU/Linux est naturellement la cible privilgie de la paravirtualisation sous Xen. Les
serveurs paravirtualiss avec Xen ne souffrent quasiment d'aucune perte de performance due
la prsence de l'hyperviseur, et sa gestion du processeur est simple et garantit un partage
quitable du temps de calcul. Il est possible de choisir le noyau des domaines virtuels
indpendamment du domaine zro, ce qui autorise une grande htrognit dans le choix
des distributions.
En mode paravirtualis, Xen fournit aux domaines non-privilgis des disques et des
interfaces rseau virtuelles, lesquelles peuvent tre configures chaud. Il est possible
dajouter chaud des disques ou interfaces rseau virtuels, au moyen des outils
d'administration fournis dans le domaine zro. Il est galement possible de modifier chaud
la quantit de mmoire alloue aux domaines virtuels, les limitations de CPU, et de
redimensionner l'espace disque disponible.

Machine virtuelle sous Xen


Le mode HVM de Xen est apparu avec la version 3. Il utilise un noyau spcial en mode
paravirtualis pour simuler une machine virtuelle, ce qui permet de faire fonctionner des OS
ferms comme Microsoft Windows pour lesquels il n'existe pas de patch Xen publics pour le
mode paravirtualis.
Ce mode n'est toutefois possible que si la machine hte dispose d'un processeur dot des
jeux d'instructions de virtualisation matrielle (Intel VT ou AMD Pacifica). Intel et AMD ont
dailleurs contribu au code de Xen pour le support de leurs processeurs.
Au prix d'une couche de virtualisation supplmentaire, il est ainsi possible de retrouver tous
les avantages de la machine virtuelle. Il est intressant de noter que la couche d'interface
entre l'OS virtualis et l'hyperviseur provient en grande partie du projet open source QEMU,
cr par le franais Fabrice Bellard, l'un des pionniers en matire de machines virtuelles. En
revanche, contrairement QEMU, Xen ne peut hberger que des machines virtuelles
compiles pour fonctionner sur la mme architecture que celle du processeur de la machine
hte.
Des pilotes de priphrique paravirtualiss permettent alors de retrouver les performances
du mode paravirtualis de Xen, ils sont disponibles librement pour Linux et dans la version
commerciale de Citrix pour Windows.
La machine virtuelle Xen possde la mme souplesse que le mode paravirtualis car elle
dispose de la mme interface de contrle.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 28

Avantages de Xen

WWW.SMILE.FR

Un des grands avantages de Xen est sa souplesse. Une grande libert est permise, en
particulier, dans le choix d'une solution de stockage pour les disques virtuels : fichiers plats,
LVM, SAN, etc...
De mme le rseau peut tre personnalis de faon rpondre quasiment tous les besoins
spcifiques. Il est notamment possible d'assigner les cartes rseau du serveur physique une
ou plusieurs interfaces virtuelles et ce pour chaque domaine (y compris le domaine zro), ce
qui permet d'isoler certains domaines d'un rseau, ou au contraire de donner un domaine
seulement le contrle sur une interface. La couche de virtualisation rseau de Xen permet
ainsi de mettre en place tous types d'application et de configurations rseau : NAT, VLAN,
bridges, routage, etc.
De plus, Xen permet de migrer un domaine virtuel d'un serveur l'autre quasiment sans
interruption en utilisant un mcanisme de sauvegarde de la RAM proche de l'hibernation
suspend-to-disk ce qui confre une grande volutivit la solution.
Notons que Xen est la base de l'offre cloud EC2 de Amazon, qui permet d'allouer des
serveurs virtuels la demande.

Limitations de Xen
Le principal reproche qui peut tre fait Xen est le manque d'ergonomie de la distribution
libre, qui ne dispose pas de l'interface graphique prsente dans les versions payantes. De
plus, la documentation disponible librement n'est pas toujours actualise, et de nombreuses
possibilits intressantes sont peu documentes. Ce qui fait de Xen une solution puissante,
mais parfois dlicate apprhender et qui requiert une certaine expertise. Certains se
tourneront plus volontiers vers des versions commerciales, plus faciles d'accs.
L'dition prcdente de ce livre blanc mettait quelques rserves quant la prennit de
Xen, des la politique de dveloppement de Citrix qui semblait se concentrer sous
Windows. De plus, l'intgration de Xen dans le noyau Linux semblait peu probable.
Aujourd'hui, ces craintes n'ont plus lieu d'tre, Xen est dsormais intgr au noyau Linux,
suite un travail de longue haleine. Et le dveloppement du produit continue mme si celui-ci
subit de plus en plus la concurrence de KVM, dvelopp par RedHat.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 29

WWW.SMILE.FR

DOMAINES DAPPLICATION
Nous allons maintenant voir quelques exemples d'application de ces techniques de
virtualisation, dans les domaines o elles sont couramment mises en place.

HBERGEMENT VDS
Les offres dhbergement taient traditionnellement distingues en deux catgories :
hbergement ddi et hbergement mutualis.
Dans un hbergement ddi, le fournisseur met disposition de son client un ou plusieurs
serveurs, configurs selon ses besoins. Selon les cas, le contrat peut prvoir une plus ou
moins grande autonomie du client par rapport la configuration et lexploitation de son
serveur, mais du moins au plan technique, rien ne soppose ce que le contrle soit total.
Avec un hbergement mutualis, le fournisseur utilise un mme serveur pour plusieurs de ses
clients. Il utilise diffrentes solutions de cloisonnement pour maintenir une certaine
tanchit entre ces environnements.
Le partage de la ressource serveur permet bien sr un cot trs infrieur, particulirement
attractif pour les sites faible trafic. Mais lhbergement mutualis simple a plusieurs
handicaps :

Lallocation des ressources du serveur nest pratiquement pas contrle, de sorte que
la qualit de service de chaque site peut tre pnalise par un pic de trafic, ou par la
boucle dun programme sur un autre site.

La configuration logicielle est unique, et dicte par lhbergeur. Elle fait le choix, en
gnral, dun mme serveur Http, mais aussi trs souvent dun mme outil de gestion
de contenus et de base de donnes. La simple installation de telle ou telle librairie
spcifique ncessaire lun des clients nest en gnral pas possible. Et a fortiori, des
configurations globales sur mesure sont interdites.

En termes dexploitation, chaque client est extrmement confin, de peur quil ne


perturbe la configuration. Il dispose le plus souvent dun simple accs en transfert de
fichier sur son rpertoire priv, et dans tous les cas na jamais laccs root
(administrateur) sur le serveur.

Entre ces deux modes dhbergement, la virtualisation a permis un mode combinant les
bnfices de lun et de lautre : le partage de ressources dune part, lautonomie et le
contrle dautre part.
Cest le mode que lon appelle VDS pour Virtual Dedicated Server, un serveur ddi
virtuel.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 30

Il consiste tout simplement mettre en uvre des serveurs virtuels selon les diffrentes
technologies dcrites plus haut, et dallouer un serveur virtuel chaque client.

WWW.SMILE.FR

Le mode VDS permet donc :

De partager un mme serveur physique en N serveurs virtuels, allous diffrents


clients. Le nombre de serveurs virtuels par serveur physique dpend bien sr des
besoins respectifs de chacun, mais na pas de limite thorique.

De dfinir du moins selon la technologie de virtualisation retenue la part de


ressources alloue chaque client.

De donner chaque client un contrle total sur son serveur virtuel : il peut y installer
les composants de son choix, disposer dun accs root, grer ses utilisateurs et droits,
rebooter le serveur, r-installer lOS.

Selon la technologie de virtualisation retenue, les limites de cette matrise pourront varier :

Avec une technologie d'isolation de type OpenVZ, il aura la libert de choisir quelle
distribution il souhaite installer, et quelles applications il utilisera, mais devra se
satisfaire du noyau en place.

Avec une technologie de virtualisation complte, il aura le choix du systme


d'exploitation install sur sa machine, et pourra utiliser des applications fonctionnant
en mode noyau tels des systmes de stockage ou rseau avancs (GFS, DRBD, IPsec,
etc.).

PLATEFORME DE VALIDATION
ET DE DVELOPPEMENT

La compatibilit des applications avec la grande varit des configurations informatiques


disponibles est un enjeu majeur, tout particulirement pour les progiciels.
Garantir cette compatibilit implique de tester les produits sur un large ensemble de
plateformes, d'architectures, de systmes d'exploitation diffrents, associs le cas chant
une varit de bases de donnes ou dautres composants systme.
Les grands diteurs, tels que Dassault Systme par exemple, utilisent pour cela des fermes de
validation comportant plusieurs centaines de serveurs.
Les solutions de virtualisation permettent dallger quelque peu ces infrastructures de
validation, leur cot matriel, mais aussi leur exploitation.
Les applications peuvent tre compiles et testes automatiquement sur un grand nombre
d'environnements virtuels (successivement ou mme simultanment). Dans ce domaine, on
privilgie naturellement les solutions de virtualisation complte, supportant une varit dOS.
Les solutions de machines virtuelles avec mulateur, bien que moins efficaces en termes de
performances, permettent mme de simuler un processeur diffrent de celui de l'hte.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 31

WWW.SMILE.FR

Un autre usage de la virtualisation dans le cadre d'une plateforme de dveloppement est


l'instanciation et l'administration de parcs de serveurs de dveloppement, d'intgration, de
recette, etc...
Au sein de larges quipes de dveloppement, comme cest typiquement le cas chez un
prestataire informatique, chaque projet peut possder ses propres serveurs virtuels, sans
aucun impact sur les autres projets, et mettre en place des environnements de test et de prproduction de faon souple et rapide.

HAUTE DISPONIBILIT
En matire de haute disponibilit ou de haute capacit daccueil, les mcanismes centraux
sont devenus classiques et bien matriss : rpartition de charge (load balancing) et reprise
automatique sur incident (failover). Sur ces diffrentes techniques, la virtualisation apporte
son lot d'avantages.

Rpartition de charge
La rpartition de charge est la base un moyen d'augmenter la tenue en charge d'une
application, en lhbergeant sur plusieurs serveurs qui se partagent les visiteurs.
La rpartition de charge est le plus souvent mise en uvre au moyen dun boitier spcialis,
qui dirige les requtes des visiteurs sur les diffrents serveurs, en conservant ou non un
mme visiteur sur un mme serveur. Les boitiers de rpartition de charge savent en gnral
dtecter la panne dun serveur, et ne plus lui affecter de trafic. Ainsi, load balancing et
failover vont souvent de pair.
Pour des plateformes trs forte audience, et vocation cible, le partage des serveurs
physiques nest pas dune grande utilit. Cest le cas typiquement dun grand site web
recevant plusieurs centaines de milliers de visiteurs par jour, dont le trafic est rparti sur
quelques serveurs. Pour autant, la virtualisation pourra avoir dautres usages.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 32

WWW.SMILE.FR

Mais si lon est en prsence de plusieurs applications, ayant chacune besoin de rpartition de
charge sur plusieurs serveurs, alors la virtualisation peut apporter une meilleure
mutualisation de moyens.
Supposons que lon exploite deux applications critiques A1 et A2. Chacune dispose de deux
serveurs physiques entre lesquels le trafic est rparti. Supposons, ce qui arrive souvent, que
ces serveurs ne soient pas utiliss pleine capacit. Une bonne alternative darchitecture,
consiste alors runir les deux applications sur deux, voire trois serveurs, chacun partag en
deux machines virtuelles, lune pour A1, lautre pour A2.
Ainsi au lieu de 4 serveurs, on nen a plus que 3, voire 2. Et au lieu dune rpartition sur 2
serveurs, on a une rpartition sur 3.

Architecture traditionnelle, plateformes applicatives spares

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 33

Architecture virtualise, plateformes applicatives mutualises

Reprise automatique
Un autre usage de la virtualisation dans une optique de haute disponibilit de service peut
consister avoir sur plusieurs serveurs physiques les mmes environnements virtuels
(synchroniss rgulirement).
Les diffrents serveurs physiques se partagent les diffrents serveurs virtuels, et si un des
serveurs physiques tombe en panne, les machines dont il avait la responsabilit sont
relances sur les autres serveurs. Cela permet d'assurer un temps d'indisponibilit minimum,
et une continuit de service malgr des performances amoindries. On peut ainsi travailler
plus sereinement la remise en route du serveur en panne.
Bien sr il est possible de combiner rpartition de charge et reprise automatique sur plusieurs
htes physiques pour une robustesse encore accrue.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 34

WWW.SMILE.FR

Aprs une panne d'un des serveurs :

VIRTUAL APPLIANCE
Le concept dappliance
Dans le domaine du rseau, le concept d' appliance est dmocratis depuis plusieurs annes.
Il s'agit de botiers prts l'emploi : firewall, routeurs, solutions de scurit tout-en-un, qui se
branchent facilement sur le rseau et ncessitent trs peu de configuration de la part des
administrateurs.
Aprs les appliances physiques, les software appliances sont des configurations logicielles
compltes packages, incluant le systme dexploitation, la configuration systme complte,
lapplication principale et tous les composants logiciels dont elle a besoin, le tout en un
paquet aisment installable. La software appliance permet ladministrateur systme de ne
plus se proccuper de la compatibilit de tels et tels composants logiciels : la configuration
est unique, valide et package en amont. Les software appliance permettent dallger
considrablement ladministration des configurations, de mme que les tests de qualification
dun produit. Elles nont quun inconvnient : en labsence de virtualisation, elle requirent
un serveur par application.
Do le concept de virtual appliance, une software appliance qui s'installe dans une solution
de virtualisation existante dans le but de remplir une certaine fonction.
Ces "virtual appliances" se prsentent sous la forme d"images de machines virtuelles, dj
parfaitement configures et packages avec l'application voulue. Leur dploiement est ais,

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 35

bien loin de l'installation manuelle complte d'un systme dexploitation, dune l'application
et des utilitaires associs, en terme de temps donc de cot.

WWW.SMILE.FR

De plus ces "appliances" sont facilement sauvegardables et transportables car en gnral elles
occupent un espace disque rduit (trs peu de logiciels superflus, seulement l'OS de base est
install ainsi que l'application voulue).

De trs nombreuses possibilits


On peut ainsi trouver ou construire des "appliances" pour tout type de besoins, il suffit
ensuite de configurer quelques variables et l'architecture est oprationnelle et dployable
volont.
On trouve sur le web des ides d'appliance pour tout les usages, et pour tout les produits
phares de l'industrie open source : LAMP, Asterisk, Nagios/Cacti, Joomla, etc..

Architecture LAMP
Pour faire du dveloppement ou simplement des tests il est souvent trs utile d'avoir des
environnements LAMP gnriques, par exemple pour les quipes de Smile, nous avons
souvent dploy ce genre d'environnement pour nos dveloppeurs ou nos clients. Nous
gagnons normment de temps avec ce genre d'appliance, qui sont prtes lemploi pour
divers types de besoins (eZ Publish, TYPO3 ...).

Firewall, VPN
Les capacits rseau de certaines solutions de virtualisation permettent mme de mettre en
place des serveurs virtuels ayant la main sur les interfaces rseau, ce qui permet l'utilisation
d'un composant virtuel pour servir de firewall, de systme de dtection d'intrusions, de
endpoint VPN, totalement isol du matriel, et donc moins sensible en cas d'attaque.

CLOUD COMPUTING
L'une des ides fortes qui se cache derrire la notion, un peu vague, de Cloud Computing
(informatique nbuleuse), est l'abstraction de la plateforme d'une application, diffrents
niveaux.
On parle d'IaaS (Infrastructure as a Service) lorsque l'on abstrait uniquement l'infrastructure
physique d'une application. On conserve ainsi la notion de serveur, sur lequel une plateforme
applicative (LAMP, ou encore J2EE) reste installer.
On parle de PaaS (Platform as a Service) lorsque l'on abstrait cette fois-ci la plateforme, c'est
ce que font des services comme Microsoft Azure ou Google App Engine.
Enfin, on parle de SaaS (Software as a Service) lorsqu'on abstrait tout, y compris l'application.
Ce qui est ni plus ni moins que la fourniture traditionnelle de service payant via une
application web. Les fers de lance de cette approche sont par exemple SalesForce ou encore
Google Apps.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 36

La virtualisation est bien sr fondamentale dans la mise en place d'une IaaS. Cependant, il
est ncessaire d'automatiser entirement la mise disposition de machines virtuelles. Le suivi
de consommation des ressources des fins de facturation fait partie du modle commercial
du Cloud Computing, il doit donc faire partie intgrante de la solution d'IaaS. Le produit doit
galement s'occuper de configurer automatiquement un espace de stockage persistant pour
les VM, ainsi que leur fournir une connectivit rseau. Fournir cette connectivit ncessite
son tour de configurer des quipements tels que des switchs, et d'immobiliser des adresses
IP. Enfin, l'accs, mme indirect, des clients finaux la plateforme physique du prestataire
IaaS pose de nombreux problmes de scurit, de traabilit, d'isolation entre les clients.
Une solution d'IaaS est donc un logiciel complexe, qui doit jongler entre de nombreux
domaines d'activit. On comprend pourquoi les solutions de virtualisation ne prennent pas en
charge directement l'IaaS. Des projets logiciels spcialiss sont ncessaires, et sont d'ailleurs
souvent indpendants de la technologie de virtualisation sous-jacente. Dans la suite de ce
livre blanc nous prsenterons OpenStack qui est l'un de ces outils.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 37

WWW.SMILE.FR

LE STOCKAGE
Dans tout projet de virtualisation se pose, un moment ou un autre, la question du stockage.
En effet, comme pour le calcul ou les entres-sorties, la virtualisation implique gnralement
une couche d'abstraction supplmentaire au niveau du stockage des donnes. Il peut s'agir
simplement de crer une arborescence de rpertoires dans le cas d'un isolateur, ou de mettre
en place un rseau de stockage hautes performances disposant de capacits avances de
rplication et de clichs dans le cas d'une plateforme de machines virtuelles.

DIFFRENTS BESOINS
Quelque soit la technologie utilise, une machine virtuelle se compose de deux lements :

Des ressources : part de CPU allous, mmoire vive autorise, nombre de cartes rseau
virtuelles...

Des donnes : comme un serveur normal, on doit disposer d'un systme d'exploitation,
de bibliothques, d'outils, d'applications et de leurs donnes.

Nous avons vu dans les parties prcdentes comment taient gres les ressources, via
diverses technologies de virtualisation et les fonctionnalits qui vont avec.
Le stockage, lui dpend gnralement de la technologie de virtualisation utilise, et surtout
de sa profondeur .
Dans les technologies d'isolation, la virtualisation se fait au niveau de l'OS, et ne ncessite pas
un dispositif de stockage particulier : chaque environnement virtualis se prsente sous la
forme d'une arborescence grable depuis le domaine de contrle. Cette arborescence peut,
de faon transparente, tre situe physiquement sur la mme machine, sur un autre disque,
sur un serveur distant, sur un rseau de stockage, etc. C'est la solution qui offre la plus grande
souplesse.
Dans les technologies de machine virtuelle, l'hyperviseur ne fournit au systme virtualis
qu'un espace de stockage. Il peut s'agir d'un volume, ou simplement d'un fichier, mais dans
les deux cas cet espace est hermtique et ne peut tre accd depuis le domaine de
contrle. La encore, on peut placer l'intgralit de cet espace sur un disque local, un rseau
de stockage, un autre serveur...
Dans ces deux cas, l'utilisation d'un disque local est la plus avantageuse en terme de
performances et de facilit d'administration. Cependant, l'utilisation d'un stockage en rseau
permet d'ouvrir la voie de nouvelles fonctionnalits.

STOCKAGE EN RSEAU
Les pleines capacits des hyperviseurs modernes ne peuvent s'exprimer qu'au travers d'un
stockage en rseau, en effet les hyperviseurs sont gnralement grs sous forme de
pools, formant une force de travail globale qui se partageront les machines virtuelles

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 38

WWW.SMILE.FR

excuter. Cette vision n'est possible que si le stockage est lui aussi unifi : sans cela chaque
hyperviseur ne peut faire tourner que les serveurs virtuels prsents sur son disque local, et
n'est donc pas interchangeable.
Disposant d'un rseau de stockage, chaque hyperviseur a accs toutes les machines
virtuelles, et peut donc excuter n'importe laquelle, et la transfrer sans interruption un
autre hyperviseur en fonction de sa charge.
Seul OpenVZ permet la migration d'environnements chaud quand les serveurs physiques ne
partagent pas l'espace de stockage. Dans tous les autres produits, disposer d'un stockage
rseau partag est une condition ncessaire.
Nous allons prsenter quelques technologies permettant de mettre en place un rseau de
stockage.

NAS et NFS
Un NAS, ou stockage rseau (Network-Attached Storage) est simplement un serveur
fournissant leurs fichiers d'autres serveurs par le rseau.
NFS est le standard universel pour l'accs aux fichiers sur un rseau, c'est le protocole le plus
utilis dans les NAS.
Dans le cadre d'un isolateur, il permet de stocker l'arborescence du serveur virtuel distance.
Dans le cadre d'une solution de virtualisation complte il permet de stocker distance les
fichiers contenant les disques durs de la machine virtuelle.
Ce dernier cas est dconseill hors des environnements de test : NFS n'est pas adapt la
lecture alatoire dans un seul fichier. En revanche pour un isolateur, stocker les donnes en
NFS est intressant, et le deviendra encore plus avec les systmes de fichier de nouvelle
gnration tels que ZFS, HAMMER ou btrfs, qui permettent des snapshots instantans, le
versionnement des arborescences, et autres fonctionnalits pour l'instant rserves aux baies
de stockage haut de gamme.
En plus des matriels ddis, la plupart des systmes d'exploitation proposent une
implmentation serveur NFS, ce qui permet d'utiliser n'importe quel serveur comme serveur
de stockage NFS. Ces derniers utilisent alors soit des disques locaux, soit leur propre rseau
de stockage SAN.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 39

SAN
Un SAN, ou rseau de stockage (Storage Area Network), est un rseau sur lequel circulent les
donnes entre un systme et son stockage. Cette technique permet de dporter tout le
stockage interne d'une machine vers un quipement ddi.
Les SAN sont des quipements ddis, qui ne travaillent qu'aux plus basses couches du
stockage, la notion de fichier leur est inconnue ; ils travaillent simplement sur des blocs de
donnes et les fournit par le rseau des serveurs qui eux sauront les utiliser. Cependant, les
SAN les plus hauts de gamme sont dots de capacits avances, tel que la prise de clich, ou
encore la copie rapide de volumes.
Les deux principaux protocoles d'accs un SAN sont iSCSI et Fibre Channel.

iSCSI
iSCSI est un protocole d'accs disque fonctionnant sur un rseau Ethernet, il permet
d'implmenter un rseau de stockage en profitant de la connectique et des quipements de
commutation standards. Comme le NFS, il peut tre soit implment par une baie de
stockage ddie, ce qui assure les meilleures performances, soit par un serveur classique
disposant du logiciel adquat, par exemple IET (iSCSI Entreprise Target) sous Linux.
Voici un exemple de SAN : parmi les machines clientes du SAN, on retrouve un NAS : ces deux
techniques peuvent tre combines car elles ne travaillent pas au mme niveau.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 40

Fibre Channel
La solution la plus haut-de-gamme pour implmenter un rseau de stockage est l'utilisation
d'une baie ddie et du protocole Fibre Channel. Bas sur des fibres optiques il assure une
latence et un dbit bien meilleurs que iSCSI, un prix bien sr plus lev. Son principe
d'utilisation est le mme qu'un SAN iSCSI.

CRITRES DE CHOIX
Le choix d'une solution de stockage est bas sur la taille de l'infrastructure, le niveau de
fiabilit attendu, et les fonctionnalits. Un stockage en rseau des VM apporte une plus
grande flexibilit, et la possibilit de facilement rajouter des nuds l'infrastructure, mais au
prix d'un investissement initial lev (un rseau de stockage coute cher) et d'une architecture
plus complexe.
Bien souvent, le stockage en local des VM, et une bonne politique de sauvegarde permet une
reprise d'activit rapide en cas de problme sur un hte, et on prfrera implmenter la
haute disponibilit au niveau applicatif plus qu'au niveau systme, via par exemple un
rpartiteur de charge, ou une solution telle que Linux Virtual Server, CARP, et autres.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 41

WWW.SMILE.FR

INTERFACES D'ADMINISTRATION
Si la plupart des solutions open source de virtualisation sont matures en ce qui concerne les
fonctionnalits de base, il n'en est pas autant de leurs interfaces d'administrations, souvent
minimalistes. Or, le succs commercial d'un produit ne dpend pas que de la qualit
technique de son socle, mais galement de sa facilit d'accs. Il est un principe fondamental
de l'open source qu'un projet n'a pas pour but de tout faire, ainsi trouve-t-on des projets
open source dont le but est uniquement de fournir des interfaces d'administration des
produits existants, laissant aux projets dveloppant les briques de base le soin de se
concentrer sur les problmatiques techniques bas niveau.

PROXMOXVE
Proxmox VE est une plateforme de virtualisation open source dite Bare Metal produite,
dveloppe et maintenue principalement par Proxmox Server Solutions GmbH depuis 2008.
Elle fournit un systme minimal permettant de crer et de grer des machines virtuelles en
usant de technologies ouvertes d'isolation (OpenVZ), de virtualisation complte (KVM) et de
clustering (Corosync), le tout via une interface web d'administration accessible.

Les deux mondes sur une plateforme simple d'accs


Proxmox VE fournit un accs simple l'isolation et la virtualisation complte sur une seule
et mme plateforme. Il est ainsi possible de crer et grer des machines virtuelles avec KVM
et des conteneurs avec OpenVZ, le tout via une interface d'administration moderne et simple
d'accs.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 42

WWW.SMILE.FR

Capture d'cran ProxMox Source : www.proxmox.com


La mise en place d'un cluster et la haute disponibilit sont de plus porte de main avec une
configuration des machines virtuelles et conteneurs pour lesquels assurer une continuit de
service, ainsi que la configuration du fencing avec support IPMI, APC et DRAC (Dell). Il est
aussi possible d'effectuer des tches de sauvegarde ponctuelles depuis celle-ci.
Il est possible d'installer la plateforme sur une Debian Squeeze, la socit fournissant des
dpts pour la distribution incluant toutes les dpendances ncessaires.

Retours d'exprience
Proxmox VE est selon nous une plateforme adapte pour les infrastructures de toutes tailles.
Elle fournit toutes les fonctionnalits de base que l'on peut attendre d'un tel produit, telles la
gestion du rseau, la migration et la sauvegarde (complte et snapshots) des machines
virtuelles et conteneurs, la gestion et le monitoring des ressources utilises, mais possde
quelques lacunes.
Par exemple, il est impossible de grer l'accs aux VLAN depuis l'interface d'administration. Il
est de mme impossible de n'utiliser que iSCSI si l'on veut avoir de la haute disponibilit sur
les conteneurs et machines virtuelles, les conteneurs ne supportant que NFS pour la haute
disponibilit actuellement.
La plateforme fournissant son propre noyau allg, il est aussi impossible d'installer son
propre noyau incluant des fonctionnalits spcifiques. A titre d'exemple, le noyau fourni ne
supporte pas le RAID logiciel en consquence de cet allgement.
Enfin, la cration d'un cluster Proxmox VE et l'ajout de nuds ne se fait pas via l'interface
web mais en ligne de commande sur les serveurs, alors que la gestion du cluster peut se faire
via l'interface web. Ce n'est en rien gnant, mais c'est un manque de l'interface web que l'on
aimerait voir combler.
La plateforme est cependant suffisante pour des besoins de virtualisation basiques, vu qu'il
reste possible d'effectuer certaines tches non implmentes sur l'interface d'administration
en ligne de commande, telle la cration de bridges lis des VLAN.

Limitations de Proxmox VE
Proxmox VE implmente un monitoring de l'utilisation des ressources par les machines
virtuelles ainsi qu'une supervision basique des machines virtuelles via Ping dans le cadre de la
haute disponibilit, suffisant pour s'assurer que le systme est disponible, mais cela implique
que le systme ne verra pas une indisponibilit de service. Il est donc ncessaire de prvoir
une supervision externe de type Centreon/Nagios pour tre averti des indisponibilits de
service.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 43

OPENSTACK

WWW.SMILE.FR

Prsentation
OpenStack est un logiciel beaucoup plus complet et ambitieux que ProxmoxVE. Son but est de
fournir toutes les briques ncessaires la mise en place d'un service IaaS : Infrastructure as a
Service.
L'IaaS est l'une des facettes du Cloud Computing : il s'agit de fournir des ressources
informatiques sous forme de machine virtuelles prtes l'emploi, et ce directement la
demande des utilisateurs, sans passer par la mise en place la main des VM par un
administrateur systme. Le systme IaaS gre la mise disposition de la ressource en fonction
de la capacit actuelle de la plateforme, et assure le suivi de consommation des fins de
facturation.
OpenStack, dvelopp initialement par Rackspace et la NASA, propose un regroupement de
logiciels open source sous licence Apache. Ce regroupement permet de mettre disposition
des ressources de calcul (des machines virtuelles) ainsi que des espaces de stockage, en
reprenant les principes de l'IaaS.
Historiquement, Rackspace contribuait la partie stockage dOpenStack tandis que la partie
calcul tait dveloppe par la NASA. A lheure actuelle la fondation en charge du projet,
nomm OpenStack Consortium, intgre plus de 150 entreprises, dont Canonical, Dell et Cisco.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 44

Captures d'cran OpenStack Dashboard Source : www.openstack.org

Architecture du produit
Au niveau macroscopique, OpenStack se compose de 3 services principaux, chacun
fournissant une API qui permet aux clients de demander des ressources. Fournir une API et
non seulement une interface permet d'automatiser la mise disposition de ressources, ce
qui permet d'augmenter la capacit d'une plateforme particulire de faon totalement
automatique, dans la limite de la puissance mise disposition par l'infrastructure OpenStack.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 45

Source : documentation officielle OpenStack

WWW.SMILE.FR

OpenStack Compute est le service qui instancie des machines virtuelles, c'est l'quivalent
d'Amazon Elactic Compute Cloud (EC2)
OpenStack Object Storage met disposition des clients un espace de stockage pour tous
types de donnes : d'une simple image une machine virtuelle entire. C'est l'quivalent
d'Amazon Simple Storage Service (S3)
OpenStack Imaging Service est la brique qui fait le lien entre les deux produits et permet
le stockage des modles de VM sur Object Storage. Une fois ainsi stocks, ces modles sont
instanciables la demande. Il est bien sr possible pour les clients de crer de nouveaux
modles.
Par la suite, nous nous concentrerons sur OpenStack Compute, qui est le seul composant
utiliser les techniques de virtualisation prsentes dans ce livre blanc.
Le schma ci-dessous montre les principaux composants d'OpenStack Compute :

Source : schma issu d'une prsentation de Thierry Carrez


lors de l'vnement Openstack in action 2
Les diffrents sous-composants de chaque service communiquent entre eux via un serveur de
messages, en gnral RabbitMQ, qui garantie une communication fiable entre les services en
toutes circonstances, y compris si l'un d'eux a rencontr une panne.
Parmi ces composants, on retrouve :

Le serveur d'API, qui reoit les demandes des utilisateurs et des autres services
d'OpenStack, les valide, et les envoie la file d'excution.

Le service de planification (scheduler) qui place les nouvelles VMs sur un des
htes disponibles en fonction de critres pr-tablis (priorits, etc.) mais aussi
de l'tat actuel de la plateforme (charge, indisponibilits, etc.)

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 46

Les services de rseau et de stockage, qui fournissent la connectivit rseau et


l'espace de stockage aux VM.

WWW.SMILE.FR

Les nuds de calcul (compute node) eux mme, qui sont les hyperviseurs.

Gnralement, plusieurs de ces services sont regroups sur la mme machine, dgageant
deux types de serveurs physiques : les nuds de calcul et les nuds de contrle.

Source : http://my1.fr/blog/presentation-openstack/
Un seul nud de contrle peut prendre en charge plusieurs nuds de calcul, qui sont
simplement des hyperviseurs qui excutent des machines virtuelles bases sur les images
fournies par OpenStack. Il n'est pas recommand d'utiliser diffrents types d'hyperviseurs au
sein d'une mme installation d'OpenStack, en raison de l'incompatibilit des formats de
disque, du matriel, et de l'impossibilit d'effectuer des migrations des VM d'un hte vers un
autre lorsque les deux htes utilisent un hyperviseur diffrent.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source

WWW.SMILE.FR

Page 47

Source : documentation officielle OpenStack


Le choix de l'hte lors de la cration d'une nouvelle VM peut dpendre de plusieurs critres,
par exemple, OpenStack peut choisir de crer une nouvelle VM sur la machine la moins
charge, et bien sr ne crera pas de VM sur une machine temporairement indisponible.
OpenStack peut tirer profit des fonctionnalits de migration chaud des hyperviseurs
lorsqu'elles sont disponibles afin de minimiser l'indisponibilit lors des phases de
maintenance.

La prennit dOpenStack

Source : schma issu d'une prsentation de Thierry Carrez


lors de l'vnement Openstack in action 2

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 48

WWW.SMILE.FR

Sur ce graphique on peut voir quels taient les principaux dploiements d'OpenStack. Il est
noter que la majeure partie des dploiements en productions sont constitus de la
plateforme de stockage et non de calcul, qui reste surtout pour l'instant cantonne
l'exprimentation ou de la production petite chelle.
La prennit de OpenStack Compute est fortement lie celle de l'hyperviseur choisi. En effet
les diffrents hyperviseurs ne sont pas toujours bien supports, avec des fonctionnalits non
implmentes ou non testes. Par exemple, ce jour seule une version relativement
ancienne de VMWare est supporte. Plus prcisment, la version 4.1 update 1, sortie le 10
fvrier 2011, alors que la version 5.0 update 1 est sortie depuis le 15 mars 2012. Initialement,
HyperV de Microsoft tait aussi support. Son intgration a finalement t abandonne.
Le choix de lhyperviseur est donc critique et dpend des besoins de la plateforme IaaS. Le
lecteur trouvera la fin de ce livre blanc un rcapitulatif des principaux critres considrer
pour faire ce choix, auxquels il faudra ajouter le niveau de support par OpenStack : lheure
actuelle, les hyperviseurs XenServer et KVM sont les mieux supports.
OpenStack est packag dans Ubuntu Server et dans Debian (Wheezy). Dautres distributions
telles que RedHat Enterprise Linux sont moins bien supportes. Si la prise en charge de
RedHat concentre de plus en plus d'efforts de dveloppement, un des obstacles
lintgration dOpenStack dans les solutions de RedHat est actuellement son modle de
dveloppement rapide d la jeunesse du produit. Vis--vis des 10 annes de support
proposes par RedHat aux entreprises, on comprend qu'une ventuelle intgration
d'OpenStack RedHat devra attendre que le produit soit suffisamment stable.
A ce jour, la solution fonctionnant out-of-the-box est Ubuntu Server. Lintgration
dOpenStack et dUbuntu va mme plus loin pour deux raisons. La premire est limplication
de Mark Shuttleworth (fondateur et principal soutien financier d'Ubuntu). La seconde est le
rythme de dveloppement dOpenStack. Cest--dire quune version majeure dOpenStack
sort tous les 6 mois en se calquant sur le rythme de sortie dUbuntu. Le choix dOpenStack est
motiv par la forte dynamique dont bnficie Ubuntu : lheure actuelle, Ubuntu Server
enregistre une forte progression en parts de march sur les serveurs Web, et se situe environ
au mme niveau que RedHat, parfois mme devant selon certaines tudes.
Un des freins l'adoption d'OpenStack reste la faiblesse de son interface Web. A lheure
actuelle, une interface Web existe pour les oprations basiques (gestion des instances,
gestion des IPs publiques), mais pour un certain nombre dactions dadministration ou
dutilisation, linterface par ligne de commande (CLI) reste ncessaire. L'accent est clairement
mis sur l'API, qui elle offre l'accs toutes les fonctions.
Un autre frein rside dans la jeunesse dOpenStack et son cycle de dveloppement rapide, qui
est de 6 mois, ce qui s'avre une priode de temps trop courte pour de la production. Mais
linstar dUbuntu, des versions LTS (Long Time Support) dOpenStack permet dtendre tous
les 2 ans le support dune version.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 49

WWW.SMILE.FR

CONCLUSION
SYNTHSE

QUELLE SOLUTION CHOISIR ?


Quelques rgles simples pour choisir une solution de virtualisation.
Si vous grez des environnements purement Linux, avec des besoins de hautes
performances, sans contrainte au niveau du noyau, choisissez OpenVZ.
Si vous grez des environnements purement Linux, mais avec des besoins plus prcis en
termes de version noyaux, ou de fonctionnalits de haute-disponibilit, ou une grande
htrognit, choisissez Xen.
Si vous grez des environnements Linux, ainsi que quelques serveurs Windows o la
performance n'est pas un impratif, choisissez galement Xen.
En environnement purement Windows avec des besoins de haute performance, et de
simplicit d'utilisation, choisissez XenServer de Citrix.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation

Virtualisation et cloud
open source
Page 50

En environnement mixte (Linux/Windows) mais avec peu de comptences spcifiques et


besoin de la meilleure simplicit dutilisation, retenez plutt le produit commercial VMWare
ESX.

WWW.SMILE.FR

Et enfin pour lexprimentation, essayez KVM.

L'AVENIR
Dsormais bien installe dans le monde des serveurs, la virtualisation s'attaque de plus en
plus aujourd'hui au poste de travail, o elle vise rgler tous les problmes de dploiement
et de maintenance. L'engouement est similaire ce qu'il t pour les serveurs, mais la
problmatique est plus complexe, car les contraintes d'utilisation sont plus fortes : il faut
assurer une faible latence, des capacits graphiques la hauteur du confort d'utilisation d'un
poste ddi.
Ct serveur, les technologies de virtualisation ont trs rapidement tenu leurs promesses en
termes de rduction de cot dacquisition et de possession des parcs informatiques. En
quelques annes, elles se sont rpandues, et mme gnralises. De plus en plus
dadministrateurs systme prfrent mettre en place un environnement virtualis mme sil
ny a dans un premier temps quun seul serveur virtuel. Dune part cela permettra
ultrieurement de mettre en uvre un partage des ressources, et dautre part cela permet de
bnficier des services qui ne sont pas lis ce partage, par exemple la sauvegarde et reprise
de lenvironnement.
De plus, la solution d'IaaS OpenStack, porte par une norme vague de la communaut open
source permet d'aller encore plus loin dans la gestion et le dploiement de la virtualisation, et
est en train de faire bouger les lignes face aux alternatives propritaires.
Les solutions open source apportent exactement le mme niveau de service que les
solutions commerciales en termes de robustesse, de performances et de prennit. Il leur
reste seulement combler un petit retard en termes dergonomie des interfaces. Mais pour
des administrateurs systme chevronns, elles sont le plus souvent privilgies.
Pour bnficier vous aussi des conomies et de l'efficacit d'une infrastructure virtualise,
n'hsitez pas faire appel aux ingnieurs systme de Smile, ils seront heureux de mettre leur
expertise votre service.

Merci Jonathan Raffre, Yanick Delarbre, Romain Gobinet, Patrice Bertrand et Badr Chentouf
de Smile pour leur contribution ce livre blanc.

Edition dcembre 2012 Copyright Smile Open Source Solutions Toute reproduction interdite sans autorisation