<?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; Xen</title>
	<atom:link href="http://www.antoinebenkemoun.fr/tag/xen/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>La sécurité de la virtualisation : vulnérabilités</title>
		<link>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 15:42:08 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1245</guid>
		<description><![CDATA[Je sais, je sais ! Le précédent article est intitulé &#171;&#160;La sécurité de la virtualisation : suite et fin&#160;&#187; induisant donc la fin de cette série de billets. Ce ne sera cependant pas le cas. Je souhaiterai aller un peu plus loin sur ce sujet particulièrement intéressant qu&#8217;est la sécurité des systèmes de virtualisation. Depuis [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><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="" width="157" height="140" /></a>Je sais, je sais ! Le précédent article est intitulé &laquo;&nbsp;<a href="http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/">La sécurité de la virtualisation : suite et fin</a>&nbsp;&raquo; induisant donc la fin de cette série de billets. Ce ne sera cependant pas le cas. Je souhaiterai aller un peu plus loin sur ce sujet particulièrement intéressant qu&#8217;est la sécurité des systèmes de virtualisation. Depuis mon retour de vacances, j&#8217;ai eu l&#8217;occasion de lire divers documents très intéressants à ce sujet et d&#8217;y réfléchir longuement.</p>
<p style="text-align: left;">Dans les billets précédents, l&#8217;objectif avait été de proposer quelques ajustements vis à vis de la conférence sur la sécurité de la virtualisation lors de la <a href="http://www.nuitduhack.com/">Nuit de Hack</a>. Ces articles s&#8217;étaient donc voulus plutôt rassurants cependant il est nécessaire de mitiger ce portrait. Les risques liés à la sécurité de la virtualisation existent bien. Affirmer le contraire serait au mieux une vulgaire erreur.</p>
<p>Nous allons aujourd&#8217;hui nous intéresser aux vulnérabilités qui ont déjà été trouvées dans des produits de virtualisation et leurs implications.</p>
<h3><strong>Xen</strong></h3>
<p>Nous allons premièrement nous intéresser au produit Xen open source. Le produit Citrix est un produit hybride s&#8217;inspirant largement du produit open source mais disposant de nombreuses modifications qui dépassent le périmètre de ce dernier. La conception de Xen se veut sécurisée par le biais, notamment, de l&#8217;utilisation des différents <a href="http://www.antoinebenkemoun.fr/2009/08/les-anneaux-de-protection/">anneaux de protection système</a>. Son histoire n&#8217;est cependant pas exempte de vulnérabilités.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.50.png"><img class="size-full wp-image-1258 aligncenter" title="Capture d’écran 2010-08-04 à 17.51.50" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.50.png" alt="" width="368" height="65" /></a></p>
<p>La plus grosse vulnérabilité de Xen date de Septembre 2007. Il s&#8217;agissait d&#8217;une faille qui permettait à un domU d&#8217;exécuter des commandes dans le dom0 lors de l&#8217;utilisation de l&#8217;outil pygrub. L&#8217;outil pygrub permet à un domU de disposer d&#8217;un bootloader similaire à celui que l&#8217;on peut trouver sur une machine physique classique. Cette faille est extrêmement problématique dans la mesure où le dom0 est un domaine exceptionnellement sensible qui dispose de très nombreuses interactions directes avec le matériel et l&#8217;hyperviseur. Vous pourrez trouver plus d&#8217;informations sur cette faille sur l&#8217;<a href="http://osvdb.org/show/osvdb/41340">OSVDB</a>.</p>
<p>D&#8217;autres vulnérabilités ont été trouvées dans Xen permettant à un domU de sortir de son isolation. La plupart de ces failles nécessitent des conditions très particulières afin d&#8217;être exploitables ou ne permettent au mieux qu&#8217;un DoS local. La liste des failles est disponible sur l&#8217;<a href="http://osvdb.org/search?search[vuln_title]=xen&amp;search[text_type]=alltext">OSVDB</a>.</p>
<h3>VMWare</h3>
<p>Nous allons ensuite nous intéresser au produit VMWare. La <a href="http://osvdb.org/search?search[vuln_title]=vmware&amp;search[text_type]=titles">liste des vulnérabilités</a> pour ce produit est nettement plus longue avec un net pic en 2008. Le plus grand nombre de vulnérabilités s&#8217;explique surement en partie par la grande étendue des produits VMWare qui incluent aussi bien l&#8217;hyperviseur que tous les outils de gestion associés (Virtual Center, Service Console, &#8230;).</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.41.png"><img class="size-full wp-image-1259 aligncenter" title="Capture d’écran 2010-08-04 à 17.51.41" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/08/Capture-d’écran-2010-08-04-à-17.51.41.png" alt="" width="368" height="115" /></a></p>
<p>Parmi toutes ces vulnérabilités, on en recense 4 qui permettent une violation de l&#8217;isolation des machines virtuelles. Ces élévations de privilèges se font à travers les VMWare Tools quant il s&#8217;agit de machines virtuelles ou à travers les produits connexes à l&#8217;hyperviseurs.</p>
<h3>Conclusion</h3>
<p>Les produits de virtualisation ne sont clairement pas exempts de vulnérabilités quoi que l&#8217;on puisse dire. L&#8217;impact d&#8217;une vulnérabilité sur une plateforme de virtualisation sera largement plus important par rapport à une architecture classique. Il est cependant nécessaire de nuancer ces propos. De nombreuses mesures sont prises afin d&#8217;éviter que ces vulnérabilités puissent avoir un impact quelconque sur le reste de la plateforme. De plus jusqu&#8217;à présent, l&#8217;impact des failles de sécurité est relativement minime et leur fréquence plutôt faible. Il convient donc de rester vigilant aux évolutions des plateformes de virtualisation en matière de sécurité.</p>
<p>Pour en savoir plus, je vous conseille la <a href="http://www.hsc.fr/ressources/presentations/clusif-virtualisation/index.html.fr">présentation de Julien Raeis et Nicolas Collignon</a> à ce sujet. Les deux tableaux récapitulatifs présents dans cet article sont extraits de cette présentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/08/la-securite-de-la-virtualisation-vulnerabilites/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation : suite et fin</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 22:01:53 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1223</guid>
		<description><![CDATA[Cet article complète le précédent sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite. La sécurisation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><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="" width="157" height="140" /></a>Cet article complète le <a href="http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/">précédent</a> sur le sujet de la sécurité de la virtualisation en abordant l&#8217;aspect réseau de stockage et essaye de présenter les risques réels de sécurité des plateformes de virtualisation. Il s&#8217;agira également du dernier billet sur ce sujet bien que je compte revenir sur ce sujet par la suite.</p>
<h3>La sécurisation du stockage</h3>
<p>La virtualisation n&#8217;ajoute pas de risque particulier à partir du moment où l&#8217;on suppose que l&#8217;attaquant dispose d&#8217;un accès physique aux données. Ce type d&#8217;exploit est donc uniquement inhérent au stockage sur disque.</p>
<p>Les réseaux de stockage en Fibrechannel n&#8217;ajoutent également pas de risque particulier. Seul les hyperviseurs ont accès aux supports de stockage distribués par le réseau de stockage. De plus, il est possible de gérer finement les accès aux différents supports de disque par les biais des techniques de &laquo;&nbsp;zoning&nbsp;&raquo;. Le zoning est une technique équivalente aux &laquo;&nbsp;Private VLAN&nbsp;&raquo; de Cisco dans le cas des réseaux Ethernet.</p>
<p>Contrairement à ce qui a été présenté Samedi dernier, la connexion des équipements Fibrechannel au réseau Ethernet n&#8217;ouvre pas de faille supplémentaire. Il n&#8217;est pas possible d&#8217;utiliser cette interface pour accéder aux données transitant sur le réseau de stockage. L&#8217;interface Ethernet permet uniquement d&#8217;accéder aux informations de configuration du commutateur.</p>
<p>Supposons qu&#8217;il soit possible d&#8217;accéder aux données transitant sur le réseau Fibrechannel par le biais de cette interface Ethernet. Toute tentative de spoofing d&#8217;adresse MAC serait parfaitement inutile car les réseaux Fibrechannel n&#8217;utilisent pas d&#8217;adresses MAC mais des WWN qui n&#8217;ont rien à voir. Les protocoles de communication sont différents et ne sont pas compatibles.</p>
<p>Cette problématique est cependant intéressante dans le cas des réseaux iSCSI qui n&#8217;ont même pas été mentionnés. Il n&#8217;est absolument pas souhaitable que les LAN iSCSI soient routables vers d&#8217;autres réseaux. Il est même recommandé d&#8217;avoir des équipements uniquement dédiés aux fonctionnalités iSCSI dans la mesure du possible.</p>
<h3>Récapitulons&#8230;</h3>
<p>Les potentielles interfaces d&#8217;attaque vers les hyperviseurs sont très peu nombreuses. Dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, ces interfaces sont même inexistantes. Dans le cas des interfaces de paravirtualisation, leur utilisation est standardisée par le biais d&#8217;API mais la découverte de failles reste envisageable bien qu&#8217;aucune n&#8217;ait été trouvée à ce jour.</p>
<p>Les mécanismes de DoS sont régulés voire supprimés par les mécanismes classiques d&#8217;ordonnancement présents dans toutes les solutions de virtualisation.</p>
<h3>Quels sont les risques ?</h3>
<p>Les risques réels de sécurité inhérents aux plateformes de virtualisation se situent, d&#8217;une part, au niveau des interface de gestion. Les interfaces de gestion ne sont pas propres à la virtualisation mais leur utilisation dans ce cas particulier est généralisé.</p>
<p>L&#8217;accès aux interfaces de gestion doivent être sécurisés par les mécanismes réseau traditionnels ainsi que par le biais de méthodes d&#8217;authentification. Dans le cas d&#8217;une compromission de ces interfaces, les données  et l&#8217;accès aux machines virtuelles reste indemne. Les interfaces ne disposent généralement pas d&#8217;accès particulier aux données, elles disposent uniquement d&#8217;une vue globale permettant la configuration des supports de stockage. En ce qui concerne l&#8217;accès aux VM, il reste protégé par les protections classiques telles que le couple login et mot de passe. Le passage dans des modes plus privilégiés attireraient inévitablement l&#8217;attention car cela nécessiterait des redémarrages non planifiés.</p>
<h3>Conclusion</h3>
<p>Traditionnellement, on considère qu&#8217;une technologie est sécurisée jusqu&#8217;à preuve du contraire. Il n&#8217;est pas utile de céder au sensationnalisme en décriant des potentielles failles qui n&#8217;ont pas été découvertes et qui n&#8217;ont jamais été exploitées (dans le cas de Xen).</p>
<p>Si nous suivons cette supposition traditionnelle, nous pouvons affirmer que la virtualisation est une technologie sécurisée. Comme toute technologie informatique, il est nécessaire d&#8217;être vigilant lors de son implémentation en suivant quelques règles de bon sens.</p>
<p>Pour revenir au sujet de la présentation effectué lors de la nuit du hack, j&#8217;ai été largement déçu par cette présentation aux conclusions au mieux hâtives et des nombreuses autres imprécisions que je n&#8217;ai pas évoqué ici.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-suite-et-fin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>La sécurité de la virtualisation</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 14:05:57 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1214</guid>
		<description><![CDATA[Ce weekend avait lieu la Nuit du Hack 2010. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3. Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/07/tech-presentation-2.gif"><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="" width="157" height="140" /></a>Ce weekend avait lieu la <a href="http://www.nuitduhack.com/">Nuit du Hack 2010</a>. Il s&#8217;agit d&#8217;un événement orienté vers tous les types de hacking. De nombreuses conférences étaient proposées au public venu pour l&#8217;occasion avec notamment une présentation du hacking de l&#8217;iPhone et de la PS3.</p>
<p>Une présentation a particulièrement attiré mon attention mais pas pour de bonnes raisons. En fin de soirée avait lieu une conférence intitulé &laquo;&nbsp;Virtualisation et sécurité&nbsp;&raquo;. J&#8217;attendais donc avec impatience cette conférence. Autant dire que cela a été une grande déception. Le sujet était traité d&#8217;un point de vue beaucoup trop global mais, surtout, les informations soutenues étaient plus que discutables.</p>
<p>Je vais donc profiter de cette espace pour tenter d&#8217;éclaircir certains points par rapport à la sécurité de la virtualisation.</p>
<h3>Classification</h3>
<p>Avant de plonger dans l&#8217;étude à proprement dit de la sécurité dans la virtualisation, il est intéressant de se replonger dans la classification des solutions. Lors de la présentation, il avait été différencié les types de virtualisation suivants : &laquo;&nbsp;full virtualisation&nbsp;&raquo;, &laquo;&nbsp;paravirtualisation&nbsp;&raquo; et &laquo;&nbsp;hyperviseurs&nbsp;&raquo;.</p>
<p>Un hyperviseur n&#8217;est pas un type de virtualisation mais une application qui peut effectuer de la virtualisation. Il est possible de les classifier selon deux catégories bien que cette division <a href="http://www.antoinebenkemoun.fr/2009/10/de-la-differenciation-hyperviseur-type-1-type-2/">ne me plaise pas</a> particulièrement.</p>
<h3>La sécurisation de l&#8217;hyperviseur : DoS &amp; DDoS</h3>
<p>Lors de la présentation, le DoS (Denial of Service) et le DDoS (Distributed Denial of Service) ont été désignés comme des solutions simples et efficaces de neutraliser une plateforme de virtualisation.</p>
<p>Dans le cas de Xen, il est pratiquement impossible de communiquer avec l&#8217;hyperviseur. Il ne faut bien sur par confondre hyperviseur et domaine 0 (ou console de gestion dans le cas de VMWare). L&#8217;attaque DoS est donc difficile à imaginer dès le départ. L&#8217;interface de communication avec l&#8217;hyperviseur dont nous disposons est l&#8217;API des hypercalls, remplaçants des appels systèmes classiques dans le cas de la paravirtualisation.</p>
<p>L&#8217;utilisation des ces hypercalls est limitée par les algorithmes d&#8217;ordonnancement système ce qui empêche une utilisation abusive. Il s&#8217;agit du même mécanisme que celui utilisé pour le partage des ressources physiques. Le DoS semble donc impossible par ce biais.</p>
<p>Les outils d&#8217;administration sont également un potentiel point d&#8217;entrée supplémentaire. Ces outils ne sont accessibles qu&#8217;à partir du domaine 0 qui peut difficilement être considéré en tant que VM comme les autres. Un attaque DoS sur le domaine 0 rendrait les mêmes résultats qu&#8217;une attaque DoS sur les autres machines virtuelles étant donné les mécanismes d&#8217;ordonnancement.</p>
<p>La communication avec l&#8217;hyperviseur n&#8217;étant possible que par ces interfaces, il parait impossible d&#8217;y effectuer une attaque DoS capable d&#8217;atteindre toutes les machines virtuelles de la plateforme.</p>
<h3>La sécurisation de l&#8217;hyperviseur : cloisonnement</h3>
<p>Le cloisonnement des machines virtuelles est bien sûr une caractéristique élémentaire d&#8217;une plateforme de virtualisation. Contrairement à ce qui a été dit, l&#8217;hyperviseur n&#8217;a pas &laquo;&nbsp;la main&nbsp;&raquo; sur les machines virtuelles. Il a simplement la possibilité de les éteindre, de les démarrer ou de les mettre en pause. Ni plus, ni moins.</p>
<p>Le cloisonnement est géré par la restriction des accès mémoire. Les hyperviseurs ont été spécifiquement prévus afin d&#8217;éviter un débordement des accès vers la mémoire. Le seul vecteur d&#8217;exploitation de ce type de faille est les hypercalls dans le cas de Xen. A ce jour aucune faille connu permet d&#8217;accéder à des zones mémoires non autorisées.</p>
<p>De plus dans le cas de la virtualisation totale et de la virtualisation matérielle assistée, les machines virtuelles ne disposent même pas d&#8217;interface spécifique avec l&#8217;hyperviseur ce qui rend pratiquement impraticable de ce type de vulnérabilité.</p>
<p>Les risques d&#8217;erreur de cloisonnement ne sont pas inexistants bien entendu cependant il ne faut pas perdre de vue qu&#8217;il s&#8217;agit de l&#8217;objectif même de la conception de l&#8217;hyperviseur et que les machines virtuelles disposent de très peu ou aucune interface de communication avec l&#8217;hyperviseur afin de l&#8217;induire en erreur.</p>
<p>Dans le prochain (et dernier épisode), nous étudierons les autres points abordés lors de la présentation et les risques réels associés à la virtualisation. Loin de moi l&#8217;idée de prêcher la sécurisation totale de la virtualisation, je pense cependant qu&#8217;il est très facile et réducteur d&#8217;agiter des menaces sans fondement pratique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/la-securite-de-la-virtualisation-erratum/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installation de Xen 4.0 sur Debian Lenny</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/#comments</comments>
		<pubDate>Tue, 04 May 2010 15:08:21 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1108</guid>
		<description><![CDATA[Les tutoriels d&#8217;installation ne sont pas forcément les plus intéressants à blogger et j&#8217;en ai fait très peu pour cette raison. J&#8217;avais déjà parlé de l&#8217;installation de Xen 3.2.1 sur Debian Lenny. Au moment où j&#8217;ai écrit ce billet, cette version commençait à être relativement vieillissante. Je vais donc traiter aujourd&#8217;hui de l&#8217;installation de Xen [...]]]></description>
			<content:encoded><![CDATA[<p>Les tutoriels d&#8217;installation ne sont pas forcément les plus intéressants à blogger et j&#8217;en ai fait très peu pour cette raison. J&#8217;avais déjà parlé de l&#8217;<a href="http://www.antoinebenkemoun.fr/2009/09/installation-de-xen-sur-debian-lenny/">installation de Xen 3.2.1</a> sur Debian Lenny. Au moment où j&#8217;ai écrit ce billet, cette version commençait à être relativement vieillissante. Je vais donc traiter aujourd&#8217;hui de l&#8217;installation de Xen 4.0.</p>
<h3>Petit historique</h3>
<p>Vous savez peut être que Xen a été quelque peu obscurcit par l&#8217;introduction de KVM dans le noyau Linux. Cette inclusion de KVM a conduit des distributions telles que Red Hat et Ubuntu à supprimer Xen de leurs distributions ou de ne laisser qu&#8217;un support pour le moins minimal. A l&#8217;époque de ces faits, Xen n&#8217;était compatible qu&#8217;avec un ou deux noyaux Linux patchés par l&#8217;équipe de Xen. Cette époque est révolue car Xen a évolué vers les noyaux dits &laquo;&nbsp;Paravirt Ops&nbsp;&raquo; ce qui signifie que la compatibilité d&#8217;un noyau Linux avec Xen ne tient plus qu&#8217;à un module de ce même noyau.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo.png"><img class="size-medium wp-image-99   aligncenter" title="Xen_logo" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo-300x133.png" alt="" width="300" height="133" /></a></p>
<p>La version Xen 4.0 est particulièrement intéressante car il s&#8217;agit de la première version qui fonctionne par défaut avec les noyaux Paravirt Ops. L&#8217;installation de versions antérieures vous assurera la douleur de devoir éventuellement passer vers une version supérieure à la 4.0 lorsque vous voudrez mettre à jour vos noyaux Linux.</p>
<h3>Installation</h3>
<p>Nous pouvons désormais passer aux choses sérieuses. Nous allons effectuer une installation à partir des sources car il n&#8217;existe pas encore de paquets. Et puis de toute façon, une petite compilation ne vous fait pas peur !</p>
<p>Nous allons tout d&#8217;abord récupérer l&#8217;archive sur le site de Xen et on la dézippe :</p>
<blockquote><p>wget http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz</p>
<p>tar zxvf xen-4.0.0.tar.gz</p></blockquote>
<p>Nous allons ensuite installer tous les pré-requis et ils sont nombreux.</p>
<blockquote><p>apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev gcc-multilib</p></blockquote>
<p>Passons désormais à la compilation. Si vous avez une machine dotée de plusieurs cœurs / processeurs, n&#8217;hésitez surtout pas à utiliser l&#8217;option <em>-jX</em> où X est le nombre de cœurs que vous avez. Cette option permet de répartir la compilation sur tous les cœurs et ainsi de la finir plus rapidement. J&#8217;avais un BiQuad Core, donc ce sera 8 pour cet exemple.</p>
<blockquote><p>make -j8 xen</p>
<p>make -j8 tools</p>
<p>make -j8 stubdom</p></blockquote>
<p>Ensuite, on installe tout ca.</p>
<blockquote><p>make -j8 install-xen</p>
<p>make -j8 install-tools</p>
<p>make -j8 stubdom</p></blockquote>
<p>Grâce à toutes ces commandes, nous avons installé Xen ainsi que tous les outils associés. Il nous manque plus que le noyau Linux pour les domaines. A partir de là, vous pouvez soit créer votre propre noyau soit utiliser un noyau proposé par Xen. J&#8217;ai choisi de faire cela car c&#8217;était plus simple, plus rapide et plus pratique.</p>
<p>On va donc exécuter la commande qui va nous permettre de récupérer et de compiler le noyau qui va bien pour notre installation de Xen.</p>
<blockquote><p>make -j8 world</p></blockquote>
<p>Pour installer le noyau que vous avons compilé, il ne manque qu&#8217;à exécuter la commande suivante. On crée au passage l&#8217;initrd qui va bien.</p>
<blockquote><p>make install</p>
<p>mkinitramfs -o /boot/initrd-2.6.31.13.img 2.6.31.13</p></blockquote>
<p>Vous devez ensuite modifier Grub afin qu&#8217;il s&#8217;adapte à Xen. La configuration suivante fonctionne sur l&#8217;hyperviseur que j&#8217;ai eu l&#8217;occasion d&#8217;installer. Il faut adapter le root en fonction de votre serveur. Ici, il s&#8217;agissait d&#8217;un contrôleur RAID HP.</p>
<blockquote><p>title           Xen 4.0.0 / Debian GNU/Linux, kernel 2.6.31.13<br />
root            (hd0,1)<br />
kernel          /boot/xen-4.0.0.gz<br />
module          /boot/vmlinuz-2.6.31.13 root=/dev/cciss/c0d0p2 ro console=tty0<br />
module          /boot/initrd-2.6.31.13.img</p></blockquote>
<p>Vous pouvez ensuite rebooter sur votre nouvelle installation de Xen 4.0 avec votre noyau Paravirt Ops. Si vous souhaitez modifier des options à la compilation du noyau, il faut se placer dans le bon répertoire et activer les bons paramètres dans le menu.</p>
<blockquote><p>cd build-linux-2.6-pvops_x86_64</p>
<p>make menuconfig</p></blockquote>
<p>Il faut activer le support TUN/TAP si vous souhaitez exécuter des domaines HVM ainsi que le support du 802.1Q si vous souhaitez placer vos domaines sur différents VLAN. Ces deux options ne sont pas activées par défaut.</p>
<p>Au final, j&#8217;espère que ce tutoriel vous sera utile et que j&#8217;ai été clair. Le passage vers les noyaux en Paravirt Ops est une évolution majeure dans l&#8217;histoire de Xen et permettra une adoption nettement plus large.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Les différents types de nuages</title>
		<link>http://www.antoinebenkemoun.fr/2010/02/les-differents-types-de-cloud/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/02/les-differents-types-de-cloud/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 09:51:24 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=950</guid>
		<description><![CDATA[Après avoir tenté de définir le cloud computing et avoir évoqué les différentes technologies associés, nous allons nous intéresser aux différentes offres. Nous nous intéresserons à toutes les offres de la nature qui revendiquent un caractère de &#171;&#160;cloud computing&#160;&#187;. Nous distinguerons trois types de nuages. Le premier type, également le premier à être apparu sous [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92.jpg"><img class="alignleft size-medium wp-image-885" title="v92" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/v92-190x300.jpg" alt="" width="122" height="192" /></a>Après avoir <a href="http://www.antoinebenkemoun.fr/2010/01/definition-du-cloud-computing/">tenté de définir </a>le cloud computing et avoir évoqué les <a href="http://www.antoinebenkemoun.fr/2010/01/les-technologies-du-cloud-computing/">différentes technologies</a> associés, nous allons nous intéresser aux différentes offres. Nous nous intéresserons à toutes les offres de la nature qui revendiquent un caractère de &laquo;&nbsp;cloud computing&nbsp;&raquo;.</p>
<p>Nous distinguerons trois types de nuages. Le premier type, également le premier à être apparu sous la dénomination &laquo;&nbsp;cloud&nbsp;&raquo;, est le nuage public. Le second type est le nuage privé. Le dernier type est un mélange des deux, c&#8217;est à dire, un nuage privé-public.</p>
<h3>Le nuage public</h3>
<p>La dénomination de &laquo;&nbsp;cloud computing&nbsp;&raquo; est arrivée en même temps que les grands nuages publics. Ces grands systèmes informatiques ont été rendus viables grâce à une forte automatisation et une grande efficacité des couches de virtualisation.</p>
<p>Dans ce type de nuage, chaque client se voit attribuer plus ou moins aléatoirement une machine virtuelle dans laquelle il pourra faire ce qu&#8217;il souhaite. Ces machines virtuelles sont soumises aux contraintes définies par l&#8217;hébergeur en fonction de ses conditions générales de vente. Chaque machine virtuelle est sensée être l&#8217;égale d&#8217;une autre et le client n&#8217;a que très peu d&#8217;amplitude pour la construction d&#8217;une véritable architecture.</p>
<p>Les nuages publics existant aujourd&#8217;hui ont essentiellement vocation à être des plateformes d&#8217;hébergement grand public à la manière d&#8217;OVH sur le marché des serveurs dédiés. Pour que cette comparaison soit valable, il est nécessaire d&#8217;exclure la diversification des offres d&#8217;OVH avec notamment la possibilité d&#8217;obtenir un firewall Cisco ASA. Il est peu probable qu&#8217;il soit possible d&#8217;insérer un Cisco ASA dans un grand nuage public.</p>
<p>La présence de l&#8217;open source dans les nuages public est très forte, surtout à travers de Xen. Amazon, Gandi, 1&amp;1 et Rackspace sont tous basés sur Xen. Le marché des grand nuages public a peu de chance de voir une réelle présence de VMWare à cause de sa tarification. Je vous laisse imaginer le prix d&#8217;un cloud public VMWare&#8230;</p>
<h3>Le nuage privé</h3>
<p>Les nuages privés sont clairement orientés vers les entreprises. Il parait particulièrement improbable de voir une quelconque entreprise confier la totalité de ses données et de l&#8217;infrastructure informatique à une nébuleuse telle qu&#8217;Amazon.</p>
<p>Il me semble que la notion de nuage privé est quasiment équivalente à la notion de plateforme de virtualisation interne à une société. Dans ce type de nuage, la notion de &laquo;&nbsp;cloud computing&nbsp;&raquo; semble floue et la distinction avec une plateforme de virtualisation semble mince voire inexistante.</p>
<p>L&#8217;open source a un rôle à jouer sur ce type de nuages mais l&#8217;état actuel des choses ne le facilite pas. L&#8217;automatisation d&#8217;une plateforme Xen ou KVM nécessite un travail de développement conséquent même si des outils tels que le<a href="http://xen.org/products/cloudxen.html"> Xen Cloud Platform </a>vont dans le bon sens. VMWare est désormais très présent sur le marché avec ses produits d&#8217;administration et d&#8217;automatisation VSphere et Virtual Center.</p>
<h3>Le nuage privé-public</h3>
<p>Le nuage privé-public est un nuage privé inséré dans une plateforme public. Ce type d&#8217;offre est encore relativement rare car le concept est plutôt récent.</p>
<p>Cette notion semble relativement équivalente à la notion de nuage privé placé dans le cadre d&#8217;une offre d&#8217;infogérance. Bien que les offres placées sous la dénomination &laquo;&nbsp;nuage privé-public&nbsp;&raquo; sont rares, les plateformes de virtualisation infogérées sont monnaie courante aujourd&#8217;hui.</p>
<p>Au final, je pense avoir fait le tour des différentes configurations de &laquo;&nbsp;cloud computing&nbsp;&raquo; que l&#8217;on peut retrouver aujourd&#8217;hui. Je pense également que toutes ces offres ne sont pas réellement révolutionnaires contrairement à ce que bon nombre de commerciaux souhaiteraient nous faire croire.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/02/les-differents-types-de-cloud/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<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>Les domaines Xen : les domaines non privilégiés</title>
		<link>http://www.antoinebenkemoun.fr/2010/01/les-domaines-xen-les-domaines-non-privilegies/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/01/les-domaines-xen-les-domaines-non-privilegies/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:22:15 +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[TX]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=826</guid>
		<description><![CDATA[Aller hop on se motive ! Pour mon avant-dernier jour de stage chez Orange Business Services, je vais faire la suite du précédent article sur les domaines Xen. J&#8217;avais eu l&#8217;occasion de détailler les spécificités du domaine privilégié, plus communément connu sous le nom de dom0. Si vous n&#8217;êtes pas familier avec le vocabulaire spécifique [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo.png"><img class="alignleft size-full wp-image-99" title="Xen_logo" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo.png" alt="" width="230" height="102" /></a>Aller hop on se motive ! Pour mon avant-dernier jour de stage chez Orange Business Services, je vais faire la suite du <a href="http://www.antoinebenkemoun.fr/2009/12/les-domaines-xen-le-domaine-privilegie/">précédent article</a> sur les domaines Xen. J&#8217;avais eu l&#8217;occasion de détailler les spécificités du domaine privilégié, plus communément connu sous le nom de dom0.</p>
<p>Si vous n&#8217;êtes pas familier avec le vocabulaire spécifique à Xen, je vous renvois vers l&#8217;article traitant de la <a href="http://www.antoinebenkemoun.fr/2009/09/terminologie-xen/">terminologie</a> Xen. Si vous ne connaissez pas bien le projet Xen, je vous renvois vers la <a href="http://www.antoinebenkemoun.fr/2009/06/cest-quoi-xen/">présentation</a> de ce projet.</p>
<h3>Domaine non privilégié : domU</h3>
<p>Les domaines non privilégiés sont communément appelés &laquo;&nbsp;domU&nbsp;&raquo; (U comme unprivileged). Les domU sont l&#8217;équivalent des systèmes d&#8217;exploitation invités sur les plateformes de virtualisation classiques. Concrètement, ce sont les machines virtuelles qui s&#8217;exécuteront sur votre plateforme Xen. Ces systèmes d&#8217;exploitation s&#8217;installent une fois que vous avez un hyperviseur et un dom0 fonctionnel. Il existe de nombreux outils vous permettant d&#8217;installer des domU de manière plus ou moins simple et rapide.</p>
<p>Comme vous le savez surement, Xen est capable de faire de la paravirtualisation mais aussi de la virtualisation matérielle assistée. A chacun de ces types de virtualisation correspond un type de domaine non privilégié. Les domU de paravirtualisation sont appelés &laquo;&nbsp;domU standards&nbsp;&raquo; et les domU de virtualisation matérielle assistée sont appelés &laquo;&nbsp;domU HVM&nbsp;&raquo;. L&#8217;acronyme HVM signifie &laquo;&nbsp;Hardware-Assisted Virtual Machine&nbsp;&raquo;.</p>
<h3>domU de paravirtualisation : domU standard</h3>
<p>Nous allons tout d&#8217;abord nous intéresser aux domU dits &laquo;&nbsp;standards&nbsp;&raquo;. Les domU de paravirtualisation sont considérés standards car il s&#8217;agit des premiers domU qui ont été disponibles pour Xen et les seuls jusqu&#8217;à la version 3.0. Ceci s&#8217;explique par le fait que la paravirtualisation est la raison d&#8217;être du projet Xen et ce qui en a fait un projet inédit.</p>
<p>Du fait qu&#8217;il s&#8217;agisse de domU de paravirtualisation, il est nécessaire que l&#8217;OS de chaque domU standard ait été adapté pour l&#8217;hyperviseur Xen. Ceci se fait par le biais d&#8217;API spécifiques supportant les hypercalls. De très nombreux systèmes d&#8217;exploitation peuvent être placés en tant que domU par dessus Xen. Tous les Linux sont compatibles ainsi que certains BSD et OpenSolaris.</p>
<h3>domU de virtualisation matérielle assistée : domU HVM</h3>
<p>Lorsqu&#8217;un système d&#8217;exploitation n&#8217;a pas été adapté pour Xen, il est nécessaire de recourir à une technique de virtualisation plus classique. Il s&#8217;agit bien évidemment de la virtualisation matérielle assistée. Ce type de domU permet à Xen de supporter la quasi totalité des systèmes d&#8217;exploitation existants pour l&#8217;architecture x86.</p>
<p>Le module utilisé par Xen pour effectuer les opérations de virtualisation matérielle assistée est le module QEMU. La contre partie des domU HVM est une perte de performances plus importante que dans le cas d&#8217;un domU standard. Ceci s&#8217;explique par le fait qu&#8217;il est nécessaire d&#8217;effectuer beaucoup plus d&#8217;opérations d&#8217;émulation.</p>
<h3>Rôle des domU et délégation de périphériques</h3>
<p>Les domU n&#8217;ont pas de rôle spécifique au niveau de la plateforme de virtualisation. Ils servent juste à exécuter les diverses applications qui sont contenues dans leurs systèmes d&#8217;exploitation. Il ne leur est accordé, par défaut, aucun privilège au niveau des ressources physiques. L&#8217;hyperviseur leur attribue une partie des ressources dynamiquement et les domU les utilisent ou pas en fonction de leurs besoins.</p>
<p>De plus, il est tout de même possible d&#8217;accorder quelques priviléges spécifiques aux domU. Ces privilèges spécifiques se matérialisent par la délégation de périphériques. Par exemple, il est possible de donner accès exclusif à un port USB ou PCI à un domU. Ceci va lui permettre de pouvoir utiliser un composant physique comme il le souhaite. Il y a eu des exemples de cartes graphiques déléguées à un domU permettant de jouer à un jeu 3D dans le domU. Notons tout de même que la délégation de périphérique à un domU restreint totalement sa mobilité entre plusieurs hyperviseurs ce qui peut être handicapant.</p>
<p>Au final, cette article présente les spécificités des domU. J&#8217;espère avoir été clair et compréhensible. Si ce n&#8217;est pas le cas, vous avez toujours la possibilité de laisser un commentaire pour me le signaler. En ce qui concerne la suite des événements, je suis encore indécis sur les sujets que je vais traiter. Cela devrait varier en fonction de mon prochain emploi. De toute manière, je souhaiterais parler plus des réseaux de stockage et du stockage en général.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/01/les-domaines-xen-les-domaines-non-privilegies/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Les domaines Xen : le domaine privilégié</title>
		<link>http://www.antoinebenkemoun.fr/2009/12/les-domaines-xen-le-domaine-privilegie/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/12/les-domaines-xen-le-domaine-privilegie/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 13:49:54 +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[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=802</guid>
		<description><![CDATA[Cela fait désormais un bon bout de temps que je n&#8217;ai pas eu l&#8217;occasion de vous parler de Xen. Lors du dernier article sur ce sujet, nous avions surtout parlé de configuration réseau. J&#8217;aurais peut être l&#8217;occasion d&#8217;en reparler par la suite, nous verrons bien. J&#8217;ai déjà eu l&#8217;occasion de vous parler des domaines Xen [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-99" title="Xen_logo" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo.png" alt="Xen_logo" width="230" height="102" />Cela fait désormais un bon bout de temps que je n&#8217;ai pas eu l&#8217;occasion de vous parler de <a href="http://www.antoinebenkemoun.fr/category/xen/">Xen</a>. Lors du <a href="http://www.antoinebenkemoun.fr/2009/10/la-configuration-reseau-de-xen/">dernier article</a> sur ce sujet, nous avions surtout parlé de configuration réseau. J&#8217;aurais peut être l&#8217;occasion d&#8217;en reparler par la suite, nous verrons bien.</p>
<p>J&#8217;ai déjà eu l&#8217;occasion de vous parler des domaines Xen à plusieurs occasions sur ce blog. J&#8217;ai défini la notion dans l&#8217;article sur la <a href="http://www.antoinebenkemoun.fr/2009/09/terminologie-xen/">terminologie</a> Xen. Dans ce billet je vais essayer d&#8217;élaborer un petit plus sur ce sujet en détaillant un peu plus les interactions entre le domaine privilégié et le matériel.</p>
<h3>Domaine privilégié : dom0</h3>
<p>Le domaine privilégié ou dom0 est le système d&#8217;exploitation &laquo;&nbsp;visible&nbsp;&raquo; d&#8217;une installation Xen. Il s&#8217;agit du système d&#8217;exploitation que l&#8217;on installe avant d&#8217;installer l&#8217;hyperviseur. Pour rappel, cela ne veut pas dire que l&#8217;hyperviseur est au desssus du dom0 car il est bien en dessous. Vous pouvez le vérifier au démarrage, car on voit bien que Xen s&#8217;exécute avant la distribution du dom0.</p>
<p>Le domaine privilégié est un domaine exceptionnellement sensible. Il s&#8217;agit du domaine qui va avoir accès à toutes les ressources physiques auxquelles l&#8217;hyperviseur n&#8217;aura pas l&#8217;accès exclusif. L&#8217;hyperviseur n&#8217;a un accès exclusif au processeur et à la mémoire. Tout le reste relèvera donc de la compétence du dom0. Ceci inclut donc tout particulièrement les supports de stockage. Le dom0 a donc accès à toutes les données de votre hyperviseur, il est donc indispensable de le sécuriser.</p>
<h3>Le rôle du domaine privilégié</h3>
<p>En ce qui concerne le rôle du dom0, il est essentiellement de gérer les supports de stockage, les périphériques éventuels ainsi que les éventuels interfaces d&#8217;administration. Il n&#8217;est pas souhaitable de lui attribuer plus de rôles que cela. Il est cependant indispensable de lui allouer des ressources physiques convenables. Etant donné que la gestion de support de stockage fait partie de sa compétence, il est nécessaire qu&#8217;il se voit attribuer suffisamment de mémoire vive afin de pouvoir constituer un cache performant.</p>
<p>L&#8217;hyperviseur attribue par défaut tous les périphériques au domaine privilégié. Certaines configurations spécifiques peuvent nécessiter de rendre accessible un périphérique à une machine virtuelle. Ces configurations sont relativement compliquées à mettre en place dans un contexte de haute disponibilité avec migration à chaud. Ceci s&#8217;explique habituellement par le simple fait que le périphérique ne peut être branché sur un seul serveur à la fois. Des solutions d&#8217;USB sur IP sont plus simples. Il reste cependant possible d&#8217;effectuer une délégation de périphérique vers un domaine non privilégié. Il y a déjà eu des exemples de délégation de cartes graphique permettant de jouer à des jeux 3D dans des domaines non privilégiés.</p>
<h3>Interface avec les autres domaines</h3>
<p>Les autres domaines vont accéder aux ressources relevant de la compétence du dom0 via des pilotes génériques de périphérique. Ces pilotes génériques permettent de maximiser la compatibilité et d&#8217;éviter les différences entre les différentes plateformes Xen. L&#8217;intérêt des pilotes génériques est immédiat dans le cas de la migration à chaud où la standardisation des environnements est primordiale.</p>
<p>Le schéma suivant récapitule très bien toutes ces interactions.</p>
<p style="text-align: center;"><img class="size-full wp-image-805 aligncenter" title="Capture d’écran 2009-12-14 à 14.39.27" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/12/Capture-d’écran-2009-12-14-à-14.39.27.png" alt="Capture d’écran 2009-12-14 à 14.39.27" width="335" height="303" /></p>
<p>Au final, je pense avoir fait une présentation plutôt détaillée du domaine privilégié. Si vous avez des questions ou des remarques, n&#8217;hésitez pas, les commentaires sont faits pour cela. Dans un prochain article, j&#8217;évoquerais plus en détail les domaines non privilégiés.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/12/les-domaines-xen-le-domaine-privilegie/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nouveau livre sur Xen</title>
		<link>http://www.antoinebenkemoun.fr/2009/10/nouveau-livre-sur-xen/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/10/nouveau-livre-sur-xen/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 10:53:28 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Livres]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[livre]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=701</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion de vous parler de deux livres que j&#8217;ai lu sur Xen. Je viens de tomber sur un nouveau livre qui vient d&#8217;être publié. Il n&#8217;est pour l&#8217;instant disponible qu&#8217;en anglais. Si vous n&#8217;êtes pas anglophone, il faudra donc soit se mettre à l&#8217;anglais soit attendre la traduction française. J&#8217;ai déjà eu [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai déjà eu l&#8217;occasion de vous parler de <a href="http://www.antoinebenkemoun.fr/2009/06/les-livres-pour-comprendre-xen/">deux</a> <a href="http://www.antoinebenkemoun.fr/2009/07/les-livres-pour-comprendre-xen-2/">livres</a> que j&#8217;ai lu sur Xen. Je viens de tomber sur un nouveau livre qui vient d&#8217;être publié. Il n&#8217;est pour l&#8217;instant disponible qu&#8217;en anglais. Si vous n&#8217;êtes pas anglophone, il faudra donc soit se mettre à l&#8217;anglais soit attendre la traduction française.</p>
<p style="text-align: center;"><img class="size-full wp-image-702   aligncenter" title="xen_big" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/10/xen_big.png" alt="xen_big" width="227" height="301" /></p>
<p style="text-align: left;">J&#8217;ai déjà eu l&#8217;occasion de feuilleter des livres de cette série. Ils sont plutôt bien faits. <span style="text-decoration: line-through;">Si vous souhaitez vous le procurer, il va falloir passer par le site américain d&#8217;</span><a href="http://www.amazon.com/Book-Xen-Practical-System-Administrator/dp/1593271867/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1256726144&amp;sr=8-1"><span style="text-decoration: line-through;">Amazon</span></a><span style="text-decoration: line-through;">. Il faudra bien évidemment payer les frais de port à partir des Etats-Unis en attendant qu&#8217;il soit disponible en France.</span> Vous pourrez vous le procurer sur le site français d&#8217;<a href="http://www.amazon.fr/Book-Xen-Practical-System-Administrator/dp/1593271867/ref=sr_1_3?ie=UTF8&amp;s=english-books&amp;qid=1256757629&amp;sr=1-3">Amazon</a> afin d&#8217;éviter de payer les frais de ports.</p>
<p style="text-align: left;">Le contenu semble assez large mais reste pratique. Il couvre des aspects particulièrement spécifique de Xen à savoir l&#8217;installation des domaines Solaris et NetBSD. Il parle également de la mise en place de QoS réseau sur Xen qui est un sujet qui m&#8217;intéresse particulièrement et qui est peu traité sur Internet.</p>
<p style="text-align: left;">Je vais envisager l&#8217;achat de ce livre qui semble particulièrement intéressant dès que mes finances le permettront. Je vous en ferait surement un petit compte rendu par la suite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/10/nouveau-livre-sur-xen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installation d&#8217;OpenSolaris 2009.06 sur Xen</title>
		<link>http://www.antoinebenkemoun.fr/2009/10/installation-dopensolaris-2009-06-sur-xen/</link>
		<comments>http://www.antoinebenkemoun.fr/2009/10/installation-dopensolaris-2009-06-sur-xen/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 10:04:15 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=657</guid>
		<description><![CDATA[Dans un précédent billet, nous avons vu l&#8216;installation de Xen ainsi que sa configuration réseau. Vous pouvez soit installer des domU Linux ce qui est particulièrement simple, voire magique, avec l&#8217;outil xen-tools. Mais étant donné que vous avez été convaincu par ma présentation de Solaris, vous allez vous lancer dans l&#8217;installation d&#8217;OpenSolaris sur votre plateforme [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-597" title="solaris-logo" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/09/solaris-logo-300x155.png" alt="solaris-logo" width="240" height="124" />Dans un précédent billet, nous avons vu l<a href="http://www.antoinebenkemoun.fr/2009/09/installation-de-xen-sur-debian-lenny/">&#8216;installation de Xen</a> ainsi que sa <a href="http://www.antoinebenkemoun.fr/2009/10/la-configuration-reseau-de-xen/">configuration réseau</a>. Vous pouvez soit installer des domU Linux ce qui est particulièrement simple, voire magique, avec l&#8217;outil xen-tools. Mais étant donné que vous avez été convaincu par ma présentation de Solaris, vous allez vous lancer dans l&#8217;installation d&#8217;OpenSolaris sur votre plateforme de virtualisation Xen.</p>
<p>L&#8217;installation d&#8217;un domU OpenSolaris par dessus un dom0 OpenSolaris est particulièrement simple et je n&#8217;en parlerais pas ici. Nous allons nous intéresser à l&#8217;installation d&#8217;un domU OpenSolaris par dessus un dom0 Linux. Les raisons de ceci sont un plus grand challenge et la conservation des avantages d&#8217;un dom0 Linux. Cette installation n&#8217;est pas des plus simples et nécessite d&#8217;y passer un peu de temps. Nous supposerons que vous êtes en 64-bits car la quasi-totalité des plateformes s&#8217;exécutent aujourd&#8217;hui en 64-bits.</p>
<h3>Préparation de l&#8217;installation</h3>
<p>Pour pouvoir installer OpenSolaris, il va nous falloir OpenSolaris. Jusqu&#8217;ici rien de trop compliqué. Nous allons nous placer dans le répertoire /xen pour effectuer l&#8217;installation. Je vous laisse donc télécharger l&#8217;ISO d&#8217;OpenSolaris dans ce répertoire.</p>
<p>Nous allons avoir besoin de divers fichiers dans cet ISO, nous allons donc le monter en local.</p>
<blockquote><p>cd /mnt &amp;&amp; mkdir osol</p>
<p>mount -o loop /xen/osol-0906-x86.iso /mnt/osol</p></blockquote>
<p>Ensuite, nous allons récupérer les fichiers dont nous allons avoir besoin. Ces fichiers sont un kernel minimaliste afin de pouvoir booter l&#8217;installation.</p>
<blockquote><p>cp /mnt/osol/platform/i86xpv/kernel/amd64/unix /xen/</p>
<p>cp /mnt/osol/boot/x86.microroot /xen/</p></blockquote>
<p>Nous devons ensuite créer le disque sur lequel le système d&#8217;exploitation va s&#8217;installer. Vous pouvez soit créer une partition LVM soit créer un image disque. Pour le LVM, je vous réfère à l&#8217;<a href="http://www.gayuxweb.fr/learn/lvm">excellent tutoriel</a> présent sur le site de Gayux. Pour créer une image disque, vous pourrez utiliser la commande <em>dd </em>comme suit. La commande suivante crée une image de 10Go.</p>
<blockquote><p>dd if=/dev/zero of=/xen/disk.img bs=1024k count=1 seek=10000</p></blockquote>
<h3>Configuration du domU</h3>
<p>Vous allez ensuite devoir paramétrer le domU. Les fichiers de configuration de domU se trouvent par défaut dans le répertoire /etc/xen. Vous pourrez y créer un fichier .cfg qui contiendra les informations suivantes. En ce qui concerne les pré-requis de l&#8217;installation, vous allez avoir besoin de 512Mo de RAM pour l&#8217;installation. Vous pourrez descendre en deçà par la suite mais l&#8217;installation nécessite autant de RAM étant donné qu&#8217;il est nécessaire d&#8217;exécuter Gnome. Vous devez donc créer le fichier de configuration suivant. J&#8217;ai choisi opensolaris.cfg.</p>
<blockquote><p>name = &laquo;&nbsp;opensolaris-cest-trop-bien&nbsp;&raquo;<br />
vcpus = 1<br />
memory = 512<br />
kernel = &laquo;&nbsp;/xen/unix&nbsp;&raquo;<br />
ramdisk = &laquo;&nbsp;/xen/x86.microroot&nbsp;&raquo;<br />
extra = &laquo;&nbsp;/platform/i86xpv/kernel/amd64/unix -B console=ttya,livemode=text&nbsp;&raquo;<br />
disk = ['file:/xen/osol-0906-x86.iso,6:cdrom,r','file:/xen/disk.img,0,w']<br />
vif = ['']<br />
on_shutdown = &laquo;&nbsp;destroy&nbsp;&raquo;<br />
on_reboot = &laquo;&nbsp;destroy&nbsp;&raquo;<br />
on_crash = &laquo;&nbsp;destroy&nbsp;&raquo;</p></blockquote>
<p>Vous pouvez ensuite exécuter la VM que vous venez de créer avec la commande suivante :</p>
<blockquote><p>xm create -c /etc/xen/opensolaris.cfg</p></blockquote>
<h3>Installation</h3>
<p>Vous allez ensuite pouvoir démarrer l&#8217;installation via le mode ligne de commande jusqu&#8217;à ce que vous arriviez à un invite de commande standard. Vous allez pouvoir vous logguer via le compte jack et le mot de passe jack. Logique ? Non, je suis entièrement d&#8217;accord.</p>
<p>Nous allons donc ensuite devoir exécuter un serveur VNC afin de pouvoir faire l&#8217;installation en mode graphique. Je sais que ca vous chagrine de devoir faire une installation en mode graphique mais OpenSolaris ne fait pas d&#8217;installation en mode console. Ne vous inquiétez pas, vous allez pouvoir dégager Gnome dès l&#8217;installation finie. Avant de pouvoir activer VNC, il va vous falloir configurer votre interface réseau. Si vous êtes en DHCP, cela devrait fonctionner automatiquement. La procédure à suivre pour l&#8217;activation du serveur VNC est la suivante :</p>
<blockquote><p>mkdir .vnc</p>
<p>cp .Xclients .vnc/xstartup</p>
<p>vncserver</p></blockquote>
<p>Vous pouvez ensuite vous connecter en VNC directement à l&#8217;IP en question. Vous allez ensuite pouvoir faire l&#8217;installation via le mode graphique. <strong>Avant de redémarrer</strong>, vous allez devoir récupérer une petite info.</p>
<blockquote><p>pfexec zdb -vvv rpool | grep bootfs</p></blockquote>
<p>Vous allez récupérer une information du type &laquo;&nbsp;<em>Bootfs = CHIFFRE</em>&laquo;&nbsp;. Retenez bien ce numéro ou notez le sur un bout de papier ou tout autre surface.</p>
<h3>Exécution</h3>
<p>Il est temps de faire un petit résumé de ce que nous avons fait jusqu&#8217;à présent. Nous avons préparé l&#8217;installation afin de pouvoir exécuter notre installation d&#8217;OpenSolaris. Nous avons exécuter le domaine d&#8217;installation et mis en place un serveur VNC pour pouvoir y accéder en mode graphique. Dans ce mode graphique, nous avons fait les étapes d&#8217;installation. Il nous reste donc plus qu&#8217;à exécuter l&#8217;OS que nous venons d&#8217;installer. Pour se faire, nous allons devoir apporter quelques modifications à notre fichier de configuration.</p>
<blockquote><p>name = &laquo;&nbsp;opensolaris-cest-trop-bien&nbsp;&raquo;<br />
vcpus = 1<br />
memory = 270<br />
kernel = &laquo;&nbsp;/xen/unix&nbsp;&raquo;<br />
ramdisk = &laquo;&nbsp;/xen/x86.microroot&nbsp;&raquo;</p>
<p>extra = &#8216;/platform/i86xpv/kernel/amd64/unix -B console=ttya,zfs-bootfs=rpool/<em>CHIFFRE</em>,bootpath=&nbsp;&raquo;/xpvd/xdf@0:a&nbsp;&raquo;&#8216;<br />
disk = ['file:/xen/osol-0906-x86.iso,6:cdrom,r','file:/xen/disk.img,0,w']<br />
vif = ['ip=xx.xx.xx.xx,mac=00:16:3E:FF:AB:AB']<br />
on_shutdown = &laquo;&nbsp;destroy&nbsp;&raquo;<br />
on_reboot = &laquo;&nbsp;destroy&nbsp;&raquo;<br />
on_crash = &laquo;&nbsp;destroy&nbsp;&raquo;</p></blockquote>
<p>Vous allez ensuite pouvoir exécuter votre VM et profiter de votre nouvelle installation d&#8217;OpenSolaris !</p>
<p>Au final, cette installation est certes un peu fastidieuse mais permet tout de même d&#8217;installer OpenSolaris sur un dom0 Linux. Si vous avez des remarques par rapport à ce tutoriel, vous pouvez toujours me contacter via l&#8217;onglet prévu à cet effet. Amusez-vous bien sous Solaris !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2009/10/installation-dopensolaris-2009-06-sur-xen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

