<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antoine Benkemoun &#187; Types</title>
	<atom:link href="http://www.antoinebenkemoun.fr/tag/types/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antoinebenkemoun.fr</link>
	<description>Sécurité informatique, Virtualisation, Administration système et Réseaux</description>
	<lastBuildDate>Fri, 19 Aug 2011 09:38:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Les technologies du Cloud Computing</title>
		<link>http://www.antoinebenkemoun.fr/2010/01/les-technologies-du-cloud-computing/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/01/les-technologies-du-cloud-computing/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:01:45 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=902</guid>
		<description><![CDATA[Les vacances sont finies et les affaires reprennent avec plus d&#8217;open source et de cloud computing. Lors d&#8217;un précédent article, nous avons essayé de trouver une définition à peu près convenable du cloud computing de manière générale. Ceci s&#8217;est avéré relativement complexe et hasardeux. J&#8217;ai finalement choisi de conserver la définition proposée par Wikipedia en [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92.jpg"><img class="alignleft size-full wp-image-885" title="v92" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92.jpg" alt="" width="137" height="216" /></a>Les vacances sont finies et les affaires reprennent avec plus d&#8217;open source et de cloud computing. Lors d&#8217;un <a href="http://www.antoinebenkemoun.fr/2010/01/definition-du-cloud-computing/">précédent article</a>, nous avons essayé de trouver une définition à peu près convenable du cloud computing de manière générale. Ceci s&#8217;est avéré relativement complexe et hasardeux. J&#8217;ai finalement choisi de conserver la définition proposée par <a href="http://en.wikipedia.org/wiki/Cloud_computing">Wikipedia</a> en Anglais.</p>
<p>A défaut de réussir à définir conceptuellement le cloud computing, nous allons essayer de le définir technologiquement. Cet exercice devrait être largement plus simple que le précédent car les ressources abondent sur ce plan. Comme vous vous en doutez déjà, il existe de nombreux types d&#8217;infrastructures physiques et applicatives placées sous la dénomination de cloud computing. Nous essayerons de faire une sélection des technologies réccurentes.</p>
<h3>La virtualisation</h3>
<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><img class="alignright size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="" width="174" height="155" /></a>Lorsqu&#8217;est évoqué la notion de cloud computing, la notion de virtualisation n&#8217;est pas bien loin. La montée en popularité du cloud computing coïncide largement avec la monte en popularité des plate-formes de virtualisation. Bien qu&#8217;il existe de nombreux <a href="http://www.antoinebenkemoun.fr/2009/10/classification-des-types-de-virtualisation-mise-a-jour/">types de virtualisation</a>, la virtualisation de systèmes d&#8217;exploitation est la plus fréquente, de loin. Nous pouvons affirmer de manière relativement sûre que la base essentielle du cloud computing est la virtualisation de systèmes d&#8217;exploitation.</p>
<p>La virtualisation de système d&#8217;exploitation n&#8217;est cependant pas un phénomène récent. Les premières applications de VMWare datent de 1998. L&#8217;amélioration des processeurs x86 n&#8217;est certainement pas étranger à ce phénomène avec la multiplication et la densification des coeurs de calcul. La montée du cloud computing est sans aucun doute liée avec la montée en puissance des applications d&#8217;automatisation des plate-formes de virtualisation. Cette automatisation permet une flexibilité exceptionnelle et une réactivité dans l&#8217;évolution du cloud.</p>
<h3>La place de l&#8217;open source</h3>
<p>Alors que l&#8217;on pourrait croire que l&#8217;acteur le plus populaire dans ce domaine est VMWare, la réalité ne confirme pas cette intuition. L&#8217;open source joue un rôle essentiel dans le domaine du cloud computing à travers l&#8217;hyperviseur <a href="http://www.antoinebenkemoun.fr/2009/06/cest-quoi-xen/">Xen</a>. Le cloud publique d&#8217;Amazon est basé sur le projet Xen tout comme l&#8217;offre de serveur virtuel privé de Gandi. Cette adoption massive peut probablement s&#8217;expliquer par la nature open source de l&#8217;hyperviseur ayant permis le développement des outils d&#8217;automatisation mais aussi par la faible perte de performance. Bien que le projet KVM ait été intégré dans le noyau Linux et choisi par différentes distributions, ceci signifie en aucun cas la fin du projet Xen.</p>
<p>Dans le cas du déploiement de grands clouds publiques, l&#8217;utilisation des plate-formes de virtualisation propriétaires telles que VMWare ou Hyper-V ne semblent pas viables financièrement. Les licences VMWare sont exceptionnellement coûteuses, de même pour les licences Windows 2008 Server. Un grand cloud public basé sur ces technologies rendrait l&#8217;offre particulièrement peu compétitive. De plus, l&#8217;hébergeur dépendrait totalement de l&#8217;éditeur pour les fonctionnalités qu&#8217;il peut implémenter et n&#8217;aura que peu de marge pour innover. L&#8217;utilisation des outils propriétaires peut être viable financièrement dans le cadre de clouds privés de taille modeste bien que la gratuité de <a href="http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939">XenServer</a> de Citrix ne facilite pas l&#8217;adoption.</p>
<h3>La mise en réseau du stockage</h3>
<p>Tandis que les deux premières technologies sont visibles par les utilisateurs des clouds, le troisième l&#8217;est nettement moins. Traditionnellement, les unités de stockage de masse sont connectées directement sur les serveurs. Concrètement, cela se traduit par la connexion des disques dur directement sur le bus ATA ou SCSI de chaque serveur. Cette forme de stockage a comme avantage d&#8217;être particulièrement simple mais a comme désavantage d&#8217;être très peu flexible.</p>
<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/openstorage.png"><img class="alignleft size-full wp-image-909" title="openstorage" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/openstorage.png" alt="" width="166" height="189" /></a>La mise en réseau des éléments de stockage à travers le SAN (Storage Area Network) a permis de s&#8217;affranchir de nombreuses contraintes. Cette flexibilité exceptionnelle a permis aux clouds de pouvoir s&#8217;automatiser rapidement avec notament l&#8217;utilisation des techniques de snapshots ou de déduplication. De plus, le réseau de stockage a permis d&#8217;augmenter massivement les performances des IO permettant de pouvoir centraliser les données. Cette centralisation a rendu possible les techniques de migration automatique à chaud et de répartition de charge dynamique entre différents hyerviseurs.</p>
<p>Au final, les technologies du cloud computing sont plus simples à cibler que le concept global. J&#8217;aurais l&#8217;occasion d&#8217;évoquer et de traiter les réseaux de stockage en détail ultérieurement. Ces trois technologies sont des technologies &laquo;&nbsp;centrales&nbsp;&raquo; autour desquelles peuvent en orbiter de nombreuses autres.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/01/les-technologies-du-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>De la différenciation hyperviseur type 1 / type 2</title>
		<link>http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 09:46:46 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=689</guid>
		<description><![CDATA[A travers cet article, je souhaiterais exposer et argumenter mon point de vue sur les appellations d&#8217;hyperviseur qui fleurissent un peu partout sur Internet. Ceux qui suivent régulièrement ce blog doivent avoir une petite idée de mon avis sur cette appellation. Je vais essayer d&#8217;exposer mon point de vue de manière équilibrée et argumentée. Il [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="tech-presentation-2" width="174" height="155" />A travers cet article, je souhaiterais exposer et argumenter mon point de vue sur les appellations d&#8217;hyperviseur qui fleurissent un peu partout sur Internet. Ceux qui suivent régulièrement ce blog doivent avoir une petite idée de mon avis sur cette appellation. Je vais essayer d&#8217;exposer mon point de vue de manière équilibrée et argumentée. Il s&#8217;agit donc ici d&#8217;un billet d&#8217;opinion.</p>
<p>Vous avez surement dû voir sur divers sites web l&#8217;appellation hyperviseur type 1 et hyperviseur type 2. Je ne connais pas l&#8217;origine des ces termes. Je soupçonne cependant fortement que ces deux termes soit d&#8217;origine marketing.</p>
<p><strong>Note : </strong>Cet article a été publié sur le <a href="http://blogs.orange-business.com/virtualisation/2009/11/de-la-differenciation-hyperviseur-type-1-type-2.html">blog</a> Orange Business Service Virtualisation le 3 Novembre 2009.</p>
<h3>Qu&#8217;est ce qu&#8217;un hyperviseur ?</h3>
<p>Tout d&#8217;abord, je vais m&#8217;attacher à exposer les différentes définitions de la notion d&#8217;hyperviseur. Wikipedia France nous donne la définition suivante.</p>
<blockquote><p>En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d&#8217;exploitation de travailler sur une machine physique en même temps.</p></blockquote>
<p>Cette définition semble particulièrement large. Elle implique l&#8217;équivalence entre hyperviseur et application de virtualisation. Je définirais un &laquo;&nbsp;composant de virtualisation&nbsp;&raquo; en tant que n&#8217;importe quel composant applicatif permettant d&#8217;exécuter plusieurs systèmes d&#8217;exploitation sur une même machine physique. Il y a donc bien équivalence entre les deux définitions.</p>
<h3>Qu&#8217;est ce qui définit techniquement un hyperviseur ?</h3>
<p>Comme vous le savez, il existe de nombreuses techniques de virtualisation. Toutes ces techniques de virtualisation proposent une diversité assez large. Il me semble donc assez réducteur des les regrouper toutes sous le nom d&#8217;hyperviseur d&#8217;autant plus que l&#8217;appellation &laquo;&nbsp;composant de virtualisation&nbsp;&raquo; existe déjà.</p>
<p>La définition technique d&#8217;un hyperviseur est mieux illustrée à travers le fonctionnement de la paravirtualisation. Dans le cas de la paravirtualisation, l&#8217;hyperviseur est l&#8217;interface primaire et exclusive des ressources physiques principales. La notion d&#8217;hyperviseur se justifie par le fait que le noyau est historiquement le &laquo;&nbsp;superviseur&nbsp;&raquo;. Cette notion de &laquo;&nbsp;superviseur&nbsp;&raquo; est issue du mode &laquo;&nbsp;superviseur&nbsp;&raquo; des processeurs x86 car il s&#8217;agit du noyau qui va gérer les interruptions en mode superviseur. En toute logique, nous avons donc l&#8217;hyperviseur qui gère les superviseurs.</p>
<p>Dans le cas de la virtualisation de systèmes d&#8217;exploitation non modifiées, le &laquo;&nbsp;composant de virtualisation&nbsp;&raquo; se situe au dessus d&#8217;un système d&#8217;exploitation et donc d&#8217;un noyau. Nous avons donc une contradiction au niveau des appellations vu que l&#8217;hyperviseur va être géré par le &laquo;&nbsp;superviseur&nbsp;&raquo;, à savoir, le noyau. Il y a donc une incohérence. Je vous remets, pour rappel, le schéma comparant paravirtualisation et virtualisation totale.</p>
<p style="text-align: center;"><img class="size-full wp-image-95 aligncenter" title="virtus" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/virtus.jpg" alt="virtus" width="476" height="219" /></p>
<h3>Quid des types d&#8217;hyperviseur</h3>
<p>Afin de palier à cette contradiction, une différenciation a été faite et l&#8217;appellation &laquo;&nbsp;hyperviseur type 1 » et &laquo;&nbsp;hyperviseur type 2 » a vu le jour. Cette appellation ne répond cependant pas à la contradiction soulevée précédemment.</p>
<p>Pour rappel, un hyperviseur de &laquo;&nbsp;type 1 » est un hyperviseur s&#8217;exécutant directement sur la plateforme matérielle, comme dans le cas de la paravirtualisation. Un hyperviseur de &laquo;&nbsp;type 2 » est un hyperviseur s&#8217;exécutant par dessus un système d&#8217;exploitation invité.</p>
<p>Pour résumer cet article, je pense que l&#8217;appellation d&#8217;hyperviseur n&#8217;est pas adaptée aux solutions de virtualisation s&#8217;exécutant au dessus d&#8217;un système d&#8217;exploitation invité. Je pense que l&#8217;appellation &laquo;&nbsp;application de virtualisation&nbsp;&raquo; serait plus adaptée et correspondrait plus à la réalité. Je tiens également à soulever la question essentielle de cet article, peux-t&#8217;on considérer un couple système d&#8217;exploitation et application de virtualisation en tant qu&#8217;hyperviseur ? A partir de quel seuil un couple OS/application de virtualisation peut-il être considéré en tant qu&#8217;hyperviseur ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nouvelle classification des types de virtualisation</title>
		<link>http://www.antoinebenkemoun.fr/2009/10/classification-des-types-de-virtualisation-mise-a-jour/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/10/classification-des-types-de-virtualisation-mise-a-jour/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 09:35:37 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Etudes]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Classification]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[TX]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=670</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion de proposer une classification des différents types de virtualisation lors d&#8217;un précédent article sur ce blog. Lors de ce précédent article, je m&#8217;étais attaché à classifier les solutions de virtualisation de systèmes d&#8217;exploitation. Je propose par le biais de cet article de re-préciser cette classification en y intégrant d&#8217;autres types de [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="tech-presentation-2" width="174" height="155" />J&#8217;ai déjà eu l&#8217;occasion de proposer une classification des différents types de virtualisation lors d&#8217;un <a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/">précédent article</a> sur ce blog. Lors de ce précédent article, je m&#8217;étais attaché à classifier les solutions de virtualisation de systèmes d&#8217;exploitation. Je propose par le biais de cet article de re-préciser cette classification en y intégrant d&#8217;autres types de virtualisation et en reprenant en partie le précédent.</p>
<p>Tout d&#8217;abord, il sera essentiel de s&#8217;interroger sur ce que nous allons virtualiser car il est possible de virtualiser bon nombre de composants applicatifs. J&#8217;utiliserais le terme de composant applicatif pour désigner tout ce qui n&#8217;est pas matériel. Ce terme inclura donc les systèmes d&#8217;exploitation en globalité ou en partie aussi bien que les applications spécifiques. Ensuite, je proposerais un arbre de classification complété par rapport à la première version de cet article. Je rappellerais au passage les appellations correspondantes aux différents types de virtualisation.</p>
<p><strong>Note : </strong>Cet article a été publié le 28 Octobre dans une version simplifiée sur le <a href="http://blogs.orange-business.com/virtualisation/2009/10/classification-des-solutions-de-virtualisation.html">blog Virtualisation</a> d&#8217;Orange Business ServiceS.</p>
<h3>On virtualise quoi ?</h3>
<p>Tout d&#8217;abord, il est essentiel de se poser la question « Que virtualise-t&#8217;on ? ». Il est possible de virtualiser beaucoup de choses de nos jours. Un début de liste comporterait des routeurs, des switchs, des applications, des systèmes d&#8217;exploitation, de l&#8217;espace disque et ainsi de suite.</p>
<p>Nous allons distinguer trois familles de virtualisation : réseaux, systèmes d&#8217;exploitation et processus. Ces trois types constitueront le premier étage de notre arbre de classification.</p>
<h3>On virtualise comment ?</h3>
<p>Nous avons donc effectué une première discrimination basée sur le composant applicatif que nous allons virtualiser afin d&#8217;établir le premier étage de notre arbre de classification. Nous allons ensuite établir le second étage de cet arbre.</p>
<p>Nous allons ensuite associer à chaque composant applicatif les différents types de virtualisation correspondants. En ce qui concerne les systèmes d&#8217;exploitation, nous ajouterons une distinction importante qui est la modification ou non du système d&#8217;exploitation invité. Un système d&#8217;exploitation invité est un système d&#8217;exploitation qui s&#8217;exécute par dessus une couche de virtualisation spécifique.</p>
<p>Voici donc l&#8217;arbre de classification que je propose :</p>
<p style="text-align: center;"><img class="size-full wp-image-677 aligncenter" title="schema_classification_small" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/10/schema_classification_small1.png" alt="schema_classification_small" width="483" height="226" /></p>
<p>Le premier type de virtualisation présent dans cet arbre est la virtualisation d&#8217;équipements réseaux. Il aurait été possible d&#8217;inclure la virtualisation de réseaux. Ceci a été exclu de cette classification car il ne s&#8217;agit que d&#8217;un mécanisme de commutation spécifique. Ce type de virtualisation permet de créer des environnements réseaux spécifiques et cloisonnés de bout en bout. Les solutions existantes dans ce domaine sont les produits <a href="http://www.cisco.com/en/US/products/ps9402/">Nexus</a> de Cisco et le futur <a href="http://www.chriswolf.com/?p=362">switch virtuel</a> de Citrix.</p>
<p>Dans la catégorie des systèmes d&#8217;exploitation, nous avons choisi de distinguer les systèmes d&#8217;exploitation modifiées et non modifiées. Les modifications en question sont les modifications du noyau nécessaire à l&#8217;exécution du système d&#8217;exploitation par dessus une couche de virtualisation spécifique.</p>
<p>La virtualisation de système d&#8217;exploitation modifiés est la paravirtualisation. Ce terme a tendance à être utilisé de nombreuses manières différentes. La paravirtualisation est la virtualisation de systèmes d&#8217;exploitation dont le noyau a été modifié pour communiquer avec la couche de virtualisation au lieu de communiquer avec le matériel physique. Pour résumer, la système d&#8217;exploitation va avoir conscience d&#8217;être virtualisé et sera adapté à cet effet. L&#8217;ajout de simple drivers spécifique n&#8217;implique pas forcément paravirtualisation. Les solutions existantes dans ce domaine sont les produits <a href="http://www.citrix.com/English/ps2/products/feature.asp?contentID=1686939">XenServer</a> de Citrix, <a href="http://www.sun.com/software/products/opscenter/">xVM</a> de Sun, <a href="http://www.xen.org">XenSource</a> voire <a href="http://www.microsoft.com/hyper-v-server/">Hyper-V</a> de Microsoft. VMWare commence à se lancer dans cette technologie prudemment. Si vous souhaitez en savoir plus sur la paravirtualisation, je vous laisse consulter l&#8217;article sur la <a href="http://www.antoinebenkemoun.fr/2009/08/la-paravirtualisation/">paravirtualisation</a>.</p>
<p>En ce qui concerne les systèmes d&#8217;exploitation non-modifiés, nous distinguerons deux types de virtualisation : la virtualisation totale et la virtualisation matériel assistée. La virtualisation totale est la virtualisation &laquo;&nbsp;primitive&nbsp;&raquo; qui consiste à émuler le matériel physique ainsi que son comportement. Il s&#8217;agit de l&#8217;approche la plus couteuse mais la plus simple à mettre en oeuvre. La virtualisation matériel assisté est une extension du principe de virtualisation totale. Cette extension se matérialise par l&#8217;utilisation des extensions processeur spécifiques à la virtualisation (AMD-V et Intel-VT). Ces extensions permettent d&#8217;accélérer la virtualisation par différents mécanismes. Les solutions utilisant cette technologie sont <a href="http://www.vmware.com">VMWare</a>, <a href="http://www.virtualbox.org/">Virtualbox</a> de Sun, <a href="http://www.microsoft.com/france/windows/xp/virtualpc/default.mspx">Virtual PC</a> de Microsoft, <a href="http://www.qemu.org/">QEMU</a> et bien d&#8217;autres.</p>
<p>Au niveau de la virtualisation de processus, nous retrouvons deux types de virtualisation : la virtualisation au niveau du système d&#8217;exploitation et la virtualisation d&#8217;application. La virtualisation au niveau du système d&#8217;exploitation consiste à faire croire à plusieurs jeux de processus qu&#8217;ils s&#8217;exécutent dans différents systèmes d&#8217;exploitation alors que ce n&#8217;est pas le cas. Les solutions utilisant cette technique sont les zones Solaris, les chroot Linux, les jails BSD, OpenVZ et bien d&#8217;autres. La virtualisation d&#8217;application consiste à livrer des applications non installées sur un poste par un serveur. Les solutions utilisant cette technique sont <a href="http://www.citrix.fr/Produits_et_Solutions/Produits/XenApp/">XenApp</a> de Citrix ou VMWare <a href="http://www.vmware.com/products/thinapp/">Thinapp</a>.</p>
<p>Au final, je pense que cette classification est plus complète que la précédente que j&#8217;avais eu l&#8217;occasion de présenter. Elle inclut notamment la virtualisation d&#8217;application et la virtualisation d&#8217;équipements réseaux. Cette classification reste une proposition et il est tout à fait possible de proposer une classification sous un autre angle.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/10/classification-des-types-de-virtualisation-mise-a-jour/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>La configuration réseau de Xen</title>
		<link>http://www.antoinebenkemoun.fr/2009/10/la-configuration-reseau-de-xen/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/10/la-configuration-reseau-de-xen/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 09:37:38 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=645</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion d&#8217;évoquer la spécificité de la configuration réseau dans le cadre d&#8217;une plateforme de virtualisation dans un précédent billet. Je vais traiter ici des différentes configuration réseau possible avec Xen. Bien que cet article s&#8217;attachera aux modes présents dans Xen, vous pourrez sans aucun doute retrouver dans d&#8217;autres solutions de virtualisation. Si [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai déjà eu l&#8217;occasion d&#8217;évoquer la spécificité de la configuration réseau dans le cadre d&#8217;une plateforme de virtualisation dans un <a href="http://www.antoinebenkemoun.fr/2009/07/la-veritable-integration-de-la-virtualisation-dans-le-reseau/">précédent billet</a>. Je vais traiter ici des différentes configuration réseau possible avec Xen. Bien que cet article s&#8217;attachera aux modes présents dans Xen, vous pourrez sans aucun doute retrouver dans d&#8217;autres solutions de virtualisation. Si vous souhaitez un rappel de la terminologie Xen qui sera utilisé ici, je vous invite à relire l&#8217;article sur la <a href="http://www.antoinebenkemoun.fr/2009/09/terminologie-xen/">terminologie</a>.</p>
<p>Les trois modes de configuration réseau dans Xen sont : bridge, route et NAT. En Français, nous aurons donc pont, routage et NAT. Ces trois modes répondent à différents besoins en terme de configuration réseau. Le premier critère de choix du mode réseau est la topologie logique du réseau existant. Les éléments de topologie vont inclure les VLAN ainsi que les différents réseaux IP.</p>
<h3>Le mode pont</h3>
<p style="text-align: center;"><img class="size-medium wp-image-647 aligncenter" title="RzoXen-Bridge" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/10/RzoXen-Bridge-300x274.jpg" alt="RzoXen-Bridge" width="300" height="274" /></p>
<p>Le schéma ci-dessus explique le fonctionnement du mode pont. Il s&#8217;agit du mode le plus simple agissant au niveau le plus bas. Les domU sont connectés au dom0 via des interfaces réseau virtuels. Le dom0 ne fait qu&#8217;une simple commutation en redirigeant les trames soit vers le bon domaine soit vers le reste du réseau.</p>
<p>L&#8217;avantage de ce mode est l&#8217;extrême simplicité de la configuration qui permet une transparence par rapport au reste de l&#8217;architecture. La configuration des domU est également simple et ne nécessite aucune particularité. Il est possible de superposer n&#8217;importe quelle configuration IP en utilisant ce mode. Vous remarquerez que ce mode ne prend pas en compte les VLAN nativement. Nous verrons ultérieurement une possibilité de fonctionnement de ce mode avec la prise en compte des VLAN via 802.1Q.</p>
<h3>Le mode routage</h3>
<p style="text-align: center;"><img class="size-medium wp-image-651 aligncenter" title="RzoXen-Route" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/10/RzoXen-Route-295x300.jpg" alt="RzoXen-Route" width="295" height="300" /></p>
<p>Le schéma ci-dessus explique le fonctionnement du mode routage. Il s&#8217;agit d&#8217;un mode assez peu utilisé. La raison de la faible utilisation de ce mode est lié au fort lien entre topologie physique et topologique logique. Je m&#8217;explique. Avec cette configuration, il est pratiquement impossible de migrer des machines virtuelles entre des machines physiques sans modification de routage.</p>
<p>Ce mode est cependant très utile dans le cadre d&#8217;un serveur OVH doté d&#8217;IP supplémentaires. Ceci est du au fait qu&#8217;une bonne partie des serveurs OVH ne supportent pas le mode pont pour un raison inconnue.</p>
<h3>Le mode NAT</h3>
<p style="text-align: center;"><img class="size-medium wp-image-654 aligncenter" title="RzoXen-NAT" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/10/RzoXen-NAT-295x300.jpg" alt="RzoXen-NAT" width="295" height="300" /></p>
<p>Le mode NAT est une évolution du mode routage. Vous avez toujours deux plages d&#8217;IP différentes de part et d&#8217;autre du dom0 mais les IP des domU ne seront pas visibles sur le réseau public.</p>
<p>Par défaut, ce mode permet un accès au réseau public par les domU mais pas d&#8217;accès dans le sens inverse. Vous pourrez mettre en place des accès dans le sens inverse en utilisant iptables.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/10/la-configuration-reseau-de-xen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>La paravirtualisation</title>
		<link>http://www.antoinebenkemoun.fr/2009/08/la-paravirtualisation/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/08/la-paravirtualisation/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 08:25:30 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Etudes]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=361</guid>
		<description><![CDATA[Je vais continuer et finir la série d&#8217;articles présentant les différents types de virtualisation. J&#8217;ai déjà eu l&#8217;occasion de proposer une classification des différents types de virtualisation et de parler de la virtualisation totale ainsi que de la virtualisation matérielle assistée. Je vais continuer en vous parlant de paravirtualisation. J&#8217;ai déjà eu l&#8217;occasion d&#8217;évoquer la [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="tech-presentation-2" width="157" height="140" />Je vais continuer et finir la série d&#8217;articles présentant les différents types de virtualisation. J&#8217;ai déjà eu l&#8217;occasion de proposer une <a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/">classification </a>des différents types de virtualisation et de parler de la <a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-la-virtualisation-totale/">virtualisation totale</a> ainsi que de la <a href="http://www.antoinebenkemoun.fr/2009/07/la-virtualisation-materiel-assistee/">virtualisation matérielle assistée</a>. Je vais continuer en vous parlant de paravirtualisation. J&#8217;ai déjà eu l&#8217;occasion d&#8217;évoquer la notion de paravirtualisation dans la <a href="http://www.antoinebenkemoun.fr/2009/06/cest-quoi-xen/">présentation de Xen</a> que j&#8217;avais faite il y a quelques temps.</p>
<p>L&#8217;idée de base des précédents types de virtualisation était de faire croire au système d&#8217;exploitation qu&#8217;il s&#8217;exécutait sur une machine physique alors que ce n&#8217;était pas le cas. Cette technique est la technique la plus évidente lorsqu&#8217;on essaye de virtualiser des systèmes d&#8217;exploitation principalement propriétaires ce qui est le cas de VMWare par exemple. Il s&#8217;agit d&#8217;une méthode qui permet de centraliser toutes les fonctionnalités de virtualisation dans un seul endroit, à savoir la couche de virtualisation. L&#8217;inconvénient de cette méthode est que la couche de virtualisation devient rapidement très lourde avec la quantité croissante du nombre de fonctionnalités à implémenter.</p>
<p>La paravirtualisation adopte une vision radicalement différente. Au lieu de chercher à faire croire aux systèmes d&#8217;exploitation qu&#8217;ils s&#8217;exécutent sur une machine physique, il est possible d&#8217;adapter le système d&#8217;exploitation à la couche de virtualisation. Ceci n&#8217;aurait bien évidemment pas été possible sans la présence de logiciels libres&#8230;</p>
<p><img class="aligncenter size-full wp-image-95" title="virtus" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/virtus.jpg" alt="virtus" width="476" height="219" /></p>
<p>La paravirtualisation vise donc à modifier les systèmes d&#8217;exploitation pour communiquer avec un hyperviseur au lieu de communiquer avec une machine physique. Sur ce blog, je parlerais d&#8217;hyperviseur au sens de <a href="http://www.xen.org">Xen</a> ou d&#8217;<a href="http://www.microsoft.com/windowsserver2008/en/us/hyperv.aspx">Hyper-V</a>. VMWare parle d&#8217;hyperviseur à tord et à travers mais il ne s&#8217;agit pas, selon moi, d&#8217;un vrai hyperviseur. En réalité, il s&#8217;agit d&#8217;un système d&#8217;exploitation hôte déguisé.</p>
<p>L&#8217;hyperviseur au sens de la paravirtualisation est en contact direct avec le matériel physique. Il est l&#8217;intermédiaire exclusif entre le matériel et les systèmes d&#8217;exploitation. Lorsqu&#8217;on se trouve donc dans un système de paravirtualisation, il n&#8217;y a plus de notion de système d&#8217;exploitation invité et de système d&#8217;exploitation hôte. Tous les systèmes d&#8217;exploitation sont virtualisés dans le sens où ils disposent d&#8217;un noyau adaptés à la couche de virtualisation. Tous les systèmes d&#8217;exploitation ne seront pas égaux pour autant, il est possible de donner des accès spécifiques à différents systèmes d&#8217;exploitation.</p>
<p>Les systèmes d&#8217;exploitation communiquent avec l&#8217;hyperviseur via des <a href="http://fr.wikipedia.org/wiki/Interface_de_programmation">API</a> de communication. Ces API de communication remplacent les traditionnels appels systèmes. Chaque couche de virtualisation dispose donc de sa propre API. Pour adapter un système d&#8217;exploitation à un hyperviseur, il faut donc intégrer son API au noyau. Cela explique en partie le <a href="http://www.theregister.co.uk/2009/07/23/microsoft_hyperv_gpl_violation/">passage en GPL</a> des pilotes Hyper-V de Microsoft.</p>
<p>Au final, la paravirtualisation est une technique particulièrement innovante qui présente une approche plus efficace de la virtualisation. Les avantages de cette technique sont une perte de performance largement réduite par rapport à une virtualisation totale. L&#8217;inconvénient majeur est qu&#8217;il est nécessaire d&#8217;adapter les systèmes d&#8217;exploitation pour chaque couche de virtualisation. Afin de résoudre ce problème, il est possible de coupler paravirtualisation et virtualisation matérielle assistée comme dans Xen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/08/la-paravirtualisation/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>La virtualisation matériel assistée</title>
		<link>http://www.antoinebenkemoun.fr/2009/07/la-virtualisation-materiel-assistee/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/07/la-virtualisation-materiel-assistee/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 18:02:00 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Etudes]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=293</guid>
		<description><![CDATA[Je vais continuer dans la suite logique des billets précédents. Pour rappel, j&#8217;ai précédemment parlé de l&#8217;intérêt de la virtualisation, proposé une classification des différents types de virtualisation et puis expliqué plus en détail la virtualisation totale. Je vais donc continuer cette série d&#8217;article en vous parlant de virtualisation matériel assistée. Tout d&#8217;abord, le terme [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="tech-presentation-2" width="157" height="140" />Je vais continuer dans la suite logique des billets précédents. Pour rappel, j&#8217;ai précédemment parlé de l&#8217;<a href="http://www.antoinebenkemoun.fr/2009/07/linteret-de-la-virtualisation/">intérêt de la virtualisation</a>, proposé une <a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/">classification</a> des différents types de virtualisation et puis expliqué plus en détail <a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-la-virtualisation-totale/">la virtualisation totale</a>. Je vais donc continuer cette série d&#8217;article en vous parlant de virtualisation matériel assistée.</p>
<p>Tout d&#8217;abord, le terme de virtualisation matériel assistée semble assez explicite. On comprend bien qu&#8217;il s&#8217;agit de virtualisation qui va être assistée par une fonctionnalité spécifique du matériel. Les détails du fonctionnement de cette technologie le sont cependant bien moins. Ce terme est une traduction de l&#8217;anglais &laquo;&nbsp;Hardware Assisted Virtualization&nbsp;&raquo;. On peut aussi trouver comme autre traduction &laquo;&nbsp;virtualisation assistée par matériel&nbsp;&raquo;. Tous ces termes sont cependant équivalents. Cependant, la virtualisation partielle n&#8217;a aucun rapport.</p>
<p style="text-align: center;"><img class="size-medium wp-image-302  aligncenter" title="HAV" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/Image-1-300x234.png" alt="HAV" width="240" height="187" /></p>
<p style="text-align: left;">Comme vous pouvez le voir, le schéma d&#8217;architecture ne change que très peu par rapport à la virtualisation totale. Avec la virtualisation totale, nous parlions de couche logicielle de virtualisation alors que parlerons plutôt de &laquo;&nbsp;Virtual Machine Monitor&nbsp;&raquo; ou VMM dans le cas de la virtualisation matériel assistée.</p>
<h3>Une extension du jeu d&#8217;instructions du processeur</h3>
<p>Ensuite, il est important de préciser que la virtualisation matériel assistée n&#8217;est pas une technique à part entière. Il s&#8217;agit en réalité d&#8217;une extension du principe de virtualisation totale. La principale modification qui est apportée est l&#8217;ajout d&#8217;extensions processeur de virtualisation. Vous en avez surement entendu parlé, je parle bien d&#8217;Intel VT et d&#8217;AMD-V. Ces instructions ont été implémentées dans les processeurs afin de pouvoir améliorer la virtualisation totale. Ces instructions sont une extension du jeu d&#8217;instructions exécutables par le processeur similairement à <a href="http://fr.wikipedia.org/wiki/Streaming_SIMD_Extensions">SSE</a> ou <a href="http://fr.wikipedia.org/wiki/MMX_%28processeur%29">MMX</a>.</p>
<p>Ces instructions apportent plusieurs améliorations. Tout d&#8217;abord, elles créent un <a href="http://fr.wikipedia.org/wiki/Ring_%28informatique%29">anneau</a> -1 qui sera l&#8217;endroit privilégié de l&#8217;exécution d&#8217;un hyperviseur. Ceci permet de garder la localisation traditionnelle des anneaux avec le système d&#8217;exploitation présent dans l&#8217;anneau 0 et les applications dans l&#8217;anneau 3. Les autres ne sont jamais utilisé à l&#8217;exception de quelques rares cas. J&#8217;aurais l&#8217;occasion de revenir plus tard sur la notion d&#8217;anneau. Le placement du système d&#8217;exploitation dans son anneau traditionnel permet de simplifier l&#8217;accès à certains instructions et donc de supprimer une partie du travail de la couche de virtualisation.</p>
<p>De plus, elles permettent aux machines virtuelles de gérer leurs propres <a href="http://fr.wikipedia.org/wiki/Interruption_%28informatique%29">interruptions</a> et donc changements de contexte. Ceci évite à la couche logicielle de virtualisation de devoir les gérer. Egalement, elles permettent au matériel de gérer directement  les zones de mémoire vive (non forcément linéaires) disponibles au machines virtuelles. Sans les extensions, il était nécessaire que la couche de virtualisation émule et gère des zones.</p>
<p>Si vous souhaitez plus d&#8217;informations sur ces instructions, je vous invite à consulter la documentation d&#8217;Intel disponible <a href="http://www.intel.com/technology/itj/2006/v10i3/1-hardware/6-vt-x-vt-i-solutions.htm">ici</a> ou <a href="http://download.intel.com/technology/itj/2006/v10i3/v10-i3-art01.pdf">ici</a>.</p>
<p>Au final, les extensions processeur de virtualisation permettent d&#8217;améliorer la technique de la virtualisation totale. Ceci se fait par l&#8217;ajout d&#8217;un degré d&#8217;intelligence au niveau du matériel qui sera conscient de l&#8217;utilisation d&#8217;une couche de virtualisation. La virtualisation matériel assistée est donc une évolution du principe de virtualisation totale.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/07/la-virtualisation-materiel-assistee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les différents types de virtualisation : La virtualisation totale</title>
		<link>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-la-virtualisation-totale/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-la-virtualisation-totale/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 12:39:03 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Etudes]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=254</guid>
		<description><![CDATA[Dans l&#8217;article précédent, j&#8217;ai proposé une classification des différents types de virtualisation de systèmes d&#8217;exploitation basée sur différents critères. Je vais continuer cette série d&#8217;articles en vous présentant la virtualisation totale qui est le type de virtualisation le plus répandu historiquement. La virtualisation totale consiste à émuler l&#8217;intégrité d&#8217;une machine physique. Pour rappel, l&#8217;émulation est [...]]]></description>
			<content:encoded><![CDATA[<p>Dans l&#8217;<a href="http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/">article précédent</a>, j&#8217;ai proposé une classification des différents types de virtualisation de systèmes d&#8217;exploitation basée sur différents critères. Je vais continuer cette série d&#8217;articles en vous présentant la virtualisation totale qui est le type de virtualisation le plus répandu historiquement.</p>
<p>La virtualisation totale consiste à émuler l&#8217;intégrité d&#8217;une machine physique. Pour rappel, l&#8217;émulation est le principe qui consiste à remplacer un composant matériel par une application dont le comportement est similaire voire identique. Le cas le plus classique d&#8217;émulation est l&#8217;émulation de vieilles consoles de jeux telles que la <a href="http://fr.wikipedia.org/wiki/Super_Nintendo">Super Nintendo</a> ou la <a href="http://fr.wikipedia.org/wiki/Game_boy">Game Boy</a>. L&#8217;objectif de la virtualisation totale est donc de faire croire au système d&#8217;exploitation invité qu&#8217;il est présent sur du matériel physique et non au dessus d&#8217;une couche applicative.</p>
<p>Il s&#8217;agit de l&#8217;approche la plus basique en terme de virtualisation : &laquo;&nbsp;On ne peut pas avoir du matériel physique du coup on va le remplacer par une application&nbsp;&raquo;. Il s&#8217;agit de la première approche qui a été adoptée par <a href="http://fr.wikipedia.org/wiki/VMWARE">VMWare </a>en 1999 lors de sa création.</p>
<p style="text-align: center;"><img class="size-full wp-image-258  aligncenter" title="Virtualisation Totale" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/virtutotale.jpg" alt="Virtualisation Totale" width="269" height="202" /></p>
<p>Comme présenté dans le schéma, la base installée sur le matériel est un système d&#8217;exploitation classique. Tous les systèmes d&#8217;exploitation, à ma connaissance, sont capables d&#8217;exécuter une application de virtualisation totale. Ceci est lié à la simplicité de son fonctionnement. La &laquo;&nbsp;Couche Logicielle&nbsp;&raquo; évoquée dans le schéma est une application telle que VMWare ou <a href="http://fr.wikipedia.org/wiki/Virtualbox">VirtualBox </a>qui s&#8217;exécute comme toute autre application. Cette couche logicielle va ensuite émuler autant de matériel qu&#8217;il y a de machines virtuelles.</p>
<p>Certains vendeurs telles que VMWare vendent des solutions de virtualisation nommées &laquo;&nbsp;Bare Metal Hypervisor&nbsp;&raquo;. Cependant ce que VMWare appelle hyperviseur n&#8217;est absolument pas un hyperviseur au sens de Xen. Il s&#8217;agit en réalité d&#8217;un Linux <a href="http://fr.wikipedia.org/wiki/Red_Hat_Enterprise_Linux">Red Hat</a> customisé.</p>
<p>L&#8217;inconvénient de la virtualisation totale est la performance. Il est nécessaire d&#8217;émuler de nombreux composants physiques et de capter toutes les instructions émanants des machines virtuelles ce qui consomme beaucoup de ressources. Des tests montrent de pertes de performance de l&#8217;ordre de 20% à 80%. Il est possible d&#8217;améliorer significativement les performances en ajoutant des pilotes de paravirtualisation qui permettent un meilleur interfacage avec la couche logicielle sous-jacente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-la-virtualisation-totale/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les différents types de virtualisation : Classification</title>
		<link>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 13:00:51 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Etudes]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Classification]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Types]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=236</guid>
		<description><![CDATA[Après avoir vu l&#8217;intérêt de la virtualisation, je vais pouvoir vous présenter les différents types de virtualisation qui existent aujourd&#8217;hui sur le marché. Ces billets sur la virtualisation reprennent le contenu de l&#8217;AC (avec Romain Hinfray) et de la TX (avec Julie Facon). Je ferais des retours vers ces deux projets en synthétisant le contenu [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-225" title="tech-presentation-2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif" alt="tech-presentation-2" width="162" height="145" />Après avoir vu l&#8217;<a href="http://www.antoinebenkemoun.fr/2009/07/linteret-de-la-virtualisation/">intérêt de la virtualisation</a>, je vais pouvoir vous présenter les différents types de virtualisation qui existent aujourd&#8217;hui sur le marché. Ces billets sur la virtualisation reprennent le contenu de l&#8217;<a href="http://www.antoinebenkemoun.fr/projets-xen/">AC </a>(avec Romain Hinfray) et de la <a href="http://www.antoinebenkemoun.fr/2009/06/tx-etude-de-la-virtualisation-reseau-et-cloisonnement/">TX</a> (avec Julie Facon). Je ferais des retours vers ces deux projets en synthétisant le contenu car ca fait trop long pour un blog.</p>
<p>Vous avez surement entendu parler de très nombreux types de virtualisation avec un panel de noms au moins aussi nombreux. Au début, on a tendance à rapidement s&#8217;y perdre. Je vais donc essayer dans cet article proposer une classification de la virtualisation qui est celle que nous avons proposé lors de l&#8217;AC.</p>
<h3>On virtualise quoi ?</h3>
<p>Tout d&#8217;abord, il est essentiel de se poser la question &laquo;&nbsp;Qu&#8217;est ce qu&#8217;on virtualise ?&nbsp;&raquo;. Il est possible de virtualiser beaucoup de choses de nos jours. Un début de liste comporterait des routeurs, des switchs, des applications, des systèmes d&#8217;exploitation, de l&#8217;espace disque et ainsi de suite. La virtualisation de routeurs et de switchs se fait notamment par les <a href="http://en.wikipedia.org/wiki/VRF">VRF</a> dans les IOS Cisco ou bien des applications telles que Nexus de Cisco (switchs virtuels pour VMWare).</p>
<p>La virtualisation d&#8217;application est également un secteur important du marché même si il est peu connu car il n&#8217;existe pas, à ma connaissance, d&#8217;application libre sur ce secteur. Pour vous illustrer le principe, avec la virtualisation d&#8217;application vous pouvez vous connecter sur un portail, cliquer sur l&#8217;application de votre choix et elle s&#8217;exécute en quelques secondes sans être installé sur votre poste. Je ne sais pas comment ca fonctionne mais c&#8217;est assez impressionnant à voir. Un exemple d&#8217;implémentation de cette technologie est <a href="http://www.citrix.fr/Produits_et_Solutions/Produits/XenApp/">Citrix XenApp</a> (pas grand chose à voir avec Xen a priori).</p>
<p>Ce dont je vais essentiellement parler, c&#8217;est la virtualisation de système d&#8217;exploitation. C&#8217;est le type de virtualisation généralement le plus connu. Le but de ce type de virtualisation est d&#8217;exécuter simultanément plusieurs systèmes d&#8217;exploitation sur une même machine physique. Les exemples d&#8217;implémentation ne manquent pas : <a href="http://xen.org/">Xen</a>, <a href="http://www.vmware.com/fr/">VMWare</a>, <a href="http://fr.wikipedia.org/wiki/Kernel-based_Virtual_Machine">KVM</a>, <a href="http://www.microsoft.com/france/serveur/windowsserver/windowsserverhyper-v.mspx">Hyper-V</a>, &#8230;</p>
<h3>On virtualise comment ?</h3>
<p>Nous allons nous intéresser plus particulièrement à la virtualisation de systèmes d&#8217;exploitation. Je vous propose tout d&#8217;abord un arbre qui résume bien les différents types de virtualisation. Une fois de plus, il s&#8217;agit d&#8217;une proposition de classification, il en existe surement plein d&#8217;autres.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-241" title="Classification" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/Classification.jpg" alt="Classification" width="378" height="189" /></p>
<p>Comme on le voit dans le schéma, la première distinction qui est faite est la distinction entre virtualisation de systèmes d&#8217;exploitation et virtualisation de processus. Il y a une différence fondamentale entre exécuter un système d&#8217;exploitation complet et effectuer un cloisonnement de processus. Des exemples de virtualisation de processus sont OpenVZ, les jails BSD ou encore les zones Solaris.</p>
<p>Dans la virtualisation de systèmes, nous avons distingué à nouveau deux catégories : les systèmes modifiés et les systèmes non modifiées. Cette distinction est également essentielle car elle va régir tout le fonctionnement de la virtualisation. Dans le cas de systèmes modifiées, le système d&#8217;exploitation va avoir &laquo;&nbsp;conscience&nbsp;&raquo; d&#8217;être présent au dessus d&#8217;une couche de virtualisation et va travailler efficacement avec cette dernière. Dans le cas de systèmes non modifiés, la couche de virtualisation va faire tout son possible pour faire croire au système d&#8217;exploitation qu&#8217;il est présent sur du matériel physique.</p>
<p>Dans la catégorie des systèmes modifiés, on va retrouver la paravirtualisation. La paravirtualisation est le type de virtualisation inventé par le projet Xen. Ce type de virtualisation a été rendu possible grâce aux logiciels libres car il a été possible de modifier et d&#8217;adapter le noyau Linux ou BSD ou Solaris. Microsoft a mis en pratique cette méthode avec son produit Hyper-V intégré à Windows Server 2008.</p>
<p>Dans la catégorie des systèmes non modifiées, on va retrouver la virtualisation totale et la virtualisation matérielle assistée. Cette dernière n&#8217;est qu&#8217;une amélioration de la virtualisation totale grâce aux extensions processeurs AMD-V et Intel VT.  Ce type de virtualisation est le type de virtualisation le plus utilisé grâce à la simplicité de fonctionnement des applications et à la puissance des outils d&#8217;administration existants. On retrouve dans cette catégorie VMWare, VirtualBox et Virtual PC entre autres.</p>
<p>Pour conclure et mettre une nuance à cette classification, il est possible de mélanger les types de virtualisation, je m&#8217;explique. Il est possible, par exemple, dans un système d&#8217;exploitation fonctionnant en virtualisation matérielle assistée de rajouter des pilotes de paravirtualisation afin d&#8217;améliorer les performances ou d&#8217;ajouter une fonctionnalité.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/07/les-differents-types-de-virtualisation-classification/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

