<?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>Hypervisor.fr &#187; Hardware</title>
	<atom:link href="http://www.hypervisor.fr/?cat=48&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.hypervisor.fr</link>
	<description>French Bare-Metal weblog</description>
	<lastBuildDate>Wed, 26 Jun 2024 22:42:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TLBleed : Seeing double?</title>
		<link>http://www.hypervisor.fr/?p=5847</link>
		<comments>http://www.hypervisor.fr/?p=5847#comments</comments>
		<pubDate>Fri, 29 Jun 2018 11:34:57 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5847</guid>
		<description><![CDATA[Les plus vieux d&#8217;entres nous se souviennent surement encore des débuts chaotiques (en environment serveur) de l&#8217;Hyper-Threading en 2002, cet artifice qui permettait de compenser les problèmes de l&#8217;architecture NetBurst d&#8217;Intel.
Compte tenu de son implementation de l&#8217;époque (très bien décrite, en Francais, par nos amis d&#8217;x86-secret), il était souvent recommandé de désactiver l&#8217;HT. Au fil [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Les plus vieux d&#8217;entres nous se souviennent surement encore des débuts chaotiques (en environment serveur) de l&#8217;<strong><a href="https://en.wikipedia.org/wiki/Hyper-threading" target="_blank">Hyper-Threading</a></strong> en 2002, cet artifice qui permettait de compenser les problèmes de l&#8217;architecture NetBurst d&#8217;Intel.</p>
<p style="text-align: justify;">Compte tenu de son implementation de l&#8217;époque (<a href="http://www.x86-secret.com/articles/cpu/3066/3066-4.htm" target="_blank">très bien décrite, en Francais, par nos amis d&#8217;x86-secret</a>), il était souvent recommandé de désactiver l&#8217;HT. Au fil des évolutions des CPU mais aussi <a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/vmware-vsphere-cpu-sched-performance-white-paper.pdf">des versions d&#8217;ESX</a>, la situation a fini par s&#8217;inverser et le grand débat de l&#8217;HT pouvait prendre fin&#8230;</p>
<blockquote>
<p style="text-align: justify;">Internal testing shows that <strong>the recent generation of HT processors displays a higher performance gain</strong> from utilizing both logical processors. This means that the potential performance loss by letting some hyper-threads idle for a fairness reason becomes non trivial.</p>
<p>[...]</p>
<p style="text-align: justify;">On vSphere 5.x, such a benefit is recognized and more CPU time is charged when both logical processors are busy. <strong>The implication of this newer charging model on HT</strong> is that a vCPU which is lagging behind can catch up more quickly even on a partial core, making it less necessary to use only the whole core.</p>
</blockquote>
<p>&#8230;Ou pas, car comme l&#8217;a <a href="http://www.x86-secret.com/articles/cpu/3066/3066-4.htm" target="_blank">décrit x86-secret il y a 16 ans</a> (!) :</p>
<blockquote>
<p style="text-align: justify;">Avec l&#8217;HT, ce sont désormais deux flux d&#8217;instructions qui arrivent à l&#8217;entrée du pipeline. A noter que seule la partie en amont du pipeline est, d&#8217;une certaine façon, &#8220;consciente&#8221; de la présence de ces deux flux provenant de deux threads différents, et le reste du traitement s&#8217;effectue comme s&#8217;il s&#8217;agissait d&#8217;un unique flux d&#8217;instruction. Ainsi, <strong>les deux threads se partagent les unités de calcul et les mémoires caches</strong>.</p>
</blockquote>
<p style="text-align: justify;">Et guess what, <a href="https://www.theregister.co.uk/2018/06/22/intel_tlbleed_key_data_leak/" target="_blank">une équipe d&#8217;un centre de recherche hollandais dit avoir été capable d&#8217;exploiter cette faiblesse connue depuis de années</a> (mais c&#8217;était avant AWS &amp; Co) maintenant baptisée <strong><a href="https://en.wikipedia.org/wiki/TLBleed" target="_blank">TLBleed</a></strong>. En pleine &#8220;crise&#8221; Spectre/Meltdown, Intel semble ne pas avoir l&#8217;intention d’adresser cette faille mais les choses pourraient bien changer <a href="https://arstechnica.com/gadgets/2018/06/tlbleed-a-new-way-to-leak-crypto-keys-on-hyperthreaded-processors/" target="_blank">au moment de la publication d&#8217;ici le mois d’Août</a>. Et oui, AMD est potentiellement impacté aussi <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><a href="http://www.hypervisor.fr/wp-content/uploads/2018/06/shutterstock_generic_heart_bleed.jpg" title="shutterstock_generic_heart_bleed" rel="lightbox[5847]"><img class="aligncenter size-full wp-image-5850" title="shutterstock_generic_heart_bleed" src="http://www.hypervisor.fr/wp-content/uploads/2018/06/shutterstock_generic_heart_bleed.jpg" alt="" width="442" height="293" /></a></p>
<p style="text-align: justify;">Et surprise, l&#8217;équipe des devs du projet OpenBSD (<a href="https://en.wikipedia.org/wiki/OpenBSD" target="_blank">&#8220;As of February 2018, only two remote vulnerabilities have ever been found in the default install, <strong>in a period of almost 22 years</strong>&#8220;</a>) a décidé de désactiver l&#8217;HT dans les nouvelles releases. Et c&#8217;est d&#8217;ailleurs pour ca que toute l&#8217;histoire est remonté à la surface.</p>
<p style="text-align: justify;">On notera au passage que <a href="https://www.ssi.gouv.fr/uploads/2015/03/NP_ConfigMateriel.pdf" target="_blank">l&#8217;ANSSI recommandait déjà de désactiver l&#8217;HT depuis 2015 au moins, pour les mêmes raisons</a>.</p>
<p>C&#8217;est donc le moment de sortir les popcorn&#8217;s. <a href="http://www.hypervisor.fr/?p=5298" target="_blank">Quand on se souvient de l&#8217;affaire du salage de TPS pour des histoires de differences de latences de cache en environnement contrôlé</a>, on se régale de la com VMware qui justifiera la désactivation d&#8217;HT dans ESX.</p>
<p><a href="http://www.hypervisor.fr/wp-content/uploads/2018/06/seeingdouble.gif" title="seeingdouble" rel="lightbox[5847]"><img class="aligncenter size-full wp-image-5852" title="seeingdouble" src="http://www.hypervisor.fr/wp-content/uploads/2018/06/seeingdouble.gif" alt="" width="150" height="132" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5847</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oh My Cloud! &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=5594</link>
		<comments>http://www.hypervisor.fr/?p=5594#comments</comments>
		<pubDate>Sun, 17 Apr 2016 23:26:32 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Citrix XenServer]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[DPI]]></category>
		<category><![CDATA[EPT]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[isolation]]></category>
		<category><![CDATA[MITM]]></category>
		<category><![CDATA[NSA]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Snowden]]></category>
		<category><![CDATA[vmm]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5594</guid>
		<description><![CDATA[MAJ 28/05/2016 : Sur XenServer 7, cette feature a un joli nom, HyperVisor Memory Introspection (HVMI)
Nous profitons du recent article de The Information qui décrit la volonté d&#8217;Apple de construire ses propres serveurs en raison d&#8217;une crise de paranoïa, pour partager avec vous une video découverte récemment traitant de Virtual Machine Introspection, une fonctionnalité de l&#8217;API Memory Inspection [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 28/05/2016</span> : <a href="https://www.citrix.com/blogs/2016/05/24/xenserver-7-whats-new/" target="_blank">Sur XenServer 7</a>, cette feature a un joli nom, <strong>HyperVisor Memory Introspection</strong> (<a href="http://files.hypervisor.fr/img/hvmi.jpg" target="_blank">HVMI</a>)</em></p>
<p style="text-align: justify;">Nous profitons du recent article de <a href="http://arstechnica.com/information-technology/2016/03/report-apple-designing-its-own-servers-to-avoid-snooping/">The Information</a> qui décrit la volonté d&#8217;Apple de construire ses propres serveurs en raison d&#8217;une crise de paranoïa, pour partager avec vous une video découverte récemment traitant de <a href="http://wiki.xenproject.org/wiki/Virtual_Machine_Introspection"><strong>Virtual Machine Introspection</strong></a>, une fonctionnalité de l&#8217;API Memory Inspection de l&#8217;Hyperviseur Xen (utilisé par Amazon pour AWS par exemple&#8230;).</p>
<p style="text-align: justify;">Cette vidéo est présentée par Tamas K Lengyel, chercheur en sécurité et développeur actif sur les projets Xen Project Hypervisor, <a href="http://libvmi.com/">LibVMI</a> et <a href="http://drakvuf.com/">DRAKVUF</a> (Dynamic Malware Analysis system). La description faites sur la home du site de ce dernier est particulièrement flipante :</p>
<blockquote>
<p style="text-align: justify;">DRAKVUF is an <strong>agentless dynamic malware analysis system</strong> built on Xen, LibVMI, Volatility and Rekall. It allows for in-depth execution tracing of malware samples and extracting deleted files from memory, <strong>all without having to install any special software within the virtual machine</strong> used for analysis.</p>
</blockquote>
<p style="text-align: justify;">Un peu avant la 3eme minute de la présentation, vous aller voir Tamas <strong>lancer la calculatrice de Windows 7 dans une VM, depuis l&#8217;hyperviseur, en &#8220;hijackant&#8221; la mémoire du GuestOS</strong> à l&#8217;aide de l&#8217;API VMI de Xen. Si si.</p>
<p style="text-align: center;"><object width="500" height="300"><param name="movie" value="http://www.youtube.com/v/k0BVFyyuvRA&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/k0BVFyyuvRA&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="300"></embed></object></p>
<p>Ce projet est loin d&#8217;être recent puisqu&#8217;il date de 2011 et a bien été amélioré depuis :</p>
<blockquote>
<p style="text-align: justify;">In Xen 4.6 a number of significant improvements to Xen’s Virtual Machine Introspection (VMI) subsystems make it the best hypervisor for security applications. Hardware support for VM Functions (VMFunc) available on Intel’s 4th generation Haswell CPUs and Atom Silvermont CPUs decreases overheads. Support for Virtualization Exceptions is now available on Intel’s 5th generation Broadwell CPUs and Atom Goldmont CPUs has significantly reduced latency. VMI support for ARM CPUs has also been added.</p>
</blockquote>
<p>On vous laisse méditer sur les fonctions clefs du projets pendant que votre DSI se félicite d&#8217;avoir migré tout son système d&#8217;information sur Azure&#8230;</p>
<ul>
<li><strong>Agentless start of malware execution</strong>.</li>
<li>Agentless monitoring of Windows internal kernel functions.</li>
<li>Guest multi-vCPU support.</li>
<li>Tracing heap allocations.</li>
<li>Tracing files being accessed.</li>
<li>Extracting files from memory before they are deleted.</li>
<li><strong>Cloning of analysis VMs via copy-on-write memory and disk</strong>.</li>
</ul>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/hackers-cast-at-phonebooths.jpg" alt="" width="500" height="308" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5594</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ftp.dell.com direct iDRAC update &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=5696</link>
		<comments>http://www.hypervisor.fr/?p=5696#comments</comments>
		<pubDate>Sun, 03 Apr 2016 23:04:53 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[iDRAC]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5696</guid>
		<description><![CDATA[MAJ 19/11/2021 : Dell a coupé le service ftp à partir de février 2021 mais il est possible de passer en https pour les idrac qui le supporte (une maj est parfois nécessaire) :
Dell EMC has retired ftp.dell.com and transitioned exclusively to a global downloads site with regional hosted repositories .Feb 21, 2021


MAJ 27/07/2016 : [...]]]></description>
			<content:encoded><![CDATA[<p><em><span style="color: #ff0000;">MAJ 19/11/2021</span> : Dell a coupé le service ftp à partir de février 2021 mais <a href="https://www.dell.com/support/kbdoc/en-us/000132986/dell-emc-catalog-links-for-poweredge-servers" target="_blank">il est possible de passer en https pour les idrac qui le supporte</a> (une maj est <em>parfois </em>nécessaire) :</em></p>
<blockquote><p>Dell EMC has retired ftp.dell.com and transitioned exclusively to a global downloads site with regional hosted repositories .Feb 21, 2021</p></blockquote>
<p style="text-align: center;"><em><a href="https://files.hypervisor.fr/img/ftp_dell_com/idrac_https.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/ftp_dell_com/idrac_https.png" alt="" width="476" height="330" /></a><br />
</em></p>
<p><em><span style="color: #ff0000;">MAJ 27/07/2016</span> : <a href="https://twitter.com/mindflux/status/753976102394093569" target="_blank">Il semblerait</a> que la valeur &#8220;<strong>/catalog</strong>&#8221; pour la <strong>Catalog Location</strong> offre des versions nettement plus up2date.</em></p>
<p>Parmi <a href="http://www.dell.com/support/article/us/en/19/SLN293301/en" target="_blank">les nombreuses méthodes pour upgrader les firmware des composants d&#8217;un serveur Dell</a>, il y en une qui nous intéressait beaucoup mais que nous n&#8217;arrivions pas à faire fonctionner : <a href="http://en.community.dell.com/techcenter/extras/m/white_papers/20438129/download" target="_blank">la méthode <strong>ftp.dell.com</strong></a></p>
<blockquote><p>The repository could either be <strong>ftp.dell.com</strong> or a user generated repository on the local network share.</p></blockquote>
<p style="text-align: justify;">Sur les serveurs Dell relativement récents, il est en effet possible de &#8220;stager&#8221; et &#8220;scheduler&#8221; toutes les updates matérielles possibles directement depuis l&#8217;iDRAC en live depuis le ftp Dell. Et <strong>depuis la version v.2.21.21.21 les firmwares des HDD/SSD sont complètement supportés</strong> même sur un contrôleur en mode HBA (passthrough).</p>
<p style="text-align: justify;">Malheureusement impossible de trouver dans les docs Dell les informations nécessaires pour y arriver :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ko.png" title="idrac_ftp_ko" rel="lightbox[5696]"><img class="aligncenter size-medium wp-image-5701" title="idrac_ftp_ko" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ko-299x242.png" alt="" width="299" height="242" /></a></p>
<p style="text-align: left;">Mais ça c’était avant de connaitre Lionel, Onsite System Engineer chez Dell, qui nous a donné le trick :</p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ok.png" title="idrac_ftp_ok" rel="lightbox[5696]"><img class="aligncenter size-medium wp-image-5712" title="idrac_ftp_ok" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ok-300x274.png" alt="" width="300" height="274" /></a></p>
<p style="text-align: center;">
<blockquote><p>FTP Address : <strong>ftp.dell.com</strong><br />
User Name : <strong>anonymous</strong><br />
Password : <strong>user@domain.com</strong><br />
Catalog Location : <strong>/</strong><br />
Catalog Filename : <strong>Catalog.xml.gz</strong></p></blockquote>
<p style="text-align: left;">D’après le serveur ftp de Dell, le password doit etre un e-mail : &#8220;<strong>Anonymous access allowed, send identity (e-mail name) as password.</strong>&#8220;</p>
<p style="text-align: left;">Ensuite vous rebootez quand vous voulez et les patchs sont appliqués (rapidement) par le Lifecycle Controler :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ok_install.png" title="idrac_ftp_ok_install" rel="lightbox[5696]"><img class="alignnone size-thumbnail wp-image-5714" title="idrac_ftp_ok_install" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ok_install-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ok_reboot.png" title="idrac_ftp_ok_reboot" rel="lightbox[5696]"><img class="alignnone size-thumbnail wp-image-5715" title="idrac_ftp_ok_reboot" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ok_reboot-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ok_lifecycle.png" title="idrac_ftp_ok_lifecycle" rel="lightbox[5696]"><img class="alignnone size-thumbnail wp-image-5716" title="idrac_ftp_ok_lifecycle" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ok_lifecycle-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/ftp_dell_com/idrac_ftp_ok_flash.png" title="idrac_ftp_ok_flash" rel="lightbox[5696]"><img class="alignnone size-thumbnail wp-image-5717" title="idrac_ftp_ok_flash" src="http://www.hypervisor.fr/wp-content/uploads/2016/04/idrac_ftp_ok_flash-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Merci Lionel <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5696</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>visor-thin &amp; vsantraces</title>
		<link>http://www.hypervisor.fr/?p=5592</link>
		<comments>http://www.hypervisor.fr/?p=5592#comments</comments>
		<pubDate>Sat, 10 Oct 2015 21:13:14 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[scratch]]></category>
		<category><![CDATA[SD card]]></category>
		<category><![CDATA[stateless]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[VisorFS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5592</guid>
		<description><![CDATA[Sur un cluster VSAN composé d&#8217;ESXi 6.0 bootant sur des cartes SD, nous avons récemment été confronté à ces erreurs :
&#60;14&#62;2015-09-04T22:03:39.616Z esx.vmware.com vobd:  [VisorfsCorrelator] 2274728093499us: [esx.problem.visorfs.ramdisk.full] The ramdisk &#8216;vsantraces&#8217; is full.  As a result, the file /vsantraces/vsantraces&#8211;2015-09-04T21h31m52s079.gz could not be written.
[...]
&#60;14&#62;2015-09-04T21:00:53.492Z esx.vmware.com vobd:  [VisorfsCorrelator] 2269273677949us: [vob.visorfs.ramdisk.full] Cannot extend visorfs file /vsantraces/vsantraces&#8211;2015-09-04T19h34m10s776.gz because its ramdisk (vsantraces) [...]]]></description>
			<content:encoded><![CDATA[<p>Sur un <strong>cluster VSAN composé d&#8217;ESXi 6.0 bootant sur des cartes SD</strong>, nous avons récemment été confronté à ces erreurs :</p>
<blockquote><p>&lt;14&gt;2015-09-04T22:03:39.616Z esx.vmware.com vobd:  [VisorfsCorrelator] 2274728093499us: [esx.problem.visorfs.ramdisk.full] The ramdisk &#8216;vsantraces&#8217; is full.  As a result, the file /vsantraces/vsantraces&#8211;2015-09-04T21h31m52s079.gz could not be written.</p>
<p>[...]</p>
<p>&lt;14&gt;2015-09-04T21:00:53.492Z esx.vmware.com vobd:  [VisorfsCorrelator] 2269273677949us: [vob.visorfs.ramdisk.full] Cannot extend visorfs file /vsantraces/vsantraces&#8211;2015-09-04T19h34m10s776.gz because its ramdisk (vsantraces) is full.</p></blockquote>
<p style="text-align: justify;">La cause de ce problème est assez simple : <a href="http://www.hypervisor.fr/?p=2405"><strong>booter ESXi via USB ou SD card = visor-thin = partition /scratch dans la RAM</strong></a>. Et quand vous n&#8217;avez pas de scratch persistante, <strong>la partition /vsantraces est configurée par défaut à 300MB</strong> comme vous pouvez le constater dans /etc/vmware/vsan/vsantraced.conf :</p>
<blockquote><p># Ramdisk size in MB (do not increase over 300MB without a matching increase<br />
# to coredump size).<br />
#VSANTRACED_RAMDISK_SIZE=300</p></blockquote>
<p>Or comme l&#8217;explique Cormac dans son post <a href="http://cormachogan.com/2015/02/24/vsan-considerations-when-booting-from-usbsd/">VSAN considerations when booting from USB/SD</a> :</p>
<blockquote><p><strong>VSAN traces require ~500MB of disk space.</strong></p></blockquote>
<p style="text-align: justify;">Aprés quelques échanges avec le support VMware, il nous a été confirmé qu&#8217;il était possible et <strong>supporté</strong> de changer la taille de cette partition en modifiant vsantraced.conf, ce que nous avons pu tester et valider en l’augmentant à 500MB pour mettre fin aux erreurs :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/VSAN/vsantraces_500MB.png" alt="" width="491" height="203" /></p>
<p>GSS nous a cependant mis en garde :</p>
<blockquote><p>Just be aware that if you do so, you also must increase coredump size by the same value.</p></blockquote>
<p>Il nous a également fallu <a href="http://kb.vmware.com/kb/1010611"><strong>rediriger le workingdir de la commande vm-support</strong></a> (lorsque nous en avons besoin) pour éviter l&#8217;erreur suivante :</p>
<blockquote><p>IOError: [Errno 28] No space left on device</p></blockquote>
<p>Une autre info interessante sur le sujet : <a href="http://cormachogan.com/2015/08/14/handling-vsan-trace-files-when-esxi-boots-from-a-flash-device/">Handling VSAN trace files when ESXi boots from a flash device</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5592</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SendNMI in your face</title>
		<link>http://www.hypervisor.fr/?p=5556</link>
		<comments>http://www.hypervisor.fr/?p=5556#comments</comments>
		<pubDate>Tue, 16 Jun 2015 21:54:46 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[NMI]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5556</guid>
		<description><![CDATA[A chaque nouvelle version de vSphere, c&#8217;est toujours un plaisir de fouiller dans le SDK. La cuvée 2015 offre son lot de surprises comme le GuestWindowsRegistryManager qui permet de gérer la registry de Windows directement via les API VIX, des traces du projet VMFork (aka Linked Clones ++) qu&#8217;on attend avec impatience ou encore la possibilité [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">A chaque nouvelle version de vSphere, c&#8217;est toujours un plaisir de fouiller dans le SDK. <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/new-mo-types-landing.html">La cuvée 2015</a> offre son lot de surprises comme le <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vm.guest.WindowsRegistryManager.html" target="_blank">GuestWindowsRegistryManager</a> qui permet de <strong>gérer la registry de Windows directement via les API VIX</strong>, <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vm.ForkConfigInfo.html" target="_blank">des traces</a> du <a href="http://www.yellow-bricks.com/2014/10/07/project-fargo-aka-vmfork-what-is-it/" target="_blank">projet <strong>VMFork</strong></a> (aka Linked Clones ++) qu&#8217;on attend avec impatience ou encore <strong><a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.VirtualMachine.html#sendNMI">la possibilité d&#8217;envoyer une non-maskable interrupt</a></strong> (<a href="https://en.wikipedia.org/wiki/Non-maskable_interrupt">aka NMI</a>) à une VM pour un troubleshooting velu.</p>
<p>Historiquement, il était un peu complexe de générer ce genre d’interruption <a href="http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-bsodpanic-a-virtual-machine-in-esxi.html">comme le détail William</a> mais avec cette nouvelle API cela devient un jeu d&#8217;enfant en PowerCLI :</p>
<pre class="brush: powershell; title: ; notranslate">(Get-VM toto|Get-View).SendNMI()</pre>
<p>Malheureusement, connecté au vCenter, on se mange une jolie erreur :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SendNMI/SendNMI_vCenter_error.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/SendNMI/SendNMI_vCenter_error.png" alt="" width="521" height="90" /></a></p>
<blockquote>
<p style="text-align: left;">Exception calling &#8220;SendNMI&#8221; with &#8220;0&#8243; argument(s): &#8220;The requested operation is not implemented by the server.&#8221;</p>
</blockquote>
<p><strong>Connecté en direct sur un ESX</strong> ça se passe nettement mieux :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SendNMI/SendNMI_ESXi_task.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/SendNMI/SendNMI_ESXi_task.png" alt="" width="431" height="117" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SendNMI/SendNMI_BSOD.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/SendNMI/SendNMI_BSOD.png" alt="" width="454" height="379" /></a></p>
<p style="text-align: left;">En prime, on droit au nouvel événement <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.event.VmGuestOSCrashedEvent.html" target="_blank">VmGuestOSCrashedEvent</a> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SendNMI/SendNMI_ESXi_event.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/SendNMI/SendNMI_ESXi_event.png" alt="" width="547" height="180" /></a></p>
<blockquote>
<p style="text-align: left;">&lt;166&gt;NoneZ visor04.lab.schitz.org Hostd: 2015-06-04T22:21:45.933Z info hostd[6DE83B70] [Originator@6876 sub=Vimsvc.ha-eventmgr] Event 894 : Win10 on visor04.lab.schitz.org: <strong>Guest operating system has crashed</strong>.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5556</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full Metal 8</title>
		<link>http://www.hypervisor.fr/?p=5492</link>
		<comments>http://www.hypervisor.fr/?p=5492#comments</comments>
		<pubDate>Fri, 24 Apr 2015 14:45:13 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[EZ Compact]]></category>
		<category><![CDATA[FreeNAS]]></category>
		<category><![CDATA[Icy Dock]]></category>
		<category><![CDATA[IOPS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5492</guid>
		<description><![CDATA[Il y a bientôt 3 ans, nous testions le Backplane Icy Dock ToughArmor Full Metal 6 permettant de faire tenir 6 HDD/SSD 2.5&#8243; de 7 à 9 mm dans un emplacement 5.25&#8243; ce qui était déjà une performance honorable à l&#8217;époque. Aujourd&#8217;hui, nous testons son improbable grand frère le Full Metal 8 qui permet, comme [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il y a bientôt 3 ans, nous testions le <a href="http://www.hypervisor.fr/?p=4093" target="_blank">Backplane Icy Dock ToughArmor Full Metal 6</a> permettant de faire tenir 6 HDD/SSD 2.5&#8243; de 7 à 9 mm dans un emplacement 5.25&#8243; ce qui était déjà une performance honorable à l&#8217;époque. Aujourd&#8217;hui, nous testons son improbable grand frère <a href="http://www.icydock.com/product/images/mb998sp-b_kit.jpg" target="_blank">le <strong><strong>Full Metal 8</strong></strong></a> qui permet, comme vous l&#8217;aurez certainement deviné, de <strong>faire tenir 8 HDD/SSD 2.5&#8243; de 7 mm dans un seul emplacement 5.25&#8243;</strong> ! Contrairement à son petit frère, le Full Metal 8 n&#8217;a toujours pas de concurrent à ce jour.</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/EZ8_resized_s.jpg" alt="" width="521" height="509" /></p>
<p style="text-align: justify;">Pour ce test nous nous sommes procuré des <a href="http://www.intel.com/content/www/us/en/solid-state-drives/solid-state-drives-530-series.html" target="_blank">SSD Intel 530</a> afin de vérifier que le design du PCB ne représente pas un frein aux performances et la faible latence des puces NAND. Nous nous sommes également amusé à démonter le backplane pour étudier la construction générale du produit.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZ8/SSD_unbox.jpg" title="SSD_unbox" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5502" title="SSD_unbox" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/SSD_unbox-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZ8/SSD_space.jpg" title="SSD_space" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5503" title="SSD_space" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/SSD_space-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZ8/SSD_racked.jpg" title="SSD_racked" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5504" title="SSD_racked" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/SSD_racked-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZ8/IMG_0019.JPG" title="IMG_0019" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5505" title="IMG_0019" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/IMG_0019-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZ8/IMG_0020.JPG" title="IMG_0020" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5506" title="IMG_0020" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/IMG_0020-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZ8/IMG_0015.JPG" title="IMG_0015" rel="lightbox[5492]"><img class="alignnone size-thumbnail wp-image-5507" title="IMG_0015" src="http://www.hypervisor.fr/wp-content/uploads/2015/04/IMG_0015-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;">Contrairement à ce que nous avions imaginé, vous pouvez constater sur les photos qu&#8217;il reste encore un peu de place entre les SSD ce qui peut laisser envisager une version 10 slots (SSD only par contre) ! Compte tenu de l&#8217;usage cible nous avons retiré les 2 ventilateurs 40 mm ce qui facilite le câblage et nous précisons au passage qu&#8217;une seule prise d&#8217;alimentation peut suffire même si nous craignons que ce ne soit pas idéal pour le PCB. Comme pour les autres produit de la gamme, la finition est très bonne et le coté &#8220;full metal&#8221; offre clairement une impression semblable aux produits des gammes professionnels chez les grands constructeurs.</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/ML110.jpg" alt="" width="444" height="377" /></p>
<p style="text-align: justify;">Pour le benchmark, nous avons installé le rack dans un HP ML 110 G6 équipé d&#8217;un Xeon  x3430 et d&#8217;une carte LSI 9240-8i. C&#8217;est sur FreeNAS 9.3 que nous avons lancé iozone afin d&#8217;obtenir un résultat un peu plus réaliste qu&#8217;avec un simple dd :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZ8/iozone_16g_1m.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/iozone_16g_1m_cut.png" alt="" width="413" height="369" /></a></p>
<p style="text-align: justify;"><strong>180 µs de latence à 2.5 Go/s</strong> c&#8217;est quand même pas mal du tout <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/EZ8/FM8.jpg"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/FM8s.jpg" alt="" width="470" height="266" /></a></p>
<p style="text-align: justify;">Durant le test de &#8220;reread&#8221;, nous avons pris une capture d&#8217;iostat pour avoir une idée de l&#8217;état des SSD et on remarque qu&#8217;ils ne sont même pas au maximum de leur capacité à en croire le %b :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/read_max.png" alt="" width="443" height="471" /></p>
<p style="text-align: justify;">Et pour le fun, on s&#8217;est dit que ce serait la classe dans mettre ça dans un N40L même si le processeur est loin de pouvoir suivre :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZ8/N40L.jpg" alt="" width="442" height="542" /></p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5492</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Phucking Salt</title>
		<link>http://www.hypervisor.fr/?p=5298</link>
		<comments>http://www.hypervisor.fr/?p=5298#comments</comments>
		<pubDate>Fri, 13 Feb 2015 07:54:16 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[overcommit]]></category>
		<category><![CDATA[salt]]></category>
		<category><![CDATA[TPS]]></category>
		<category><![CDATA[Transparent Page Sharing]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5298</guid>
		<description><![CDATA[MAJ 18/05/2016 : Finalement les Large Pages c&#8217;est vraiment pas top&#8230;

These issues are due to bug in large page promotion path on destination host during vMotion.

MAJ 22/10/2015 : Et encore des mecs qui confondent cloud et homelab&#8230;
All experiments run on a dual CPU blade server with two AMD Opteron 6272 CPUs (16 cores each) and [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 18/05/2016</span> : <a href="https://kb.vmware.com/kb/2144984" target="_blank">Finalement les Large Pages c&#8217;est vraiment pas top</a>&#8230;</em></p>
<blockquote>
<p style="text-align: justify;"><em>These issues are due to bug in large page promotion path on destination host during vMotion.</em></p>
</blockquote>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 22/10/2015</span> : Et encore des mecs qui <a href="https://www.usenix.org/system/files/conference/woot15/woot15-paper-barresi.pdf" target="_blank">confondent cloud et homelab</a>&#8230;</em></p>
<blockquote><p>All experiments run on a dual CPU blade server with two AMD Opteron 6272 CPUs (16 cores each) and 32 GB of RAM.</p></blockquote>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 26/02/2015</span> : <a href="http://kb.vmware.com/kb/2101903" target="_blank">Le patch pour la 5.0 vient de sortir</a>, la boucle est bouclée.</em></p>
<p style="text-align: justify;">Vous ne vous en êtes peut être pas rendu compte lors de votre dernière campagne de patching mais <a href="http://blogs.vmware.com/security/2014/10/transparent-page-sharing-additional-management-capabilities-new-default-settings.html" target="_blank"><strong>depuis mi-Octobre 2014, tout nouveau patch d&#8217;ESXi ajoute une fonctionnalité de salage pour TPS</strong></a>. <strong>Désactivée lors de son introduction mais bien destinée à être activée de force lors d&#8217;un patch ultérieur</strong>. Jusqu’à fin Janvier, seule la version 5.1 était concernée mais depuis le 27/01 la version 5.5 bénéficie aussi de cette nouvelle &#8220;feature&#8221;. <span style="text-decoration: line-through;">La 5.0 est encore épargnée à ce jour</span>.</p>
<blockquote>
<p style="text-align: justify;">As we noted earlier on Oct 16, Nov 24 and Dec 4, VMware has introduced new TPS (Transparent Page Sharing) management options. Today’s release of ESXi 5.5 U2d restricts TPS to individual VMs and disables inter-VM TPS by default unless an administrator chooses to re-enable it. Please see <a href="http://kb.vmware.com/kb/2097593" target="_blank">KB 2097593</a> for full details on the functionality.</p>
</blockquote>
<p style="text-align: justify;"><strong>Depuis l&#8217;annonce, beaucoup de bullshit</strong>. De nombreux blogeurs ont donné leur avis sur la question en omettant volontairement (aka je-suis-pas-un-expert-en-sécu) d&#8217;analyser les recherches qui ont abouti a cette rustine. Nous ne sommes pas expert en matière de sécurité non plus, par contre on ne va pas se gêner pour décortiquer les résultats de ces recherches et les critiquer. On commence par <a href="http://kb.vmware.com/kb/2080735" target="_blank">la kb 2080735 de VMware</a> :</p>
<blockquote>
<p style="text-align: justify;">Published academic papers have demonstrated that by forcing a flush and reload of cache memory, it is possible to measure memory timings to try and determine an AES encryption key in use on another virtual machine running on the same physical processor of the host server if Transparent Page Sharing is enabled between the two virtual machines. <strong>This technique works only in a highly controlled system configured in a non-standard way that VMware believes would not be recreated in a production environment</strong>.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">Even though VMware believes information being disclosed <strong>in real world conditions is unrealistic</strong>, out of an abundance of caution upcoming ESXi Update releases will no longer enable TPS between Virtual Machines by default</p>
</blockquote>
<p>C&#8217;est pourtant clair mais VMware à quand même choisi de jouer la carte de la sécurité.</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/BeginNoSaltArea.jpg" alt="" width="306" height="203" /></p>
<p style="text-align: justify;">Une petit coup de Google nous a rapidement permis d&#8217;identifier les rapports de recherche à l&#8217;origine du mélodrame : <a href="https://eprint.iacr.org/2014/248.pdf" target="_blank">Fine grain Cross-VM Attacks on Xen and VMware are possible!</a> et <a href="https://eprint.iacr.org/2014/435.pdf" target="_blank">Wait a minute! A fast, Cross-VM attack on AES</a> dont les travaux semble basés sur un autre rapport datant de 2013 : <a href="https://eprint.iacr.org/2013/448.pdf" target="_blank">FLUSH+RELOAD: a High Resolution, Low Noise, L3 Cache Side-Channel Attack</a></p>
<p>Extraits choisis du document de 2013 :</p>
<blockquote>
<p style="text-align: justify;">The technique uses the processor’s clflush instruction to evict the monitored memory locations from the cache, and then tests whether the data in these locations is back in the cache after allowing the victim program to execute a small number of instructions.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">While copy-on-write protects shared pages from modifications, it is not fully transparent. <strong>The delay introduced when modifying a shared page can be detected</strong> by processes, leading to a potential information leak attack.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">An important feature of the LLC in modern Intel processors is that it is an inclusive cache (NDLR : <a href="http://en.wikipedia.org/wiki/CPU_cache#Exclusive_versus_inclusive" target="_blank">Et donc pas AMD</a>). That is, the LLC contains copies of all of the data stored in the lower cache levels. Consequently, flushing or evicting data from the LLC also remove said data from all other cache levels of the processor. Our attack exploits this cache behaviour.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;"><strong>Retrieving data from memory or from cache levels closer to memory takes longer than retrieving it from cache levels closer to the core. This difference in timing has been exploited for side-channel attacks</strong>.</p>
</blockquote>
<blockquote>
<p style="text-align: justify;">A round of attack consists of three phases. During the first phase, the monitored memory line is flushed from the cache hierarchy.</p>
<p style="text-align: justify;">The spy, then, waits to allow the victim time to access the memory line before the third phase.</p>
<p style="text-align: justify;">In the third phase, the spy reloads the memory line, measuring the time to load it. If during the wait phase the victim accesses the memory line, the line will be available in the cache and the reload operation will take a short time.</p>
</blockquote>
<p style="text-align: justify;">Maintenant qu&#8217;on en sait un peut plus sur la nature de l&#8217;attaque, voyons un peu les contraintes d&#8217;applications dans la vraie vie :</p>
<blockquote>
<p style="text-align: justify;">For a virtualised environment, <strong>the attacker needs access to a guest co-located on the same host as the victim guest</strong>. <a href="https://cseweb.ucsd.edu/~hovav/dist/cloudsec.pdf" target="_blank">Techniques for achieving co-location are described by Ristenpart et al</a>.<br />
[...]<br />
Identifying the OS and software version in co-resident guests has been dealt with <a href="https://staff.aist.go.jp/c.artho/papers/EuroSec2011-suzaki.pdf" target="_blank">in past research</a>.</p>
</blockquote>
<p>D&#8217;un coup de baguette magique, on se retrouve sur le même ESX avec le même GuestOS. Facile. On continue :</p>
<blockquote>
<p style="text-align: justify;">For the attack to work, <strong>the spy and the victim must execute on the same physical processor</strong>. For our testing, we set the processor affinity on the multi-processor system. However, in a real attack scenario the attack depends on the system scheduler.</p>
</blockquote>
<p style="text-align: justify;">Vous avez bien lu, la VM de l&#8217;attaquant doit résider sur le même processeur que la VM de la victime. Cache L3 oblige. Et c&#8217;est pas fini :</p>
<blockquote>
<p style="text-align: justify;"><strong>When performing the tests, the spy and the victim were the only load on the system</strong>. Such a scenario is not representative of a real system where multiple processes are running. We expect such load to create noise that will affect the quality of capture. Furthermore, for a load that includes multiple parallel instances of GnuPG, the spy will be unable to distinguish between memory access of each instance and will be unable to recover any data.</p>
</blockquote>
<p style="text-align: justify;">Donc, pour que l&#8217;attaque soit réalisable,<strong> il faut que la VM de l&#8217;attaquant se retrouve, avec la VM de la victime, seules sur le même socket du même ESX et avec le même GuestOS !</strong> Et c&#8217;est toujours pas fini.</p>
<p>Extraits choisis du document sur l&#8217;attaque AES :</p>
<blockquote>
<p style="text-align: justify;">We know that VMware implements TPS with large pages (2 MB) or small pages (4 KB). <strong>We decided to use the later one, since it seems to be the default for most systems</strong>. Furthermore, as stated in [<a href="http://www.vmware.com/files/pdf/mem_mgmt_perf_vsphere5.pdf" target="_blank">28</a>], even if the large page sharing is selected, the VMM will still look for identical small pages to share.</p>
</blockquote>
<p style="text-align: justify;">Sachant que <a href="http://www.hypervisor.fr/?p=4401" target="_blank"><strong>TPS ne supporte pas les large pages</strong></a> qui sont la configuration par défaut d&#8217;ESX depuis des années, non seulement <strong>ESX ne serait que partiellement vulnérable uniquement en cas d&#8217;overcommit important</strong> mais de plus le contexte initiale de l’étude est complètement faux.</p>
<blockquote>
<p style="text-align: justify;">Disabling the deduplication would make the attack impossible in the cloud however memory deduplication is highly performance beneficial, especially in cloud where multiple users share the same hardware. This is why we believe that the system designers should restrict the deduplication mechanism rather then completely disabling it.</p>
</blockquote>
<p>Quel dilemme&#8230;</p>
<blockquote><p>We not only performed the attack in native machine, but also in a <strong>cloud-like cross-VM scenario</strong>.</p></blockquote>
<p>&#8220;cloud-like&#8221; et pourtant :</p>
<blockquote><p>All experiments were performed on a machine featuring an Intel i5-3320M four core clocked at 3.2GHz.</p></blockquote>
<p><strong>Ironie du sort, <a href="https://eprint.iacr.org/2014/970.pdf" target="_blank">un récent rapport de recherche décrit un nouveau type d&#8217;attaque sur le cache L3 en exploitant&#8230;les large pages</a> !</strong></p>
<blockquote>
<p style="text-align: justify;"><strong>S$A: A new deduplication free L3 cache side channel technique</strong>: We proposed a new side channel technique that is applied in the L3 cache and therefore can be applied in cross-core scenarios. The new side channel technique bases its methodology in the usage of huge size pages, which give extra information about the position that each memory location occupies in the L3 cache.</p>
</blockquote>
<p>Prochaine étape : désactivation des large pages par défaut ou V2P en masse.</p>
<blockquote>
<p style="text-align: justify;">The relevance of these studies is highlighted by the prompt security update by VMware, making memory deduplication an opt-in feature that was formerly enabled by default.<br />
[...]<br />
We have disclosed our attack to the security teams of VMware, Amazon AWS and Citrix.</p>
</blockquote>
<p style="text-align: justify;">Mais revenons en au salting et à ses effets en cas d&#8217;overcommit. Sur un Dell R730 avec 256Go de RAM, nous nous sommes amusé à démarrer <strong>512 VM</strong> SUSE 11 x64 1vcpu 2Go de vRAM avec des combinaisons de settings Mem.ShareForceSalting et Mem.AllocGuestLargePage différentes. Pour éviter que ça coince pendant le swapout, nous avons <strong>redirigé les vswp sur des SSD NVMe</strong>. On commence en mode défaut (<strong>Mem.ShareForceSalting=2</strong> et <strong>Mem.AllocGuestLargePage=1</strong>) :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_2_AllocGuestLargePage_1.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_2_AllocGuestLargePage_1s.png" alt="" width="480" height="254" /></a></p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_2_AllocGuestLargePage_1.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_2_AllocGuestLargePage_1s.png" alt="" width="440" height="94" /></a></p>
<p style="text-align: justify;">La courbe d&#8217;overhead (orange) permet de se rendre compte de la progression du démarrage des 512 VM. On remarque qu&#8217;au 3/4 du bootstorm le premier mécanisme de reclaim est la swap, viennent ensuite la compression, le ballooning et seulement après le sharing (principalement des zéros). Avec 23Go de swap et 43Go de zip, n’espérez pas des temps de réponses de folie même avec du SSD. On continue sans le salting (<strong>Mem.ShareForceSalting=0</strong> et <strong>Mem.AllocGuestLargePage=1</strong>) :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_1.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_1s.png" alt="" width="480" height="254" /></a></p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_1.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_1s.png" alt="" width="452" height="92" /></a></p>
<p>Avec plus de 100Go de sharing et seulement 3,6Go de swap les effets de l&#8217;overcommit (3:1 quand même) sont presque imperceptibles dans ce scénario même si on regrette de constater que le swapping est encore le 1er mécanisme à se déclencher. Maintenant passons en full small pages (<strong>Mem.ShareForceSalting=0</strong> et <strong>Mem.AllocGuestLargePage=0</strong>) :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_0.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_0s.png" alt="" width="480" height="254" /></a></p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_0.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_0s.png" alt="" width="445" height="92" /></a></p>
<p style="text-align: justify;">Là on est au top, 200Go de sharing et un démarrage tout en douceur sans swap, compression ni balloon. Et pour finir, notre <a href="http://www.hypervisor.fr/?p=5265" target="_blank">fameuse technique du Large Page on Demand</a> (<strong>Mem.ShareForceSalting=0</strong> <strong>Mem.AllocGuestLargePage=1</strong> et <strong>LPage.LPageAlwaysTryForNPT=0</strong>) :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_1_LPageAlwaysTryForNPT_0.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/vim_ShareForceSalting_0_AllocGuestLargePage_1_LPageAlwaysTryForNPT_0s.png" alt="" width="480" height="254" /></a></p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_1_LPageAlwaysTryForNPT_0.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/salt/esxtop_ShareForceSalting_0_AllocGuestLargePage_1_LPageAlwaysTryForNPT_0s.png" alt="" width="469" height="92" /></a></p>
<p style="text-align: justify;">Même chose mais avec &#8220;seulement&#8221; 143Go de sharing, la différence étant vraisemblablement attribuée à des large pages.</p>
<p style="text-align: justify;">Moralité, <strong>optez pour un régime sans sel !</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5298</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>thin&#124;thick on thin&#124;thick chick chicky boom &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=5318</link>
		<comments>http://www.hypervisor.fr/?p=5318#comments</comments>
		<pubDate>Mon, 15 Dec 2014 09:33:44 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[LUN]]></category>
		<category><![CDATA[overcommit]]></category>
		<category><![CDATA[thin provisioning]]></category>
		<category><![CDATA[VAAI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5318</guid>
		<description><![CDATA[MAJ 11/05/2017 : Et voila ce que ça donne en production :


Nous profitons de la sortie de FreeNAS 9.3, qui introduit le support des primitives VAAI TPST et TPSTUN, pour dissiper, une bonne fois pour toute on l&#8217;espère, le brouillard de bullshit récurant autour du thin on thin (en mode block).


Pour rappel, TPST(W) et TPSTUN, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 11/05/2017</span> : Et voila ce que ça donne en production :</em></p>
<p style="text-align: center;"><em><a href="http://files.hypervisor.fr/img/Thin_on_Thin/TPST_IRL.png" title="TPST_IRL" rel="lightbox[5318]"><img class="aligncenter size-medium wp-image-5813" title="TPST_IRL" src="http://www.hypervisor.fr/wp-content/uploads/2014/12/TPST_IRL-300x191.png" alt="" width="300" height="191" /></a><br />
</em></p>
<p>Nous profitons de la sortie de FreeNAS 9.3, <a href="http://download.freenas.org/9.3/RELEASE/ReleaseNotes" target="_blank">qui introduit le support des primitives VAAI TPST et TPSTUN</a>, pour dissiper, une bonne fois pour toute on l&#8217;espère, le brouillard de bullshit récurant autour du thin on thin (en mode block).</p>
<p style="text-align: center;"><a href="http://en.wikipedia.org/wiki/MV_Blue_Marlin" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/blue_marlin_overcommit.jpg" alt="" width="486" height="243" /></a></p>
<p style="text-align: center;">
<p style="text-align: justify;">Pour rappel, TPST(W) et TPSTUN, respectivement Thin Provisioning Space Threshold (Warning) et Thin Provisioning Stun, <a href="http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-Storage-API-Array-Integration.pdf#page=6" target="_blank">ont été introduites avec vSphere 5.0</a> très probablement <strong>pour répondre aux énormes risques que représente le thin on thin</strong> aka stocker un vmdk thin sur un LUN thin (TPSTUN existait en 4.1 sous le nom <em>Out of Space Condition</em> mais uniquement via plugin constructeur).</p>
<p style="text-align: justify;">En effet, l&#8217;espace disponible d&#8217;un datastore VMFS est calculé de l&#8217;espace consommé par rapport à la taille du filesystem (SCSI oblige) contrairement à un datastore NFS qui interroge la baie/serveur pour le savoir. Ainsi, ESX n&#8217;a aucun moyen de savoir s&#8217;il reste assez ou plus (+) d&#8217;espace qu&#8217;il ne le croit. TPST (<a href="http://www.t10.org/lists/asc-num.htm#ASC_38" target="_blank">0&#215;6 0&#215;38 0&#215;7</a>) et TPSTUN (<a href="http://www.t10.org/lists/asc-num.htm#ASC_27" target="_blank">0&#215;7 0&#215;27 0&#215;7</a>) permettent à la baie/target de palier précisément à ce problème en envoyant aux clients/initiator des commandes SCSI lors du passage d&#8217;un certain seuil et/ou lorsqu&#8217;il n&#8217;y a plus d&#8217;espace du tout.</p>
<p style="text-align: justify;">Soyons clair : <strong>thin|thick on thin sans TPSTUN + saturation de la baie = corruption de VM</strong>. Vous pouvez facilement le vérifier en faisant un test et sachez que nous l&#8217;avons vécu en production avec nos confrères <a href="http://www.vmdude.fr/" target="_blank">vmdude</a> et dagnu. On était content d&#8217;avoir du (<span style="color: #339966;"><strong>veeam</strong></span>) backup&#8230;</p>
<p>Avant de rentrer dans le détail, voici un aperçu de notre vision des avantages et inconvénients des différentes combinaisons thin|thick on thin|thick :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/radar.png" alt="" width="417" height="357" /></p>
<ul>
<li style="text-align: justify;"><strong>thick on thick</strong> : le top du top dans tous les domaines sauf celui le la rentabilité. Presqu&#8217;aucune intervention humaine n&#8217;est nécessaire excepté si les VM subissent des snapshot. Financièrement, c&#8217;est évidement la pire des solutions.</li>
<li style="text-align: justify;"><strong>thin on thick</strong> : le meilleur compromis. Seul l&#8217;espace touché est consommé (coté VMware) et en cas de datastore full seules les vm qui veulent grossir sont freezées.</li>
<li style="text-align: justify;"><strong>thin on thin</strong> : le rêve des admins SAN, le cauchemar des admins VMware. Cette solution nécessite un monitoring au top du sol au plafond et des tests de validation avant mise en production. Sans les primitives TPST et TPSTUN, cette solution est très proche de la roulette russe.</li>
<li style="text-align: justify;"><strong>thick on thin</strong> : les inconvénients du thin on thin sans les avantages. Vous pensez réserver l&#8217;espace en faisant du eagerzeroedthick mais en réalité la baie récupère les zéros et compresse le reste. Heureusement TPSTUN agit aussi sur les vmdk thick.</li>
</ul>
<p style="text-align: justify;">Concentrons nous sur le thin on thin puisque c&#8217;est la solution (assumée) qui tend à s&#8217;imposer officiellement (oui, avant vous &#8220;pensiez&#8221; faire du thin on thick). Tant que tout va bien, vous n&#8217;avez à craindre que <a href="http://www.hypervisor.fr/?p=5188" target="_blank">l&#8217;impact du thin des vmdk</a>. Mais quand l&#8217;espace vient à manquer dans la baie, on espère pour vous que ça se passe comme ça :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Thin_on_Thin/ELK_TPSTx.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/ELK_TPSTx_small.png" alt="" width="457" height="217" /></a></p>
<p style="text-align: justify;">Lorsque vous aurez atteint le seuil (parfois) configurable du TPST, disons 75%, vous aurez droit à du &#8220;0&#215;6 0&#215;38 0&#215;7&#8243; dans vos logs à une fréquence qui dépend de son implémentation dans le logiciel qui contrôle la baie. Ces messages génèrent des événements <strong>esx.problem.scsi.device.thinprov.atquota</strong> et <strong>vob.scsi.device.thinprov.atquota</strong> que vous retrouverez dans le vCenter (alarme possible) sous la forme suivante :</p>
<blockquote>
<p style="text-align: left;">Space utilization on thin-provisioned device naa.xyz exceeded configured threshold. Affected datastores (if any): &#8220;xyz&#8221;.</p>
</blockquote>
<p style="text-align: justify;">Si vous ne faites rien, vous finirez par atteindre le fond du panier et vous mangerez les fameux &#8220;0&#215;7 0&#215;27 0&#215;7&#8243;. A ce moment là, ESXi freezera n&#8217;importe qu&#8217;elle VM demandant plus (+) d&#8217;espace et vous aurez droit à ce genre de message :</p>
<blockquote>
<p style="text-align: left;">There is no more space for virtual disk xyz.vmdk. You might be able to continue this session by freeing disk space on the relevant volume, and clicking Retry. Click Cancel to terminate this session.</p>
</blockquote>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTx_vCenter.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTx_vCenter_small.png" alt="" width="460" height="461" /></a></p>
<p style="text-align: justify;"><strong>A cet instant précis, la seule et unique bonne chose à faire est de libérer de l&#8217;espace sur la baie</strong>. Nous avons à peu prés tout essayé de l&#8217;UNMAP jusqu&#8217;au <a href="http://kb.vmware.com/kb/1010931" target="_blank">VMFS3.OpenWithoutJournal</a> sans obtenir de résultat stable. Si vous atteignez le &#8220;<strong>No space left on device</strong>&#8220;, la LUN est démontée et toutes vos VM passent en &#8220;inaccessible&#8221;. Et vous êtes dans la mer*e.</p>
<p style="text-align: justify;">Notre conseil : testez, essayez de remplir/vider/re-remplir un LUN avant de partir en production (on à déjà vu des cas où TPST remontait mal voir pas du tout), monitorez bien les différents messages et commandes SCSI. Mais surtout, ne partez pas du principe que la baie ne sera jamais full&#8230;</p>
<p style="text-align: justify;">Et pour ceux qui croiraient encore aux vertus du thick on thin, on vous laisse apprécier les joies d&#8217;un datastore full alors que le LUN ne l&#8217;est pas :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTUN_thick_on_thin_vsp.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTUN_thick_on_thin_vsp_small.png" alt="" width="437" height="306" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTUN_thick_on_thin_SAN.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Thin_on_Thin/TPSTUN_thick_on_thin_SAN_small.png" alt="" width="431" height="131" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5318</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pimp My (SATA) Ports</title>
		<link>http://www.hypervisor.fr/?p=5018</link>
		<comments>http://www.hypervisor.fr/?p=5018#comments</comments>
		<pubDate>Mon, 17 Feb 2014 17:57:42 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[gnuplot]]></category>
		<category><![CDATA[infiniband]]></category>
		<category><![CDATA[iozone]]></category>
		<category><![CDATA[microserver]]></category>
		<category><![CDATA[N40L]]></category>
		<category><![CDATA[N54L]]></category>
		<category><![CDATA[PMP]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5018</guid>
		<description><![CDATA[Alors que nous pensions avoir fait le tour des possibilités du HP N40L N54L ProLiant MicroServer, nous somme tombé par hasard sur un post revisitant le fameux mod de BIOS, permettant d&#8217;avoir accès à tout un tas de hidden settings, afin de pouvoir utiliser un port multiplier sur le eSATA.
A Serial ATA port multiplier is [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Alors que nous pensions avoir fait le tour <a href="http://www.hypervisor.fr/?p=4093" target="_blank">des possibilités du HP <span style="text-decoration: line-through;">N40L</span> <span style="text-decoration: line-through;">N54L</span> ProLiant MicroServer</a>, nous somme tombé par hasard sur <a href="http://homeservershow.com/hp-proliant-n40l-microserver-build-and-bios-modification-revisited.html" target="_blank">un post revisitant le fameux mod de BIOS</a>, permettant d&#8217;avoir accès à tout un tas de hidden settings, afin de pouvoir utiliser un <strong>port multiplier</strong> sur le eSATA.</p>
<blockquote><p><a href="http://en.wikipedia.org/wiki/Port_multiplier" target="_blank">A Serial ATA port multiplier is a device that allows <strong>multiple SATA devices to be connected to a single SATA host port</strong>.</a></p></blockquote>
<p style="text-align: justify;">Un peu comme un <a href="http://en.wikipedia.org/wiki/Serial_attached_SCSI#SAS_expanders" target="_blank">SAS expander</a> mais en un peu moins enterprise class&#8230; Au passage, c&#8217;est ce qu&#8217;utilise <a href="http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/" target="_blank">Backblaze</a> pour faire tenir <a href="http://blog.backblaze.com/2013/02/20/180tb-of-good-vibrations-storage-pod-3-0/" target="_blank">180 To dans un server 4U</a>.</p>
<p style="text-align: justify;">L&#8217;idée de pouvoir se passer de la carte contrôleur qui monopolise le seul port pcie (potable) de notre N40L nous séduit. <a href="http://www.ebay.com/bhp/sata-port-multiplier" target="_blank">40€-et-quelques-sur-ebay</a> plus tard (carte et cables courts compris), FreeNAS reconnait parfaitement le bidule grâce aux modifications de BIOS :</p>
<blockquote><p><strong>pmp0</strong> at ahcich5 bus 0 scbus7 target 15 lun 0<br />
<strong> pmp0</strong>: ATA-0 device<br />
<strong> pmp0</strong>: 300.000MB/s transfers (SATA 2.x, NONE, PIO 8192bytes)<br />
<strong> pmp0</strong>: 5 fan-out ports</p></blockquote>
<p>La carte que nous avons trouvé étant limité à 5 ports, nous avons été contraint d&#8217;utiliser un rack 4x 2.5&#8243; mais le pcb se loge parfaitement entre ce dernier et la partie supérieure du boitier :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/pmp/n40l_pmp_01.jpg" title="n40l_pmp_01" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5020" title="n40l_pmp_01" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/n40l_pmp_01-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/pmp/n40l_pmp_02.jpg" title="n40l_pmp_02" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5021" title="n40l_pmp_02" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/n40l_pmp_02-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/pmp/n40l_pmp_03.jpg" title="n40l_pmp_03" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5024" title="n40l_pmp_03" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/n40l_pmp_03-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Vous l&#8217;aurez compris, c&#8217;est le port ODD interne que nous avons choisi d&#8217;utiliser pour rester dans l&#8217;esprit NAS compact.</p>
<p style="text-align: justify;">Pour avoir une idée de l&#8217;impact qu&#8217;une telle solution pouvait avoir sur les performances, nous l&#8217;avons comparée à une carte LSI 1068E. Après une séance d&#8217;iozone sur un zpool de 4 SSD en striping, nous avons fait chauffer le gnuplot :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/pmp/iozone_write_lsi.jpg" title="iozone_write_lsi" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5029" title="iozone_write_lsi" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/iozone_write_lsi-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/pmp/iozone_write_pmp.jpg" title="iozone_write_pmp" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5030" title="iozone_write_pmp" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/iozone_write_pmp-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/pmp/iozone_write_latency.png" title="iozone_write_latency" rel="lightbox[5018]"><img class="alignnone size-thumbnail wp-image-5031" title="iozone_write_latency" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/iozone_write_latency-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;">Si l&#8217;impact sur la latence est acceptable, celui sur les débits d&#8217;écriture est très important puisque l&#8217;on passe de ~800Mo/s à ~200Mo/s mais il fallait s&#8217;y attendre. On constate par contre que tant que les IO restent dans la fenêtre des <a href="http://blog.delphix.com/ahl/2012/zfs-fundamentals-transaction-groups/" target="_blank">TXG de ZFS</a>, les débits sont identiques.</p>
<p style="text-align: justify;">Au final, même si les performances sont moins bonnes qu&#8217;avec une carte contrôleur, elles sont malgré tout bien meilleures que ce qui pourra passer par un port GbE. De plus, FreeNAS ne supportant pas *encore* FC ou infiniband, une carte dual ou quad GbE  reste un bon début.</p>
<p><a href="http://files.hypervisor.fr/img/pmp/iozone_write_pmp_lsi.jpg" title="iozone_write_pmp_lsi" rel="lightbox[5018]"><img class="aligncenter size-medium wp-image-5034" title="iozone_write_pmp_lsi" src="http://www.hypervisor.fr/wp-content/uploads/2014/02/iozone_write_pmp_lsi-300x233.jpg" alt="" width="300" height="233" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5018</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSD + VAAI = TRIM ?</title>
		<link>http://www.hypervisor.fr/?p=4847</link>
		<comments>http://www.hypervisor.fr/?p=4847#comments</comments>
		<pubDate>Mon, 26 Aug 2013 07:26:16 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[esxtop]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[TRIM]]></category>
		<category><![CDATA[VAAI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4847</guid>
		<description><![CDATA[Lors d&#8217;une séance de troubleshooting impliquant un petit tour d&#8217;esxtop, nous nous sommes aperçu que les stats VAAI d&#8217;un SSD attaché localement comportaient des valeurs non nulles. un check avec esxcli nous confirme la bizarrerie, les deux SSD attachés en SATA &#8220;supportent&#8221; certaines primitives VAAI :

Nous avons alors utiliser vmkfstools pour créer un vmdk eagerzeroedthick [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lors d&#8217;une séance de troubleshooting impliquant un petit tour d&#8217;esxtop, nous nous sommes aperçu que les stats VAAI d&#8217;un SSD attaché localement comportaient des valeurs non nulles. un check avec esxcli nous confirme la bizarrerie, les deux <strong>SSD attachés en SATA &#8220;supportent&#8221; certaines primitives VAAI</strong> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxcli.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxcli.png" alt="" width="490" height="272" /></a></p>
<p style="text-align: left;">Nous avons alors utiliser vmkfstools pour créer un vmdk <strong>eagerzeroedthick</strong> et constater l&#8217;offload de création de zero mais il semble que ce ne soit pas fonctionnel (<a href="https://communities.vmware.com/docs/DOC-11812" target="_blank">ZERO_F</a>) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxtop_zero.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxtop_zero.png" alt="" width="526" height="76" /></a></p>
<p style="text-align: left;">Par contre, le <strong>UNMAP</strong> (vmkfstools -y 99) semble bien fonctionner :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxtop_unmap.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/SSD_VAAI/ssd_vaai_esxtop_unmap.png" alt="" width="526" height="74" /></a></p>
<p style="text-align: left;">Nous profiterons du VMworld 2013 pour demander à <a href="https://twitter.com/VMwareStorage" target="_blank">Cormac Hogan</a> si cela signifie qu&#8217;ESXi supporte le <a href="http://en.wikipedia.org/wiki/TRIM" target="_blank"><strong>TRIM</strong></a>, entre autres&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4847</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Infiniband@home : votre homelab à 20Gbps</title>
		<link>http://www.hypervisor.fr/?p=4662</link>
		<comments>http://www.hypervisor.fr/?p=4662#comments</comments>
		<pubDate>Thu, 30 May 2013 06:54:52 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[10GbE]]></category>
		<category><![CDATA[FC]]></category>
		<category><![CDATA[HCA]]></category>
		<category><![CDATA[infiniband]]></category>
		<category><![CDATA[iometer]]></category>
		<category><![CDATA[vib]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4662</guid>
		<description><![CDATA[MAJ 07/03/2014 : Le beta test du package ib-opensm-3.3.15 pour ESXi 5.5 est terminé et Andreas Peetz nous a fait l&#8217;honneur de le publier sur son vibdepot. Toutes les informations d&#8217;usage sont disponibles sur son wiki mais nous reprécisons que ce package n&#8217;est pas supporté pour VSAN à cause du timeout trop important en cas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 07/03/2014</span> : Le beta test du package ib-opensm-3.3.15 pour ESXi 5.5 est terminé et <a href="http://vibsdepot.v-front.de/wiki/index.php/Welcome" target="_blank">Andreas Peetz nous a fait l&#8217;honneur de le publier sur son vibdepot</a>. Toutes les informations d&#8217;usage sont disponibles sur son wiki mais nous reprécisons que ce package <strong>n&#8217;est pas supporté pour VSAN</strong> à cause du timeout trop important en cas de (ré)élection du master opensm.</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 30/01/2014</span> : Suite à d&#8217;autres problèmes de stabilité avec ESXi 5.5, nous retirons la version x64. Une nouvelle version est actuellement en beta test, n’hésitez pas à nous contacter pour la tester.</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 26/11/2013</span> : Suite à des problèmes de stabilité, <a href="http://files.hypervisor.fr/zip/ib-opensm-3.3.15-64.x86_64.vib" target="_blank">nous avons compilé la version 3.3.15 en 64bit</a> et remis à disposition <a href="http://files.hypervisor.fr/zip/ib-opensm-3.3.15.x86_64.vib" target="_blank">la 3.3.15 32bit</a> en lieu et place de la version 3.3.16</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 22/10/2013</span> : Nouvelle vib en <a href="https://twitter.com/hypervisor_fr/status/392413281354129409">version 3.3.16-64 qui apporte le <strong>support d&#8217;ESXi 5.5</strong></a> (les binaires et librairies sont maintenant en 64bit) et rétrocompatible en 5.1 (probablement 5.0 aussi).</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 02/10/2013</span> : Mise à jour du vib avec la version 3.3.16 d&#8217;opensm. <strong>Aucune version compatible avec ESXi 5.5</strong> pour le moment.</em></p>
<p style="text-align: justify;">Suite à notre <a href="http://www.hypervisor.fr/?p=4093" target="_blank">post sur l&#8217;EZ Compact 6 il y a quelques mois</a>, nous avons été victimes de &#8220;<strong>l&#8217;effet SSD</strong>&#8221; qui donne l&#8217;impression que n&#8217;importe quelle grappe de disques SAS 15K en stripping est une grosse brouette. En effet, après avoir goutté à un agrégea de SSD vous devenez immédiatement addict aux <strong>latences extrêmement faibles</strong> ainsi qu&#8217;aux débits improbables qui vous font douter de la bande passante théorique du PCIe. Mais pour en profiter au delà du serveur dans lequel se trouve vos précieux, il faut <strong>un protocole de transport plus rapide et performant que du simple GbE</strong>. Suite à quelques recherches, le choix du <a href="http://en.wikipedia.org/wiki/Fibre_Channel#Fibre_Channel_topologies" target="_blank">Fibre Channel en mode FC-P2P ou FC-AL</a> s’avérait être le plus pratique (pas besoin de switch, seulement des cartes HBA et des fibres pour les relier) et peu coûteux compte tenu de l&#8217;immense marché de l&#8217;occasion.</p>
<p style="text-align: center;"><a href="http://www.epubbud.com/read.php?g=8MVD69ZN&amp;tocp=17" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/fc_p2p_al.jpg" alt="" width="350" height="200" /></a></p>
<p style="text-align: justify;">Un petit tour sur eBay et nous voila avec notre <strong>FC@home</strong> qui nous a permis de faire des tests intéressants comme ceux pour <a href="http://www.hypervisor.fr/?p=4389" target="_blank">notre post sur le MRU ranking</a> mais aussi de profiter pleinement des performances des SSD. Le seul &#8220;inconvénient&#8221; du FC est de ne transporter que du block et donc de ne permettre qu&#8217;un accès à des LUN. Sur une petite baie de stockage ZFS c&#8217;est un réel problème car <strong>cela oblige à prendre certaines précautions concernant la taille des LUN présentées pour profiter des snapshots et de la compression</strong>. Il y a donc de fortes chances que vous soyez dans l&#8217;obligation de réserver une quantité d&#8217;espace non négligeable <strong>pour éviter de saturer le zpool</strong>.</p>
<p style="text-align: justify;">Nous partons alors en quête de cartes réseau <strong>10GbE</strong> avec lesquelles nous pourrions faire du NFS mais aussi des vmotion à des vitesses indécentes. Malheureusement ce matériel reste encore très cher pour un particulier à l&#8217;heure actuelle y compris d&#8217;occasion. Après quelques recherches, nous avons trouvé une solution très abordable (en occasion toujours) permettant de faire du block ainsi que du réseau à des débits hallucinants et avec des temps de latence extrêmement faibles : l&#8217;<strong><a href="http://devopsreactions.tumblr.com/post/49763071666/playing-with-infiniband-hardware-for-the-first-time" target="_blank">infiniband</a></strong> !</p>
<p style="text-align: center;"><a href="http://www.infinibandta.org/logo_library/library.html" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/ib_black_logo.png" alt="" width="105" height="136" /></a></p>
<p>L&#8217;infiniband est un type de <a href="https://cw.infinibandta.org/document/dl/7268" target="_blank">réseau très particulier permettant à la base de transporter des messages</a> :</p>
<blockquote><p>The basic idea behind InfiniBand is simple; <strong>it provides applications with an easy-to-use messaging service</strong>. This service can be used to communicate with other applications or processes or to access storage.</p></blockquote>
<p style="text-align: justify;">Grace à des ULP (<strong>Upper Layers Protocol</strong>) il est possible de transporter différents protocoles tels que du SCSI, de l&#8217;IP, du NFS ou du Lustre et même de faire du <strong>RDMA</strong> pour certains comme dans le cas du <a href="http://en.wikipedia.org/wiki/SCSI_RDMA_Protocol" target="_blank">SRP</a> ou du <a href="https://developer.nvidia.com/gpudirect" target="_blank">GPUDirect</a>. Au fil de nos recherches nous avons pu remarquer que malgré des débuts difficiles, l&#8217;architecture infiniband semble s&#8217;imposer petit à petit dans de nombreux domaines pour des raisons de flexibilité, de performances et de coûts.</p>
<p style="text-align: center;"><a href="http://gigaom.com/2012/09/03/infiniband-back-from-the-dead/" target="_blank"><img class="aligncenter" src="http://gigaom2.files.wordpress.com/2012/09/infiband.jpg" alt="" width="366" height="334" /></a></p>
<p style="text-align: justify;">Pour en revenir à notre homelab, nous avons soigneusement cherché un modèle de carte dual port capable de fonctionner sur ESXi 5 ainsi que Nexenta 3 et <a href="http://www.nexentastor.org/boards/1/topics/245" target="_blank">c&#8217;est sur le forum de nexenta que nous avons trouvé la bonne affaire</a> : HP 448397-B21 (chip Mellanox ConnectX). A <strong><a href="http://www.ebay.com/sch/i.html?_from=R40&amp;_sacat=0&amp;_nkw=HP+448397-B21&amp;_sop=15" target="_blank">50€ sur ebay</a></strong> nous en avons donc commandé <a href="https://twitter.com/hypervisor_fr/status/319017217842892800/photo/1" target="_blank">3 ainsi que les câbles CX4 pour les connecter</a> (infiniband supporte le back-to-back à l&#8217;instar du FC et de l&#8217;ethernet).</p>
<p style="text-align: center;">
<p style="text-align: justify;">Tout semblait &#8220;se dérouler sans accrocs&#8221; mais alors que nous relisions <a href="http://www.mellanox.com/related-docs/prod_software/Mellanox_IB_OFED_Driver_for_VMware_vSphere_User_Manual_Rev_1_8_1.pdf" target="_blank">le User Manual des drivers Mellanox</a> en attendant que les cartes nous soient livrées, un paragraphe allait radicalement changer la nature de notre aventure :</p>
<blockquote><p>The driver package requires InfiniBand Subnet Manager (SM) to run on the subnet. <strong>The driver package does not include an SM</strong>.<br />
<strong>If your fabric does not include a managed switch/gateway, an SM application should be installed on at least one non-ESXi Server machine in the subnet</strong>. You can download an InfiniBand SM such as OpenSM from www.openfabrics.org under the Downloads section.</p></blockquote>
<p style="text-align: justify;">En effet, contrairement à FC ou ethernet, les cartes infiniband (HCA) ne suffisent pas à constituer un réseau fonctionnel (et sans SM sur le subnet, les ports IPoIB sont down), il faut un <strong>Subnet Manager</strong> pour gérer la topologie du réseau infiniband et ce composant n&#8217;existe pas (publiquement) pour ESXi, pas jusqu&#8217;à maintenant en tout cas&#8230;</p>
<p style="text-align: justify;">Un SM étant nécessaire pour chaque subnet, notre design en &#8220;triangle&#8221; (2 ESXi + 1 Nexenta) nécessitait forcement un SM coté ESXi pour gérer le subnet entre les 2 ESXi (pour le vmotion) et un SM pour chacun des liens ESXi/Nexenta (pour le SCSI et le NFS). Et dans un excès d&#8217;optimisme, nous voila parti à essayer de <strong>compiler OpenSM pour ESXi</strong> et en faire un vib <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/infiniband/HP-448397-B21.jpg" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/HP-448397-B21.jpg" alt="" width="366" height="276" /></a></p>
<p style="text-align: justify;">Nous avons commencé grâce <a href="http://www.virtuallyghetto.com/2011/02/how-to-compile-statically-linked-rsync.html" target="_blank">au post de William Lam</a> basé sur le post de <a href="http://www.zemris.fer.hr/~sgros/sysadm/esxi_hacks.shtml" target="_blank">Stjepan Groš</a> et avons réussi à <a href="https://twitter.com/hypervisor_fr/status/318015826198413312" target="_blank">compiler une version fonctionnelle</a> après avoir résolu des problèmes de dépendances (libibmad, libibumad et libwrap) et de chemins dans les sources (umad.h). Nous avons ensuite du faire face à un problème de cpu loop (osm_vendor_ibumad.c) que nous n&#8217;aurions pu résoudre sans l&#8217;aide précieuse de <strong>Hal Rosenstock</strong>, de chez Mellanox (très actif sur <a href="http://lists.openfabrics.org/" target="_blank">la mailing list d&#8217;openfabrics</a>). Finalement, après avoir mijoté un script d&#8217;init, nous avions une version capable de démarrer un SM par subnet, supportant un fichier de partition (topologie du réseau) et capable de réassigner les <a href="http://www.mellanox.com/pdf/whitepapers/InfiniBandFAQ_FQ_100.pdf" target="_blank">LIDS</a> (équivalent des adresses MAC ou des WWN) en cas de besoin. <strong>Yatta !</strong></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/infiniband/ib_vib_info.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/ib_vib_info.png" alt="" width="506" height="234" /></a></p>
<p style="text-align: justify;">Nous n&#8217;avons eu qu&#8217;à utiliser l’excellent <a href="http://www.v-front.de/2012/11/update-esxi5-community-packaging-tools.html" target="_blank">ESXi Community Packaging Tools</a> d&#8217;Andreas Peetz (autrement plus abouti que <a href="http://labs.vmware.com/flings/vib-author" target="_blank">VIB Author</a>) pour packager un joli vib à déployer avec esxcli (<a href="http://www.v-front.de/2012/11/a-daemons-vib-part-3-building-software.html" target="_blank">VUM ne supportant pas l&#8217;indispensable &#8211;no-sig-check</a>) et hotplug ! De plus, OpenSM est capable de supporter plusieurs instances sur le même subnet où une seule sera MASTER et les autres STANDBY.</p>
<p style="text-align: justify;">Voici donc <strong>le seul et unique vib qui vous permettra de faire du back-to-back entre 2 ESXi</strong> ou entre ESXi et n&#8217;importe quoi d&#8217;autre :</p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/zip/ib-opensm-x86-3.3.15-1.x86_64.vib"><img class="   " title="ib-opensm-x86-3.3.15-1.x86_64.vib" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">ib-opensm x86</p></div>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/zip/ib-opensm-x64-3.3.15-6.x86_64.vib"><img class="   " title="ib-opensm-x64-3.3.15-6.x86_64.vib" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">ib-opensm x64</p></div>
<p>Un petit tour par l&#8217;onglet configuration d&#8217;ESXi :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/infiniband/vmhba_mlx4.png" title="vmhba_mlx4" rel="lightbox[4662]"><img class="alignnone size-thumbnail wp-image-4789" title="vmhba_mlx4" src="http://www.hypervisor.fr/wp-content/uploads/2013/05/vmhba_mlx4-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/infiniband/vmnic_ib.png" title="vmnic_ib" rel="lightbox[4662]"><img class="alignnone size-thumbnail wp-image-4790" title="vmnic_ib" src="http://www.hypervisor.fr/wp-content/uploads/2013/05/vmnic_ib-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Et enfin, quelques infos utiles :</p>
<ul>
<li>Les logs d&#8217;openSM sons placés dans /var/log/opensm/{LID}/opensm.log</li>
<li>Les fichiers partitions.conf (qui définie la topologie du réseau) sont à placer dans /scratch/opensm/{LID}/</li>
<li>Pour fixer le MTU à 4092, suivez le <a href="http://www.mellanox.com/related-docs/prod_software/Mellanox_IB_OFED_Driver_for_VMware_vSphere_User_Manual_Rev_1_8_1.pdf#page=20" target="_blank">User Manual de Mellanox</a> et utilisez ce <a href="http://files.hypervisor.fr/zip/partitions.conf" target="_blank">partitions.conf</a></li>
<li>Pour activer ibsrp/target sur Nexenta 3, suivez le <a href="http://files.hypervisor.fr/doc/Basic_COMSTAR_Quick-Start_Guide_for_SRP.pdf" target="_blank">Basic COMSTAR Quick-Start Guide for SRP</a></li>
</ul>
<p>Passons aux gros chiffres. On commence par une vague de vmotion :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/infiniband/ipoib_vmotion.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/ipoib_vmotion.png" alt="" width="433" height="314" /></a></p>
<p style="text-align: left;">On continue avec un test d&#8217;IOPS avec <a href="http://labs.vmware.com/flings/io-analyzer" target="_blank">VMware I/O Analyzer</a> (appliance iometer) :</p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/infiniband/read_vmhba_mlx4_0.2.1-iops.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/read_vmhba_mlx4_0.2.1-iops.png" alt="" width="447" height="335" /></a></p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/infiniband/read_vmhba_mlx4_0.2.1-latency.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/read_vmhba_mlx4_0.2.1-latency.png" alt="" width="447" height="335" /></a>Et on termine par un test de throughput, toujours avec I/O Analyzer :</p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/infiniband/write_vmhba_mlx4_0.2.1-throughput.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/write_vmhba_mlx4_0.2.1-throughput.png" alt="" width="447" height="335" /></a></p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/infiniband/write_vmhba_mlx4_0.2.1-latency.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/infiniband/write_vmhba_mlx4_0.2.1-latency.png" alt="" width="447" height="335" /></a></p>
<p style="text-align: left;">Il ne vous reste plus qu&#8217;à sécher vos larmes et aller vous faire plaisir sur eBay <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: left;">Ces tests ont été réalisés sur 1 seul port 10Gbps DDR (soit 20Gbps) alors imaginez les résultats <a href="http://www.mellanox.com/page/products_dyn?product_family=161&amp;mtag=connectx_3_pro_vpi_card" target="_blank">avec des cartes 56Gbps</a>&#8230;</p>
<p style="text-align: left;"><em>PS : Un grand merci à vmdude pour son aide et à tous les autres pour nous avoir supporté pendant notre période &#8220;infiniband cay le bien&#8221; <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4662</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>RasNTP : du Stratum 1 dans votre homelab</title>
		<link>http://www.hypervisor.fr/?p=4668</link>
		<comments>http://www.hypervisor.fr/?p=4668#comments</comments>
		<pubDate>Mon, 15 Apr 2013 07:12:40 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[NTP]]></category>
		<category><![CDATA[RaspberryPi]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4668</guid>
		<description><![CDATA[Comme tout bon geek, nous avons succombé à la tentation du Rasberry Pi et, comme beaucoup, bien avant de savoir quoi en faire. Après avoir passé la période Raspbmc, GPIO et même 100% wireless, nous ne trouvions pas d&#8217;usage &#8220;définitif&#8221; pour notre petite e-framboise, jusqu&#8217;à ce que nous rencontrions un gros  problème de NTP sur notre [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Comme tout bon geek, nous avons succombé à la tentation du <a href="http://www.kubii.fr/" target="_blank">Rasberry Pi</a> et, comme beaucoup, bien avant de savoir quoi en faire. Après avoir passé la période <a href="http://www.raspbmc.com/" target="_blank">Raspbmc</a>, <a href="http://www.piborg.com/ledborg" target="_blank">GPIO</a> et même <a href="https://twitter.com/hypervisor_fr/status/293042037643694081" target="_blank">100% wireless</a>, nous ne trouvions pas d&#8217;usage &#8220;définitif&#8221; pour notre petite e-framboise, jusqu&#8217;à ce que nous rencontrions un gros  problème de NTP sur notre homelab.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/RasNTP/RaspiModelB_small.png" alt="" width="402" height="295" /></p>
<div style="text-align: justify;">En effet, dans notre lab, c&#8217;est une vm sous <a href="http://www.pfsense.org/" target="_blank">pfSense</a> qui fait office de routeur/firewall/proxy/ntp pour tous les vlan ce qui signifie que sans cette vm, pas de source de temps &#8220;fiable&#8221;. Lors d&#8217;une opération de re-câblage et dépoussiérage général, nous avons dû débrancher tout le matériel et donc le redémarrer un peu plus tard from scratch. Lorsque nous avions fini de redémarrer toute les vm, nous nous sommes aperçu que certaines étaient décalées d&#8217;une heure en raison d&#8217;un bios d&#8217;ESX mal configuré cumulé à un accès tardif à internet. Evidement 1h ce n&#8217;est pas bon du tout pour un domaine AD et tout ce qui en dépend, il nous fallait donc <strong>une solution qui ne soit pas une vm, qui soit autonome, qui ne consomme que très peu d&#8217;énergie pour tourner 24/7 et qui n&#8217;ait pas besoin d&#8217;un accès à internet pour être une source de temps fiable</strong>. Combiné à une vieille balise GPS usb qui traînait dans un tiroir, notre Rasperberry Pi allait enfin avoir un but dans la vie : <a href="http://en.wikipedia.org/wiki/Network_Time_Protocol#Clock_strata" target="_blank">un serveur <strong>NTP Stratum 1</strong></a> !</div>
<div style="text-align: justify;">Vous l&#8217;ignorez peut être mais le <a href="http://en.wikipedia.org/wiki/Global_Positioning_System" target="_blank">GPS est une source de temps très fiable, précise et redondante</a> :</div>
<blockquote>
<div style="text-align: justify;">The Global Positioning System (GPS) is a space-based satellite navigation system that provides location and <strong>time information</strong> in all weather conditions, anywhere on or near the Earth where there is an unobstructed line of sight to four or more GPS satellites.</div>
<div style="text-align: justify;">[...]</div>
<div style="text-align: justify;"><strong>About nine satellites are visible from any point on the ground at any one time, ensuring considerable redundancy over the minimum four satellites needed for a position</strong>.</div>
<div style="text-align: justify;">[...]</div>
<div style="text-align: justify;"><strong>GPS time is theoretically accurate to about 14 nanoseconds</strong>. However, most receivers lose accuracy in the interpretation of the signals and are only accurate to 100 nanoseconds</div>
</blockquote>
<p>C&#8217;est <a href="http://blog.retep.org/2012/06/18/getting-gps-to-work-on-a-raspberry-pi/" target="_blank">sur le blog de Peter Mount que nous avons pu trouver un howto des plus simples</a> au quel nous avons ajouté un dongle wifi usb :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/RasNTP/IMG_4858_s.jpg" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/RasNTP/IMG_4858_s.jpg" alt="" width="522" height="392" /></a></p>
<p style="text-align: left;">Le tout monitoré grâce à <a href="http://docs.cacti.net/usertemplate:graph:ntp" target="_blank">un template cacti</a> :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/RasNTP/RasNTP_cacti.png" alt="" width="482" height="209" /></p>
<p style="text-align: left;">Et en prime, un module <strong><a href="http://www.piborg.com/ledborg/install" target="_blank">GPIO LedBorg RGB</a></strong> pour savoir de visu si la source GPS du serveur NTP est ok :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/RasNTP/IMG_5043_s.jpg" title="OK" rel="lightbox[4668]"><img class="alignnone size-thumbnail wp-image-4673" title="OK" src="http://www.hypervisor.fr/wp-content/uploads/2013/04/IMG_5043_s-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/RasNTP/IMG_5045_s.jpg" title="KO" rel="lightbox[4668]"><img class="alignnone size-thumbnail wp-image-4674" title="KO" src="http://www.hypervisor.fr/wp-content/uploads/2013/04/IMG_5045_s-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Enfin, pour les fanatiques de la précision, il y a <a href="http://www.satsignal.eu/ntp/Raspberry-Pi-NTP.html" target="_blank">le GPS/PPS sur Raspberry Pi</a> détaillé par <a href="https://twitter.com/gm8arv" target="_blank">David Taylor</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4668</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Host Cache I/O size</title>
		<link>http://www.hypervisor.fr/?p=4609</link>
		<comments>http://www.hypervisor.fr/?p=4609#comments</comments>
		<pubDate>Mon, 04 Feb 2013 08:52:04 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[DTrace]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[swap]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4609</guid>
		<description><![CDATA[En consultant l’excellent Performance Best Practices for VMware vSphere 5.1, nous avons voulu vérifier cette note :

Using swap to host cache and putting the regular swap file in SSD (as described below) are two different approaches for improving host swapping performance. Swap to host cache makes the best use of potentially limited SSD space while also being [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En consultant l’excellent <a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.1.pdf" target="_blank">Performance Best Practices for VMware vSphere 5.1</a>, nous avons voulu vérifier cette note :</p>
<blockquote>
<p style="text-align: justify;">Using swap to host cache and putting the regular swap file in SSD (as described below) are two different approaches for improving host swapping performance. Swap to host cache makes the best use of potentially limited SSD space while <strong>also being optimized for the large block sizes at which some SSDs work best</strong>.</p>
</blockquote>
<p style="text-align: justify;">Facile avec ZFS, <a href="https://github.com/kdavyd/dtrace/blob/master/zfsio.d">un petit coup de DTrace</a> et on peut rapidement voir la caractéristique des IO sur un datastore utilisé en tant qu&#8217;Host Cache (il nous aura fallu tout de même faire <a href="http://kb.vmware.com/kb/2013188" target="_blank">le coup du SSD</a>). Pour cela nous avons utilisé <strong>le boot d&#8217;une VM Windows 2008 R2 limité à 256Mo de RAM</strong> pour que le reste déborde sur la swap.</p>
<p style="text-align: justify;">D&#8217;abord, la taille des IO (en écriture) sur la swap classique :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/hostcache/host_swap_writes.png" alt="" width="516" height="204" /></p>
<p style="text-align: justify;">C&#8217;est étonnamment distribué mais c&#8217;est largement du 4K. Voyons les IO (toujours en écriture) sur du Host Cache :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/hostcache/host_cache_writes.png" alt="" width="521" height="216" /></p>
<p style="text-align: justify;">Pas de doutes, <strong>les IO font uniquement 128K</strong> (ceux de 512 bytes n&#8217;ont pas de rapport avec la swap) ce qui prouve l’intérêt d&#8217;activer la fonctionnalité plutôt que de simplement rediriger les vswp.</p>
<p style="text-align: justify;">Pour ceux qui se poserait la question, la taille des IO en lecture est la même dans les 2 cas : 4K</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/hostcache/host_swap_reads.png" alt="" width="518" height="227" /></p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/hostcache/host_cache_reads.png" alt="" width="521" height="222" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4609</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TPS is not dead !</title>
		<link>http://www.hypervisor.fr/?p=4401</link>
		<comments>http://www.hypervisor.fr/?p=4401#comments</comments>
		<pubDate>Mon, 03 Dec 2012 16:11:21 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[dedup]]></category>
		<category><![CDATA[large pages]]></category>
		<category><![CDATA[memory overcommit]]></category>
		<category><![CDATA[TLB]]></category>
		<category><![CDATA[TPS]]></category>
		<category><![CDATA[vMMU]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4401</guid>
		<description><![CDATA[Depuis l&#8217;introduction sur le marché x86 des serveurs capables de &#8220;hardware-assisted memory virtualization&#8221;, la question de Transparent Page Sharing (TPS) vs large pages (ou huges pages) revient souvent dans les discussions en rapport avec l&#8217;overcommit mémoire. En effet, nous avons souvent abordé le sujet, TPS ne supporte pas (pour des raisons évidentes) les large pages :
ESX will [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Depuis l&#8217;introduction sur le marché x86 des serveurs capables de &#8220;hardware-assisted memory virtualization&#8221;, la question de <strong>Transparent Page Sharing</strong> (TPS) vs <strong>large pages</strong> (ou <a href="http://en.wikipedia.org/wiki/Page_(computer_memory)" target="_blank">huges pages</a>) revient souvent dans les discussions en rapport avec l&#8217;overcommit mémoire. En effet, <a href="http://www.hypervisor.fr/?tag=tps" target="_blank">nous avons souvent abordé le sujet</a>, <a href="http://kb.vmware.com/kb/1021095" target="_blank">TPS ne supporte pas (pour des raisons évidentes) les large pages</a> :</p>
<blockquote><p><strong>ESX <strong>will not share</strong> large physical pages</strong> because:</p>
<p>The probability of finding two large pages that are identical is very low.<br />
The overhead of performing a bit-by-bit comparison for a 2MB page is much higher than for a 4KB page.</p></blockquote>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/tps_theory.png" alt="" width="218" height="180" /></p>
<p>Paradoxalement, <a href="http://books.google.fr/books?id=_Y2WiG6WfGkC&amp;lpg=PA194&amp;ots=I3XGm9JUB1&amp;pg=PA194#v=onepage&amp;q&amp;f=false" target="_blank">c&#8217;est dans l’excellent Windows Internals que nous avons trouvé l&#8217;explication la plus synthétique à propos des large pages</a> :</p>
<blockquote>
<p style="text-align: justify;">The primary advantage of large pages is speed of address translation for references to other data within the large page. This advantage exists because <strong>the first reference to any byte within a large page will cause the hardware’s translation look-aside buffer </strong>(TLB, described in a later section)<strong> to have in its cache the information necessary to translate references to any other byte within the large page.</strong> If small pages are used, more TLB entries are needed for the same range of virtual addresses, thus increasing recycling of entries as new virtual addresses require translation. This, in turn, means having to go back to the page table structures when references are made to virtual addresses outside the scope of a small page whose translation has been cached. The TLB is a very small cache, and thus large pages make better use of this limited resource.</p>
</blockquote>
<p style="text-align: justify;">On comprend donc aisément que sur des systèmes avec de plus en plus de RAM, les accès au TLB puissent être coûteux en CPU sans l&#8217;utilisation des large pages. Par contre, lorsqu&#8217;il n&#8217;y a plus de pages de 2Mo disponibles et parce que les large pages ne peuvent pas être swappées, ESX &#8220;casse&#8221; les large pages en small pages (dont le hash a déjà été computé) et TPS déduplique le tout :</p>
<blockquote>
<p style="text-align: justify;">Since ESX will not swap out large pages, during host swapping, a large page will be broken into small pages. ESX tries to share those small pages using the pre-generated hashes before they are swapped out.</p>
</blockquote>
<p style="text-align: justify;">Sur un système raisonnablement overcommité et sans tuning spécifique, <strong>l&#8217;ESX risque de ne pas &#8220;casser&#8221; et dedupliquer les pages suffisamment rapidement pour répondre à la demande de mémoire, ce qui peut engendrer une dégradation de performance </strong>(ballooning/zipping/swapping). A l&#8217;inverse, si le coût CPU est acceptable, <strong>le même système tuné pour ne faire que</strong> (ou presque que) <strong>des small pages n&#8217;aura pas cette problématique</strong>.</p>
<p style="text-align: justify;">Ci dessous, la comparaison des stats mémoire d&#8217;un cluster (composé de serveurs à base d&#8217;Intel Nehalem) sans tuning spécifique et des stats de ce même cluster après avoir forcé l&#8217;utilisation des small pages sur les vm (workload comparable) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_default.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_default.png" alt="" width="477" height="511" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_disable_mmu_largepages.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_disable_mmu_largepages.png" alt="" width="477" height="511" /></a></p>
<p style="text-align: justify;">La première chose qui frappe c&#8217;est le compteur &#8220;consumed&#8221; qui a diminué de moitié (le workload s&#8217;y prête bien dans ce cas puisqu&#8217;il s&#8217;agit d&#8217;une ferme de serveurs xenapp) grâce à TPS,  le compteur &#8220;shared&#8221; a en effet été multiplié par 10. Dans le cas présent, <strong>la consommation CPU a augmenté d&#8217;environ 15%</strong> lors du passage aux small pages.</p>
<p style="text-align: justify;">Voici la commande powershell qui a permis de désactiver les large pages sur les vm (vm reboot ou &#8220;<a href="http://www.hypervisor.fr/?p=3235" target="_blank">vmotion shake</a>&#8221; pour la prise en compte) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType VirtualMachine|?{!$_.Config.Template -and $_.Runtime.ConnectionState -eq &quot;connected&quot;}|?{!($_.Config.ExtraConfig|?{$_.Key -eq &quot;monitor_control.disable_mmu_largepages&quot;}|?{$_.value -match &quot;true|1&quot;})}|%{$_.ReconfigVM((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{extraconfig=(New-Object Vmware.Vim.OptionValue -Property @{Key=&quot;monitor_control.disable_mmu_largepages&quot;;Value=&quot;1&quot;})}))}</pre>
<p>Il est également possible d&#8217;obtenir un résultat similaire en forçant la VMM a utiliser le mode mmu software :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_SWMMU.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_SWMMU.png" alt="" width="471" height="505" /></a></p>
<p style="text-align: justify;">C&#8217;est quasiment identique mais la grande classe c&#8217;est qu&#8217;en powershell on peut forcer le mode cpu auto et le mode mmu software de la VMM (impossible en GUI) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType virtualmachine|?{!$_.Config.Template -and $_.Runtime.ConnectionState -eq &quot;connected&quot;}|?{!($_.Config.Flags.VirtualExecUsage -eq &quot;hvauto&quot; -and $_.Config.Flags.VirtualMmuUsage -eq &quot;off&quot;)}|%{($_.ReconfigVM_Task((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{flags=(New-Object VMware.Vim.VirtualMachineFlagInfo -property @{virtualExecUsage=&quot;hvauto&quot;;virtualMmuUsage=&quot;off&quot;})})))}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/vmm_hidden.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/vmm_hidden.png" alt="" width="420" height="372" /></a></p>
<p style="text-align: justify;">C&#8217;est beau mais pas vraiment pratique à maintenir à cause des erreurs possibles via la GUI. De plus, nous avons eu l&#8217;opportunité précieuse d&#8217;échanger avec un Senior Staff Engineer de chez VMware qui nous a laissé entendre que ce n&#8217;était pas la meilleure option :</p>
<blockquote>
<p style="text-align: justify;">The sw-mmu [...] has slightly higher overheads (for the shadow pagetables and related data structures) and this will reduce the total available memory for backing guest pages.</p>
</blockquote>
<p style="text-align: justify;">Dans notre grande quête d&#8217;overcommit, notre contact chez VMware nous a parlé d&#8217;un paramètre assez génial qui permet de changer la politique d&#8217;allocation agressive de large pages de la mmu (en anglais c&#8217;est plus facile à comprendre) :</p>
<blockquote>
<p style="text-align: justify;">The heuristic, when enabled, basically says that whenever possible when backing any part of a 2MB-region of guest memory, try to do so with a large 2MB page. This may involve remapping existing small 4KB pages into that new 2MB page. But it basically tries to aggressively back everything large</p>
</blockquote>
<p style="text-align: justify;">Ce qui explique pourquoi, par défaut, TPS n&#8217;a presque pas d&#8217;effet (<a href="http://www.yellow-bricks.com/2011/01/10/how-cool-is-tps/" target="_blank">sauf pour les zero</a>) même pour les guest qui ne &#8220;demandent&#8221; pas de large pages. La raison est bien liée aux performances :</p>
<blockquote>
<p style="text-align: left;">When overcommitment isn&#8217;t an issue, large pages really do help TLB-performance with hw-mmu on most workloads.</p>
</blockquote>
<p style="text-align: justify;">A l&#8217;inverse, si on passe le paramètre à 0 (sched.mem.alwaysTryLPageAlloc pour une vm ou LPage.LPageAlwaysTryForNPT pour un host) la mmu n’allouera une large page qu&#8217;à la demande du guest. <a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.vsphere.resmgmt.doc/GUID-D98E6EC9-3730-4BC0-A9FC-93B9079E1AEE.html" target="_blank">L&#8217;explication est d&#8217;ailleurs disponible au fin fond du documentation center de VMware</a> :</p>
<blockquote>
<p style="text-align: justify;">Try to allocate large pages for nested page tables (called &#8216;RVI&#8217; by AMD or &#8216;EPT&#8217; by Intel). If you enable this option, all guest memory is backed with large pages in machines that use nested page tables. If NPT is not available, only some portion of guest memory is backed with large pages.</p>
</blockquote>
<p style="text-align: justify;">Vous aurez compris où nous voulons en venir : trouver <strong>un bon équilibre entre le bénéfice en matière de performance des large pages (presque incontestable lorsque c&#8217;est le guest qui en fait la demande) et le bénéfice de TPS en matière de consolidation mémoire</strong>. Exemple sur notre fameux cluster :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_alwaysTryLPageAlloc.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/CHASSIS_04_HWMMU_alwaysTryLPageAlloc.png" alt="" width="469" height="506" /></a></p>
<p style="text-align: justify;">Si vous êtes attentif vous aurez remarqué qu&#8217;il n&#8217;y a que très peu de différence de consolidation avec les résultats en mode small pages forcées, c&#8217;était une feinte pour ceux du fond qui ne suivent pas&#8230; Dans ce cas c&#8217;est parfaitement normal car aucun des guestOS présent dans cet exemple n&#8217;utilise de large pages (windows 2003 32bit). Si les vm avaient été, par exemple, des windows 2008 R2, le niveau de consommation se serait situé quelque part entre le &#8220;full&#8221; large pages et le &#8220;full&#8221; small pages en fonction des applications et du comportement de l&#8217;OS. Nous ne manquerons pas de compléter ce post avec un exemple impliquant des guestOS et des applications exploitant les large pages.</p>
<p>Voici la commande powershell qui a permis de désactiver sched.mem.alwaysTryLPageAlloc sur les vm (vm reboot ou &#8220;<a href="http://www.hypervisor.fr/?p=3235" target="_blank">vmotion shake</a>&#8221; pour la prise en compte) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType VirtualMachine|?{!$_.Config.Template -and $_.Runtime.ConnectionState -eq &quot;connected&quot;}|?{!($_.Config.ExtraConfig|?{$_.Key -eq &quot;sched.mem.alwaysTryLPageAlloc&quot;}|?{$_.value -match &quot;false|0&quot;})}|%{$_.ReconfigVM((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{extraconfig=(New-Object Vmware.Vim.OptionValue -Property @{Key=&quot;sched.mem.alwaysTryLPageAlloc&quot;;Value=&quot;0&quot;})}))}</pre>
<p style="text-align: left;">Pour afficher un tableau récapitulatif des infos qui nous intéressent :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType VirtualMachine|?{!$_.Config.Template -and $_.Runtime.ConnectionState -eq &quot;connected&quot;}|select @{n=&quot;VM&quot;;e={$_.Name}}, @{n=&quot;HV&quot;;e={$_.Config.Flags.VirtualExecUsage}}, @{n=&quot;HVMMU&quot;;e={$_.Config.Flags.VirtualMmuUsage}}, @{n=&quot;disable_mmu_largepages&quot;;e={($_.Config.ExtraConfig|?{$_.Key -eq &quot;monitor_control.disable_mmu_largepages&quot;}).value}}, @{n=&quot;alwaysTryLPageAlloc&quot;;e={($_.Config.ExtraConfig|?{$_.Key -eq &quot;sched.mem.alwaysTryLPageAlloc&quot;}).value}}, @{n=&quot;ESX&quot;;e={(Get-View -property Name $_.Runtime.Host).Name}}|sort hv,hvmmu,disable_mmu_largepages,alwaysTryLPageAlloc,ESX|ft -AutoSize</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/vmm_mem_adv.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/vmm_mem_adv.png" alt="" width="424" height="191" /></a></p>
<p style="text-align: left;"><span style="text-align: justify;">Pour information, depuis ESXi 5.0, il existe une commande très utile pour monitorer l&#8217;utilisation des large pages (memstats -r lpage-stats -v) :</span></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/tps_mmu_lpages/memstats_lpage.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/tps_mmu_lpages/memstats_lpage.png" alt="" width="414" height="337" /></a></p>
<p style="text-align: justify;">En cas de vmotion, les pages de la &#8220;future&#8221; vm sont allouées au format 4k et reconverties par la suite :</p>
<blockquote>
<p style="text-align: justify;">The vmkernel allocates the memory for a VM during precopy using small pages. These are then converted to large as the VM begins to run but it is based on guest accesses. esx5.0 and esx5.1 each improved on the ability to recover the large mappings.</p>
</blockquote>
<p style="text-align: justify;">Et parce que nous sommes de grands fan de l&#8217;overcommit mémoire, voici notre <a href="http://upload.wikimedia.org/wikipedia/commons/5/5f/Rue_Boutebrie.jpg" target="_blank">poudre de perlimpinpin</a> à ajouter dans vos recettes de scripts de déploiements si vous voulez overcommiter bien comme il faut (nous déclinons toute implosion de votre infra&#8230;) :</p>
<pre class="brush: bash; title: ; notranslate">
vim-cmd hostsvc/advopt/update VMkernel.Boot.sharePerNode bool false
vim-cmd hostsvc/advopt/update Mem.ShareRateMax long 32768
vim-cmd hostsvc/advopt/update Mem.ShareScanTime long 10
vim-cmd hostsvc/advopt/update Mem.ShareScanGHz long 32
vim-cmd hostsvc/advopt/update Mem.IdleTax long 95
#vim-cmd hostsvc/advopt/update Mem.AllocGuestLargePage long 0
#vim-cmd hostsvc/advopt/update Mem.AllocGuestRemoteLargePage long 0
#vim-cmd hostsvc/advopt/update LPage.LPageAlwaysTryForNPT long 0
vim-cmd hostsvc/advopt/update Mem.MemZipMaxPct long 25
#vsish -e set /sched/freeMemoryState/minFreePct 3
</pre>
<p style="text-align: justify;">Nous finirons par <a href="http://files.hypervisor.fr/doc/virtualization_for_dummies.pdf#page=27" target="_blank">une petite citation pour ceux qui ne jurent que par les large pages</a> (qui a dit Hyper-V ?!) :</p>
<blockquote>
<p style="text-align: justify;">The performance increase is somewhat <strong>dependant upon the type of workload</strong> the virtual machine is executing; memory-intensive applications see more performance improvement than applications that are not heavily dependent on memory access.</p>
</blockquote>
<p style="text-align: justify;">Un grand merci à <a href="http://www.linkedin.com/pub/alex-garthwaite/14/899/745" target="_blank"><strong>Alex Garthwaite</strong></a> pour son aide à la rédaction de ce post et à la compréhension des mécanismes de gestion de la mémoire d&#8217;ESX.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4401</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>FC to iSCSI failover : MRU ranking</title>
		<link>http://www.hypervisor.fr/?p=4389</link>
		<comments>http://www.hypervisor.fr/?p=4389#comments</comments>
		<pubDate>Mon, 12 Nov 2012 22:27:37 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[ALUA]]></category>
		<category><![CDATA[NMP]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[PSA]]></category>
		<category><![CDATA[PSP]]></category>
		<category><![CDATA[SATP]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[VMW_PSP_MRU]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4389</guid>
		<description><![CDATA[Au détour de l’excellent Storage Implementation in vSphere 5.0 de Mostafa &#8220;VCDX #2&#8243; Khalil,  nous avons découvert le Path Ranking. Détaillé dans une kb vmware (et dans un post de Cormac Hogan), le path raking permet de pondérer un ou plusieurs chemins lorsque le plugin VMW_PSP_MRU est utilisé.

In ESXi 5.0, VMW_PSP_MRU has path ranking capabilities that allows you [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Au détour de l’excellent <a href="http://www.amazon.com/dp/0321799933" target="_blank">Storage Implementation in vSphere 5.0</a> de <a href="https://twitter.com/MostafaVMW" target="_blank">Mostafa &#8220;VCDX #2&#8243; Khalil</a>,  nous avons découvert le <strong>Path Ranking</strong>. <a href="http://kb.vmware.com/kb/2003468" target="_blank">Détaillé dans une kb vmware</a> (et dans <a href="http://blogs.vmware.com/vsphere/2012/04/prioritizing-io-paths-in-the-event-of-a-failover.html" target="_blank">un post de Cormac Hogan</a>), le path raking permet de pondérer un ou plusieurs chemins lorsque le plugin VMW_PSP_MRU est utilisé.</p>
<blockquote>
<p style="text-align: justify;">In ESXi 5.0, VMW_PSP_MRU has path ranking capabilities that allows you to assign ranks to individual paths. VMW_PSP_MRU goes through the path group states in the following order: Active, Active_UO and Standby, and <strong>picks a path that has the highest rank for I/O</strong>.</p>
</blockquote>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/05fig08_alt.jpg" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/05fig08_alt.jpg" alt="" width="418" height="250" /></a></p>
<p style="text-align: justify;">Evidemment, le scénario dans le quel le path ranking nous intéresse le plus est le fameux <a href="http://www.hypervisor.fr/?p=3164" target="_blank">FC to iSCSI failover</a> dans le quel nous étions particulièrement gêné par le fait que les chemins en FC n&#8217;étaient pas prioritaires sur les chemins iSCSI et pouvant mener à des situations où un chemin iSCSI serait utilisé alors qu&#8217;un chemin FC serait disponible :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/pathranking/fc-iscsi-fixed.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/pathranking/fc-iscsi-fixed.png" alt="" width="441" height="322" /></a></p>
<p style="text-align: justify;">On passe le PSP du datastore en MRU et un coup de PowerCLI pour monter le ranking des chemins FC :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/pathranking/fc-iscsi-get-esxcli.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/pathranking/fc-iscsi-get-esxcli.png" alt="" width="442" height="234" /></a></p>
<pre class="brush: powershell; title: ; notranslate">(Get-VMHost esx.vmware.com|Get-EsxCli).storage.nmp.path.list(&quot;naa.0123456789&quot;)|sort RuntimeName|select RuntimeName, @{n=&quot;rank&quot;;e={(Get-VMHost esx.vmware.com|Get-EsxCli).storage.nmp.psp.generic.pathconfig.get($_.RuntimeName)}}|ft -AutoSize</pre>
<pre class="brush: powershell; title: ; notranslate">(Get-VMHost vmvisor01.vmwa.re|Get-EsxCli).storage.nmp.psp.generic.pathconfig.set(&quot;rank=1&quot;,&quot;vmhba0:C0:T0:L0&quot;)</pre>
<p style="text-align: left;">Le (bon) résultat est immédiat :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/pathranking/fc-iscsi-mru-ranked.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/pathranking/fc-iscsi-mru-ranked.png" alt="" width="441" height="322" /></a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4389</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>VMDirectPath pour flasher un firmware dans une vm</title>
		<link>http://www.hypervisor.fr/?p=4289</link>
		<comments>http://www.hypervisor.fr/?p=4289#comments</comments>
		<pubDate>Sun, 21 Oct 2012 21:18:48 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VMDirectPath]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4289</guid>
		<description><![CDATA[Pour ceux qui n&#8217;y croient pas ou ceux qui ont trop peur d&#8217;essayer, nous avons pu valider avec succès la méthode sur une carte IBM BR10i (à base de LSI 1068e) :


C&#8217;est tellement plus pratique dans une VM  
]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour ceux qui n&#8217;y croient pas ou ceux qui ont trop peur d&#8217;essayer, nous avons pu valider avec succès la méthode sur une carte IBM BR10i (à base de LSI 1068e) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmdirectpath_lsi_config.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmdirectpath_lsi_config.png" alt="" width="446" height="208" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmdirectpath_lsi_config.png" target="_blank"></a><a href="http://files.hypervisor.fr/img/vmdirectpath_lsi_firmware.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmdirectpath_lsi_firmware.png" alt="" width="470" height="447" /></a></p>
<p style="text-align: left;">C&#8217;est tellement plus pratique dans une VM <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4289</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EZ Compact 6, le futur backplane de votre NAS</title>
		<link>http://www.hypervisor.fr/?p=4093</link>
		<comments>http://www.hypervisor.fr/?p=4093#comments</comments>
		<pubDate>Mon, 17 Sep 2012 23:31:25 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[EZ Compact]]></category>
		<category><![CDATA[FreeNAS]]></category>
		<category><![CDATA[Icy Dock]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4093</guid>
		<description><![CDATA[Comme nous, vous connaissez Icy Dock (une marque appartenant au groupe taiwanais Cremax Technology) depuis longtemps pour ses boitiers externe usb, ses adaptateurs 2.5&#8243; &#62; 3.5&#8243; ou ses racks 3.5&#8243; comme ceux utilisés dans les solutions LimeTech. Ce que vous ignorez peut être en revanche, c&#8217;est qu&#8217;il y a quelques temps déjà ils ont commercialisé un rack interne [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Comme nous, vous connaissez <a href="http://www.icydock.com/index.php" target="_blank">Icy Dock</a> (une marque appartenant au groupe taiwanais Cremax Technology) depuis longtemps pour ses boitiers externe usb, ses adaptateurs 2.5&#8243; &gt; 3.5&#8243; ou ses racks 3.5&#8243; comme ceux utilisés dans les solutions <a href="http://lime-technology.com/products/md-1510-server/64?vsig64_0=1" target="_blank">LimeTech</a>. Ce que vous ignorez peut être en revanche, c&#8217;est qu&#8217;il y a quelques temps déjà ils ont commercialisé un rack interne pour 4 disques ou SSD 2.5&#8243; (<a href="http://www.icydock.com/goods.php?id=114" target="_blank">sas</a> et/ou <a href="http://www.icydock.com/goods.php?id=142" target="_blank">sata</a>) 100% métal qui tiens dans une baie 5.25&#8243; :</p>
<p style="text-align: center;"><a href="http://www.icydock.com/product/images/mb994sp-4s_kit.jpg" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZC6/EZC4_1.jpg" alt="" width="331" height="208" /></a></p>
<p style="text-align: justify;">Ok, rien d’exceptionnel si ce n&#8217;est le très bon rapport qualité/prix et un système de fermeture &#8220;<strong>eagle-hook</strong>&#8221; très efficace. En effet, 4 slots 2.5&#8243; dans une baie 5.25&#8243; tout le monde en fait depuis longtemps mais Cremax s’apprête à lancer un rack similaire avec une légère différence : il aura <strong>6 slots</strong>. Oui vous avez bien lu, un rack 100% métal <strong>6 slots 2.5&#8243; dans une seule baie 5.25&#8243;</strong> avec le même système &#8221;<strong>eagle-hook</strong>&#8221; et un switch High/Low/Off pour la ventilation.</p>
<p style="text-align: justify;">Nous avons eu l&#8217;immense privilège d&#8217;obtenir un sample afin de vous le faire découvrir sous toutes les coutures mais surtout dans ce pourquoi il a été conçu : un NAS ultra compact.</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_2.jpg" title="EZC6_N40L_2_lo" rel="lightbox[4093]"><img class="aligncenter size-full wp-image-4097" title="EZC6_N40L_2_lo" src="http://files.hypervisor.fr/img/EZC6/low/EZC6_N40L_2_lo.jpg" alt="" width="428" height="319" /></a><span id="more-4093"></span></p>
<p style="text-align: justify;">Tout d&#8217;abord, comparons notre EZ Compact 6 (son vrai nom c&#8217;est <a href="http://www.icydock.com/product/images/mb996sp-6sb_kit.jpg">MB996SP-6SB</a> mais Cremax France a accepté de lui donner un nom un peu plus sexy pour l&#8217;occasion) avec son petit frère :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_EZC4_1.jpg" title="EZC6_EZC4_1_lo" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4103" title="EZC6_EZC4_1_lo" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_EZC4_1_lo-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZC6/EZC6_EZC4_3.jpg" title="EZC6_EZC4_3_lo" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4104" title="EZC6_EZC4_3_lo" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_EZC4_3_lo-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZC6/EZC6_EZC4_4.jpg" title="EZC6_EZC4_4_lo" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4105" title="EZC6_EZC4_4_lo" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_EZC4_4_lo-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;">Vous noterez que là ou l&#8217;EZ Compact 4 pouvait accueillir des disques ou SSD jusqu&#8217;à <strong>15mm</strong> de haut, la version 6 slots ne peut évidement accueillir que des <strong>9mm</strong> max. Heureusement, la majorité des unités 2.5&#8243; font 9mm ou même <strong>7mm</strong> pour les SSD récents.</p>
<p style="text-align: justify;">On remarque également que la version 6 slots est <strong>plus courte de quelques centimètres</strong> qui pourront s’avérer précieux dans les encombrements les plus réduits (comme celui de notre NAS de test).</p>
<p style="text-align: justify;">Concernant l&#8217;aspect refroidissement, nous avons mentionné la présence d&#8217;un interrupteur (présent également sur la nouvelle version de l&#8217;EZ Compact 4 -SATA- qui n&#8217;a plus qu&#8217;un seul connecteur molex) permettant de choisir le mode de fonctionnement (High/Low/<strong>Off</strong>) de <span style="text-decoration: underline;">l&#8217;unique</span> ventilateur. Vous l&#8217;aurez deviné, les SSD sont donc un choix idéal pour ce rack.</p>
<p style="text-align: justify;">Pour notre test, nous nous sommes procuré <strong>6 SSD <a href="http://ark.intel.com/products/56565/Intel-SSD-320-Series-160GB-2_5in-SATA-3Gbs-25nm-MLC" target="_blank">Intel 320 Series</a></strong> de 160Go afin de vérifier que notre nouveau backplane ne serait pas un goulet d’étranglement pour les configurations les plus extrêmes :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_SSD_1.jpg" title="EZC6_SSD_1_lo" rel="lightbox[4093]"><img class="aligncenter size-full wp-image-4109" title="EZC6_SSD_1_lo" src="http://files.hypervisor.fr/img/EZC6/low/EZC6_SSD_1_lo.jpg" alt="" width="514" height="318" /></a></p>
<p style="text-align: justify;">Et un HP Proliant MicroServer (<a href="http://www.vmdude.fr/tips-tricks/hp-n40l-aka-nas-homemade/" target="_blank">aka N40L que notre ami vmdude.fr à testé avec 16Go de RAM</a>) pour vérifier que l&#8217;encombrement du EZ Compact 6 puisse s&#8217;adapter aux configurations les plus compactes :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_1.jpg" title="EZC6_N40L_1_lo" rel="lightbox[4093]"><img class="aligncenter size-full wp-image-4108" title="EZC6_N40L_1_lo" src="http://files.hypervisor.fr/img/EZC6/low/EZC6_N40L_1_lo.jpg" alt="" width="319" height="428" /></a></p>
<p style="text-align: justify;">Comme vous pourrez le vérifier sur les photos, le N40L est très dense mais particulièrement bien conçu et où chaque cm3 d&#8217;espace est exploité ou exploitable car <a href="http://h18004.www1.hp.com/products/quickspecs/13716_na/13716_na.html" target="_blank">il est possible d&#8217;ajouter quelques options</a>. Il y a en l’occurrence un slot <strong>PCIe 16x low-profile</strong> dans lequel nous avons installé une carte <a href="http://www.redbooks.ibm.com/Redbooks.nsf/RedbookAbstracts/tips0737.html" target="_blank">IBM ServeRAID-BR10i</a> (chip LSI 1068E) très abordable et facilement trouvable sur ebay.</p>
<p style="text-align: justify;">Nous avons presque eu du mal à passer les 2 cables SFF-8087 nécessaires pour relier le rack à la carte mais à l&#8217;inverse vous pouvez constater que l&#8217;EZ Compact 6 est parfaitement à l&#8217;aise dans cet environnement plus que condensé. L&#8217;emplacement 5.25&#8243; étant prévu pour accueillir un lecteur optique générallement plus profond, on a même le luxe d&#8217;un peut d&#8217;espace libre derrière le rack :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_in_0.jpg" title="EZC6_N40L_in_0" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4115" title="EZC6_N40L_in_0" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_N40L_in_0-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_in_1.jpg" title="EZC6_N40L_in_1" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4116" title="EZC6_N40L_in_1" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_N40L_in_1-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_3.jpg" title="EZC6_N40L_3" rel="lightbox[4093]"><img class="alignnone size-thumbnail wp-image-4117" title="EZC6_N40L_3" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_N40L_3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_N40L_3.jpg"></a></p>
<p style="text-align: justify;">On en croirait presque que l&#8217;EZ Compact 6 est fait pour le N40L tant l&#8217;intégration est &#8220;fluide&#8221;, à l&#8217;opposé on peut égallement rêver d&#8217;une configuration à base de <a class="wpgallery" href="http://files.hypervisor.fr/img/EZC6/LL-PC-A17B.jpg" target="_blank">Lian Li PC-A17B</a> blindé d&#8217;un total de 54 SSD !</p>
<p style="text-align: justify;">La carte <strong>BR10i</strong> que nous avons utilisé a l&#8217;avantage de présenter les disques directement à l&#8217;OS sans passer par une configuration RAID quelconque (<em>IT mode</em>). C&#8217;est donc tout naturellement que nous avons installé <strong>FreeNAS</strong> sur une clef usb et créé un beau <a href="http://www.freebsd.org/cgi/man.cgi?query=zpool" target="_blank">zpool</a> avec les 6 SSD en stripping. Nous aurions très bien pu choisir <strong><a href="https://sites.google.com/site/eonstorage/" target="_blank">EON</a></strong> comme nous le recommande notre-pote-Rémi, l&#8217;expert ZFS en chef. D&#8217;autant plus que la dernière beta est basé sur <a href="https://www.youtube.com/watch?v=-zRN7XLCRhc" target="_blank">Illumos, digne <span style="text-decoration: line-through;">successeur</span> fork d&#8217;opensolaris</a>. Malheureusement <strong>Nexenta</strong> n&#8217;étant pas <em>stateless</em>, il ne sera évidement pas envisageable de lui consacrer 2 périphériques. <strong>ZFS</strong> oblige, nous avons du réduire au minimum <a href="http://en.wikipedia.org/wiki/Adaptive_replacement_cache" target="_blank">l&#8217;ARC</a> afin de ne pas solliciter la RAM lors des tests.</p>
<p style="text-align: justify;">Pour ce benchmark, nous avons utilisé <strong><a href="http://www.iozone.org/" target="_blank">iozone</a> </strong>qui est un outil bien connu dans l&#8217;univers du stockage. Parmi tous les tests disponibles, c&#8217;est évidement celui de la <span style="text-decoration: underline;">lecture</span> qui aura permis d’atteindre les débits les plus importants dans notre configuration. Le test à été effectué sur une plage de 256Mo à <strong>16Go</strong> pour la taille de fichier avec une plage de 16k à 16M pour le &#8220;record size&#8221;. Couplé à gnuplot, ça donne des beaux graphiques :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_IOZONE_read.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/EZC6/EZC6_IOZONE_read.png" alt="" width="540" height="420" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/EZC6/EZC6_IOZONE_write.png" title="EZC6_IOZONE_write" rel="lightbox[4093]"><img class="aligncenter size-full wp-image-4178" title="EZC6_IOZONE_write" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/EZC6_IOZONE_write.png" alt="" width="540" height="420" /></a></p>
<p style="text-align: justify;">Sur les résultats du test <strong>read</strong>, on constate clairement un &#8220;effet de cache&#8221; sur les premiers résultats et une stabilisation autour d&#8217;<strong>1Go/s</strong> (~8Gb/s) sur tout le reste du test. On est donc très proches des capacités brut des 6 SSD en parallèle ce qui est tout à fait honorable et permet de confirmer que le backplane est largement capable de supporter des gros débits.</p>
<p style="text-align: justify;">Conclusion, si vous chercher de quoi loger un <strong>maximum d&#8217;unité 2.5&#8243; dans un minimum d&#8217;espace</strong> à un prix abordable (<strong>environ 100€ </strong><strong>au lancement d&#8217;après Cremax France</strong>) sans sacrifier la qualité, ce rack est clairement le meilleur choix aujourd&#8217;hui. En face on a <a href="http://www.walmart.be/product/details/SUPER-MICRO-COMPUTER-INC./Servers/CSEM28E1/78512683?flang=en" target="_blank">du supermicro à un tarif exorbitant</a> ou du <a href="http://www.servethehome.com/thermaltake-max1562-hot-swap-ssd-6in1-25-525-review/" target="_blank">Thermaltake trop cheap</a> et surtout indisponible sur le marché.</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4093</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>[PSH] Les alarmes de datastore qui manquent à vCenter (par cluster)</title>
		<link>http://www.hypervisor.fr/?p=4039</link>
		<comments>http://www.hypervisor.fr/?p=4039#comments</comments>
		<pubDate>Fri, 10 Aug 2012 07:09:04 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[VMFS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4039</guid>
		<description><![CDATA[Suite à notre post sur la création d&#8217;alarmes de latence pour les datastore, nous nous sommes aperçu que sur des environnements relativement important cela pouvait générer une quantité importante d&#8217;events inutiles. En effet, les alarmes étant créées à la &#8220;racine&#8221; du vCenter et propagées sur tous les hosts par héritage, il est fréquent de voir des events liés à [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Suite à <a href="http://www.hypervisor.fr/?p=3683" target="_blank">notre post sur la création d&#8217;alarmes de latence pour les datastore</a>, nous nous sommes aperçu que sur des environnements relativement important cela pouvait <strong>générer une quantité importante d&#8217;events inutiles</strong>. En effet, les alarmes étant créées à la <strong>&#8220;racine&#8221; du vCenter</strong> et propagées sur tous les hosts par héritage, il est fréquent de voir des events liés à une alarme (green&gt;gray et gray&gt;green lors d&#8217;un reboot par exemple) d&#8217;un datastore n’existant pas sur l&#8217;ESX en question. Nous avons donc modifiés nos onliner pour que les alarmes soient créées à la <strong>&#8220;racine&#8221; des cluster</strong> et comme le nom d&#8217;une alarme doit être unique, nous y avons rajouté le nom du cluster :</p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé NFS par cluster</strong>, yellow 300ms/5min et red 500ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.nas})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) datastore RW latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor NFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) RW latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency_cluster.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency_cluster.png" alt="" width="540" height="59" /></a></p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé VMFS par cluster</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.vmfs})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) RW latency in $($vicluster.name)&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) RW latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor VMFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) RW latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_vmfs_latency_cluster.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_vmfs_latency_cluster.png" alt="" width="518" height="83" /></a></p>
<p>Alarme de <strong>latence SIOC Normalized Latency pour datastore partagé par cluster</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($dsname in ($vicluster.Datastore|%{Get-View $_}|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.IormConfiguration.Enabled})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Datastore $($dsname.name) SIOC Normalized Latency in $($vicluster.name)&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Datastore $($dsname.name) SIOC Normalized Latency in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) datastore SIOC Normalized Latency in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;sizeNormalizedDatastoreLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30000&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40000&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] $($dsname.name) SIOC Normalized Latency on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
<p>Alarme de <strong>Disk Command aborts pour datastore VMFS partagé par cluster</strong>, en cas de défaillance/saturation DAS/SAN/iSCSI (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($vicluster in Get-View -ViewType ClusterComputeResource) {foreach ($diskname in ($vicluster.Datastore|%{Get-View $_}|?{$_.info.vmfs -and $_.summary.Accessible -and $_.summary.MultipleHostAccess}|%{$_.info.vmfs.extent}|%{$_.diskname})){if (!((Get-View AlarmManager).GetAlarm($vicluster.moref)|?{(get-view $_).info.name -match &quot;Disk $diskname command aborts&quot;})){(Get-View AlarmManager).CreateAlarm($vicluster.moref,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;Disk $diskname command aborts in $($vicluster.name)&quot;;Description = &quot;Custom alarm to monitor $diskname disk command aborts in $($vicluster.name)&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = (New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;disk&quot;}|?{$_.nameinfo.key -match &quot;commandsAborted&quot;}|?{$_.GroupInfo.Key -ne &quot;virtualDisk&quot;}|?{$_.RollupType -match &quot;summation&quot;}).key;Instance = $diskname});Operator = &quot;isAbove&quot;;Yellow = &quot;1&quot;;Red = &quot;2&quot;;Type = &quot;HostSystem&quot;})});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;[vAlarm] command aborts on disk $diskname on {targetName}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $true}))})});ActionFrequency = &quot;1800&quot;}))}}}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4039</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VMworld 2011 : le feedback de Nexenta &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=3915</link>
		<comments>http://www.hypervisor.fr/?p=3915#comments</comments>
		<pubDate>Wed, 04 Jul 2012 16:40:22 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[DTrace]]></category>
		<category><![CDATA[nexenta]]></category>
		<category><![CDATA[vmworld]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3915</guid>
		<description><![CDATA[MAJ 24.03.2013 : Voici le compte rendu officiel de l&#8217;experience.
Durant l&#8217;OpenStorage Summit EMEA 2012, Andy Bennett raconte comment VMware a sollicité Nexenta pour pondre une solution de stockage comparable aux Vblocks d&#8217;EMC et FlexPods de NetApp mais à un coût radicalement inférieur (l&#8217;objectif était le meilleur prix au Téraoctet) et comment cette solution s&#8217;est retrouvée à héberger une partie des &#8220;Hands on lab&#8221; des 2 VMworld 2011 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 24.03.2013</span> : <a href="http://info.nexenta.com/rs/nexenta/images/data_sheet_vmworld_hands_on_lab.pdf" target="_blank">Voici le compte rendu officiel de l&#8217;experience</a>.</em></p>
<p style="text-align: justify;">Durant<a href="http://www.openstoragesummit.org/emea_videos.html?utm_source=newsletter&amp;utm_medium=referral" target="_blank"> l&#8217;OpenStorage Summit EMEA 2012</a>, Andy Bennett raconte comment VMware a sollicité Nexenta pour pondre une solution de stockage comparable aux Vblocks d&#8217;EMC et FlexPods de NetApp mais à un coût radicalement inférieur (l&#8217;objectif était le meilleur prix au Téraoctet) et comment cette solution s&#8217;est retrouvée à héberger une partie des &#8220;Hands on lab&#8221; des 2 VMworld 2011 avec des disques NL-SAS 7500 rpm en face d&#8217;EMC et NetApp avec des baies remplies de SAS 15K et de SSD.</p>
<p style="text-align: justify;">Résultat, plus de de 10 milliards d&#8217;IOPS NFS sur les 2 VMworld à 2ms en moyenne (~1,2 VM déployées par seconde !) avec une solution à 330K$ face à NetApp et EMC avec des solution à 2M$&#8230;</p>
<p style="text-align: center;"><a href="https://www.dropbox.com/s/3skk1jj6g93fga7/VMWorld2011-Copenhagen.mov"><img class="aligncenter" src="http://files.hypervisor.fr/img/nexenta_aura.png" alt="" width="497" height="274" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Il raconte également comment un module de RAM défectueux a fait planter un des nœuds de leur cluster sans conséquence sur les labs mais aussi comment, en quelques heures seulement, l&#8217;un des membres de l&#8217;équipe a designé et codé <a href="http://www.vmdude.fr/news/retour-du-vmworld-2011/" target="_blank">la fameuse interface Aura</a> (basé sur DTrace) contenant les metrics les plus importants pour les équipes d&#8217;experts VMware qui monitoraient l&#8217;infrastructure sur place. Du caviar pour les plus curieux d&#8217;entre nous&#8230;</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="420" height="236" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/BSsTH7DbGBA?version=3&amp;hl=fr_FR&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="420" height="236" src="http://www.youtube.com/v/BSsTH7DbGBA?version=3&amp;hl=fr_FR&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3915</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Les HP Proliant ML110 G6 supportent 32Go de RAM</title>
		<link>http://www.hypervisor.fr/?p=3890</link>
		<comments>http://www.hypervisor.fr/?p=3890#comments</comments>
		<pubDate>Sat, 23 Jun 2012 23:09:00 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[32GB]]></category>
		<category><![CDATA[HP ML110]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3890</guid>
		<description><![CDATA[Le grand suspens prend fin : on peut mettre 32Go de RAM dans un ML110 G6 contrairement à ce que dit HP (dans un G7 aussi très probablement) :


Cette bonne nouvelle, nous la devons à crucial qui produit des modules de 8Go DDR3 PC3-10600 Unbuffered ECC *Quad Rank*. Il vous en coûtera pas loin de 600€ pour [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://goo.gl/Mcgho">Le grand suspens</a> prend fin : on peut mettre <strong>32Go de RAM dans un ML110 G6</strong> <a href="http://h18000.www1.hp.com/products/quickspecs/13477_na/13477_na.HTML" target="_blank">contrairement à ce que dit HP</a> (<a href="http://h18000.www1.hp.com/products/quickspecs/14012_na/14012_na.html" target="_blank">dans un G7</a> aussi très probablement) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/ml110_32gb/ml110_32gb_kvm.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/ml110_32gb/ml110_32gb_kvm.png" alt="" width="401" height="331" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/ml110_32gb/ml110_32gb_vc.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/ml110_32gb/ml110_32gb_vc.png" alt="" width="429" height="73" /></a></p>
<p style="text-align: justify;">Cette bonne nouvelle, nous la devons à <a href="http://www.crucial.fr/eu/store/partspecs.aspx?imodule=CT102472BD1339" target="_blank">crucial qui produit des modules de 8Go DDR3 PC3-10600 Unbuffered ECC <strong>*Quad Rank*</strong></a>. Il vous en coûtera pas loin de 600€ pour 4 de ces &#8220;gros barreaux&#8221; mais cela décuplera sans nul doute le potentiel de votre lab.</p>
<p style="text-align: left;">Il est fort probable que d&#8217;autres modules compatibles existent aussi chez d&#8217;autres constructeurs mais qui s&#8217;y risquerait sans confirmation ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3890</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
