<?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; Performance</title>
	<atom:link href="http://www.hypervisor.fr/?cat=221&#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>vMotion SDPS madness</title>
		<link>http://www.hypervisor.fr/?p=5925</link>
		<comments>http://www.hypervisor.fr/?p=5925#comments</comments>
		<pubDate>Thu, 08 Aug 2019 12:28:27 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[stun]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[VMotion]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5925</guid>
		<description><![CDATA[Nous profitons de la coincidence d&#8217;un problème rencontré récemment chez un client et d&#8217;un excellent post de Niels Hagoort, le co-auteur du célèbrissime VMware vSphere 6.5 Host Resources Deep Dive, pour vous parler d&#8217;une fonctionnalité de vMotion apparu dans ESX 5.0 : Stun During Page Send (SDPS).

vSphere 5 introduces a new enhancement that ensures vMotion [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous profitons de la coincidence d&#8217;un problème rencontré récemment chez un client et <a href="https://blogs.vmware.com/vsphere/2019/07/the-vmotion-process-under-the-hood.html" target="_blank">d&#8217;un excellent post de Niels Hagoort</a>, le co-auteur du célèbrissime VMware <a href="https://frankdenneman.nl/publications/" target="_blank">vSphere 6.5 Host Resources Deep Dive</a>, pour vous parler <a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/vmware-vmotion-performance-vsphere5.pdf" target="_blank">d&#8217;une fonctionnalité de vMotion apparu dans ESX 5.0 : Stun During Page Send (SDPS)</a>.</p>
<blockquote>
<p style="text-align: justify;">vSphere 5 introduces a new enhancement that ensures vMotion will not fail due to memory copy convergence issues. As noted in the “Architecture” section, transfer of the virtual machine’s memory contents during the vMotion process involves an iterative precopy procedure. In most cases, a precopy iteration should take less time to complete than the previous iteration. <strong>However, a pathological case where the virtual machine modifies memory faster than it can be transferred—due to workload characteristics or network infrastructure limitations—results in aborting vMotion</strong> in vSphere 4.1 and prior releases, because precopy fails to make forward progress. <strong>The enhancement in vSphere 5 slows down the virtual machine during such pathological cases and ensures that the memory modification rate is slower than the precopy transfer rate, thereby preventing any possible vMotion failures</strong>.</p>
</blockquote>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2019/08/vMotion-timeline3-1024x265.png" title="vMotion-timeline3-1024x265" rel="lightbox[5925]"><img class="aligncenter size-full wp-image-5928" title="vMotion-timeline3-1024x265" src="http://www.hypervisor.fr/wp-content/uploads/2019/08/vMotion-timeline3-1024x265.png" alt="" width="491" height="127" /></a></p>
<p style="text-align: justify;">Vous l&#8217;aurez compris, si l&#8217;ESX source n&#8217;arrive pas à &#8220;dépiler&#8221; la vram suffisamment vite lors d&#8217;un vMotion, l&#8217;execution de la VM en question est ralentie jusqu&#8217;à ce qu&#8217;une convergence soit possible, <a href="http://www.hypervisor.fr/?p=2865" target="_blank">dans la limite des timeout par défaut</a>.</p>
<p style="text-align: justify;">Cette fonctionnalité semble parfaite pour les monster VM qu&#8217;on a du mal à évacuer lors d&#8217;un passage en maintenance mode mais elle est aussi très &#8220;problématique&#8221; lorsque l&#8217;infrastructure réseau n&#8217;est pas ou plus adaptée. D&#8217;où le très discret &#8220;network infrastructure limitations&#8221; dans le descriptif.</p>
<p style="text-align: justify;">En l&#8217;occurence, le client en question mène une campagne de &#8220;refresh&#8221; de son parc afin de remplacer des machines ayant largement dépassé leur date de péremption technique. Mais sans faire évoluer son réseau. Il se retrouve donc avec machine de 2To de RAM sur un réseau 1GbE.</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2019/08/sdps_gbe.png" title="sdps_gbe" rel="lightbox[5925]"><img class="aligncenter size-full wp-image-5929" title="sdps_gbe" src="http://www.hypervisor.fr/wp-content/uploads/2019/08/sdps_gbe.png" alt="" width="482" height="330" /></a></p>
<p style="text-align: justify;">Evidement, à mesure que des VM de plus en plus grosses sont provisionnées sur ces environnements, les fenêtres de maintenance sont de plus en plus grande mais surtout des ralentissements apparaissent lors des mise en maintenance ou simplement quand DRS déplace de VM :</p>
<blockquote>
<p style="text-align: justify;">018-12-13T16:32:29.378Z cpu18:74031)VMotion: 4943: 7811810961774337297 S: <strong>Not enough forward progress, enabling SDPS</strong> (Pages left to send: prev2 693298, prev 461605, cur 497489, network bandwidth ~28.619 MB/s, 94% t2d)<br />
2018-12-13T16:38:32.426Z cpu188:72874)VMotion: 4943: 7811810962073701659 S: Not enough forward progress, enabling SDPS (Pages left to send: prev2 126959, prev 18467, cur 15909, network bandwidth ~60.158 MB/s, 103% t2d)</p>
</blockquote>
<p style="text-align: justify;">SDPS fait son boulot et il le fait bien alors évidement pour faire passer des VM de 256Go qui bossent fort dans du 1GbE ca pique&#8230; Donc la prochaine fois qu&#8217;on vous dit que la bande passante de vmotion peut être sacrifiée, vous saurez quoi répondre.</p>
<p style="text-align: justify;">Evidement, <a href="https://kb.vmware.com/s/article/2007595" target="_blank">il y a un (mauvais) plan B</a> :</p>
<blockquote>
<p style="text-align: justify;">To work around this issue, the Stun During Page Send (SDPS) feature can be disabled on a per-host basis.<br />
[...]<br />
Change the value of <strong>Migrate.SdpsEnabled</strong> to 0.</p>
</blockquote>
<p style="text-align: justify;">Nous en profitons pour souligner un autre &#8220;petit&#8221; détail du texte au sujet du Page Tracing :</p>
<blockquote>
<p style="text-align: justify;">During the pre-copy phase, the vCPU’s, in use by the virtual machine, are <strong>briefly stunned to install the page tracers</strong>.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5925</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitor, like a boss.</title>
		<link>http://www.hypervisor.fr/?p=5604</link>
		<comments>http://www.hypervisor.fr/?p=5604#comments</comments>
		<pubDate>Thu, 22 Oct 2015 19:34:43 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[carbon]]></category>
		<category><![CDATA[grafana]]></category>
		<category><![CDATA[graphite]]></category>
		<category><![CDATA[monitoring]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5604</guid>
		<description><![CDATA[Si comme nous, vous cherchiez une solution de monitoring cluster centric, ne cherchez plus. Nous l&#8217;avons faites pour vous :

Très loin des dashboard cacti fastidieux à réaliser et limités en scalabilité, nous avons voulu une appliance la simple possible : deploy, add vcenter, relax!

]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si comme nous, vous cherchiez une solution de monitoring cluster centric, ne cherchez plus. <strong><a href="http://www.sexigraf.fr/" target="_blank">Nous l&#8217;avons faites pour vous</a> </strong>:</p>
<p style="text-align: center;"><a href="http://www.sexigraf.fr/"><img class=" aligncenter" title="Enter SexiGraf" src="http://files.hypervisor.fr/img/SexiGraf_Enter.png" alt="" width="521" height="353" /></a></p>
<p style="text-align: justify;">Très loin <a href="https://github.com/rschitz/vCacti" target="_blank">des dashboard cacti fastidieux à réaliser et limités en scalabilité</a>, nous avons voulu une appliance la simple possible : <strong>deploy</strong>, <strong>add vcenter</strong>, <strong>relax</strong>!</p>
<p style="text-align: center;"><a href="http://files.sexigraf.fr/seximeetup/sexigraf/"><img class="aligncenter" src="http://files.sexigraf.fr/seximeetup/sexigraf/img/hannibal.png" alt="" width="359" height="443" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5604</wfw:commentRss>
		<slash:comments>17</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>LPoD on VDI</title>
		<link>http://www.hypervisor.fr/?p=5456</link>
		<comments>http://www.hypervisor.fr/?p=5456#comments</comments>
		<pubDate>Thu, 02 Apr 2015 14:32:22 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[deduplication]]></category>
		<category><![CDATA[large pages]]></category>
		<category><![CDATA[overcommit]]></category>
		<category><![CDATA[TPS]]></category>
		<category><![CDATA[Transparent Page Sharing]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5456</guid>
		<description><![CDATA[Nous avons eu l&#8217;opportunité de déployer notre fameuse sauce &#8220;Large Page on Demand&#8220; sur un environnement VDI de 5 stretched cluster de 32 nodes (soit 160 lames HP BL460c Gen8 bi E5 2680 v2 &#8211; 256Go) pour un total de 5000 VM Windows 7. Voici le summary d&#8217;un des cluster :

Sans autre tuning que le [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous avons eu l&#8217;opportunité de déployer <a href="http://www.hypervisor.fr/?p=5265">notre fameuse sauce &#8220;<strong>Large Page on Demand</strong>&#8220;</a> sur un environnement VDI de 5 <a href="http://www.hypervisor.fr/?p=4940" target="_blank">stretched cluster</a> de 32 nodes (soit 160 lames HP BL460c Gen8 bi E5 2680 v2 &#8211; 256Go) pour un total de <strong>5000 VM Windows 7</strong>. Voici le summary d&#8217;un des cluster :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/cluster_sample.png" alt="" width="343" height="352" /></p>
<p style="text-align: justify;">Sans autre tuning que le paramètre <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.vsphere.resmgmt.doc/GUID-D98E6EC9-3730-4BC0-A9FC-93B9079E1AEE.html" target="_blank">LPageAlwaysTryForNPT</a>, TPS nous a permis de récupérer <strong>plus de 50% de RAM soit + de 12.5To sans impact sur le ressenti utilisateur</strong> (cliquez sur les graphs pour avoir le détail des compteurs) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_a000_week.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_a000_small.png" alt="" width="395" height="172" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_b000_week.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_b000_small.png" alt="" width="395" height="172" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_c000_week.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_c000_small.png" alt="" width="395" height="172" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_d000_week.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_d000_small.png" alt="" width="395" height="172" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_e000_week.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_e000_small.png" alt="" width="395" height="172" /></a></p>
<p>Merci qui ? <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=5456</wfw:commentRss>
		<slash:comments>7</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>Large Pages on Demand</title>
		<link>http://www.hypervisor.fr/?p=5265</link>
		<comments>http://www.hypervisor.fr/?p=5265#comments</comments>
		<pubDate>Wed, 03 Sep 2014 12:08:59 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[large pages]]></category>
		<category><![CDATA[MMU]]></category>
		<category><![CDATA[NUMA]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[TPS]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5265</guid>
		<description><![CDATA[Comme nous vous l&#8217;avions promis, voici un retour d’expérience sur l&#8217;implémentation du paramètre LPageAlwaysTryForNPT à &#8220;0&#8243; qui force ESX à n&#8217;allouer une Large Page que lorsque le GuestOS d&#8217;une VM le lui demande explicitement et qui permet de bénéficier de TPS sans attendre que l&#8217;ESX n&#8217;ait à les &#8220;casser&#8221; en cas de contention.
In the cases [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.hypervisor.fr/?p=4401" target="_blank">Comme nous vous l&#8217;avions promis</a>, voici un retour d’expérience sur l&#8217;implémentation du paramètre <a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.resmgmt.doc/GUID-D98E6EC9-3730-4BC0-A9FC-93B9079E1AEE.html" target="_blank">LPageAlwaysTryForNPT</a> à &#8220;0&#8243; qui force ESX à n&#8217;allouer une Large Page que lorsque le GuestOS d&#8217;une VM le lui demande explicitement et qui permet de bénéficier de TPS <a href="http://kb.vmware.com/kb/1021095" target="_blank">sans attendre que l&#8217;ESX n&#8217;ait à les &#8220;casser&#8221; en cas de contention</a>.</p>
<blockquote><p>In the cases where host memory is overcommitted, ESX may have to swap out pages. Since ESX will not swap out large pages, during host swapping, a large page will be broken into small pages.</p></blockquote>
<p style="text-align: justify;">Afin d&#8217;avoir une meilleure visibilité sur ce qui change au moment où nous avons activé le paramètre et lancé une vague de vmotion au sein du cluster pour l&#8217;appliquer, nous avons utilisé les mêmes compteurs que <a href="http://www.hypervisor.fr/?p=4841" target="_blank">le &#8220;dashboard&#8221; Guest Memory</a> (aka <a href="http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.ResourcePool.Summary.QuickStats.html" target="_blank">ResourcePoolQuickStats</a>) pour en faire un rrd sous cacti (avec les même couleurs) :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_utilization.png" alt="" width="418" height="321" /></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/LPoD/LPoD_quickstats.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_quickstats.png" alt="" width="476" height="246" /></a></p>
<p style="text-align: justify;"><strong>Un gain immédiat de 20% de RAM sans consommation CPU supplémentaire</strong> ni augmentation manifeste de latence (dans notre cas) :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_cpu.png" alt="" width="395" height="172" /></p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/LPoD/LPoD_RAM.png" alt="" width="395" height="172" /></p>
<p style="text-align: justify;">Et pour ceux qui se posent la question, dans ce cluster cumulant 1.5To de RAM attribuée à des VM Windows 2008 R2 et RHEL 6 x64, seulement 40Go de Large Pages sont allouées en moyenne.</p>
<p style="text-align: justify;">Moralité, TPS c&#8217;est bon, mangez-en !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5265</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>storageRM level 1</title>
		<link>http://www.hypervisor.fr/?p=5252</link>
		<comments>http://www.hypervisor.fr/?p=5252#comments</comments>
		<pubDate>Fri, 08 Aug 2014 13:31:57 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[graylog2]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5252</guid>
		<description><![CDATA[Instruit par la kb Troubleshooting Storage I/O Control (1022091), nous nous sommes rendu compte qu&#8217;en fixant le log level à 1, le service storageRM crachait les informations de latency, qdepth et iops des datastores concernés dans les logs d&#8217;ESXi (et donc vers le(s) serveur(s) syslog) toutes les 4 secondes. Sur une grosse infra ça peut faire [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Instruit par la kb <a href="http://kb.vmware.com/kb/1022091" target="_blank">Troubleshooting Storage I/O Control (1022091)</a>, nous nous sommes rendu compte qu&#8217;en fixant le log level à 1, le service storageRM crachait les informations de latency, qdepth et iops des datastores concernés dans les logs d&#8217;ESXi (et donc vers le(s) serveur(s) syslog) <a href="http://cormachogan.com/2013/06/20/storage-io-control-workload-injector-behaviour/" target="_blank">toutes les 4 secondes</a>. Sur une grosse infra ça peut faire beaucoup mais ça offre de belles perspective de monitoring/troubleshooting :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/StorageRM_1/sioc_avglatency_agg.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/StorageRM_1/sioc_avglatency_agg.png" alt="" width="494" height="407" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/StorageRM_1/sioc_datastore.png" title="sioc_datastore" rel="lightbox[5252]"><img class="alignnone size-thumbnail wp-image-5256" title="sioc_datastore" src="http://www.hypervisor.fr/wp-content/uploads/2014/08/sioc_datastore-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/StorageRM_1/sioc_avglatency.png" title="sioc_avglatency" rel="lightbox[5252]"><img class="alignnone size-thumbnail wp-image-5255" title="sioc_avglatency" src="http://www.hypervisor.fr/wp-content/uploads/2014/08/sioc_avglatency-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/StorageRM_1/sioc_iops.png" title="sioc_iops" rel="lightbox[5252]"><img class="alignnone size-thumbnail wp-image-5257" title="sioc_iops" src="http://www.hypervisor.fr/wp-content/uploads/2014/08/sioc_iops-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">Et voici le oneliner PowerCLI pour le faire vite et bien :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType HostSystem|?{$_.Runtime.ConnectionState -eq &quot;connected&quot; -and $_.config.product.ProductLineId -eq &quot;embeddedEsx&quot; -and ($_.Config.Option|?{$_.Key -eq &quot;Misc.SIOControlLogLevel&quot;}).Value -ne &quot;1&quot;}|%{(Get-View $_.ConfigManager.AdvancedOption).UpdateOptions((New-Object VMware.Vim.OptionValue -Property @{Key=&quot;Misc.SIOControlLogLevel&quot;;Value=[Int64]1}))}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5252</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Zero-G Storage vMotion</title>
		<link>http://www.hypervisor.fr/?p=5188</link>
		<comments>http://www.hypervisor.fr/?p=5188#comments</comments>
		<pubDate>Mon, 16 Jun 2014 10:01:54 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[SVMotion]]></category>
		<category><![CDATA[thin provisioning]]></category>
		<category><![CDATA[VAAI]]></category>
		<category><![CDATA[zeroing]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5188</guid>
		<description><![CDATA[Notre expérience de Storage vMotion remonte à l&#8217;arrivée d&#8217;ESX 3.0.1 (aka VI3) où DMotion permettait de migrer à chaud de VMFS 2 à VMFS 3 :
Follow the Migrate Virtual Machine Wizard to select the ESX 3.0.1 host and VMFS3 datastore destination. The Wizard validates the destination and moves the configuration files of the virtual machine [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Notre expérience de Storage vMotion remonte à l&#8217;arrivée d&#8217;ESX 3.0.1 (<a href="https://www.vmware.com/support/pubs/vi_pubs.html" target="_blank">aka VI3</a>) où <a href="http://kb.vmware.com/kb/2874895" target="_blank">DMotion permettait de migrer à chaud de VMFS 2 à VMFS 3</a> :</p>
<blockquote><p>Follow the Migrate Virtual Machine Wizard to select the ESX 3.0.1 host and VMFS3 datastore destination. The Wizard validates the destination and <strong>moves the configuration files of the virtual machine and virtual disks to the new VMFS3 datastore</strong>.</p></blockquote>
<p><a href="http://www.vmworld.com/docs/DOC-2140"><img class="aligncenter" src="http://files.hypervisor.fr/img/svmotion_vaai/dmotion_vmworld_2007.png" alt="" width="395" height="296" /></a></p>
<p style="text-align: justify;">Depuis, nous avons étudié, testé, troubleshooté, et utilisé en production (<a href="http://www.hypervisor.fr/?p=3524" target="_blank">de manière parfois intensive</a>) cette fonctionnalité (<a href="http://www.hypervisor.fr/?p=3212" target="_blank">qui a beaucoup évolué depuis 2007</a>) devenue presque banale depuis SDRS.</p>
<p style="text-align: justify;">C&#8217;est au moment où nous croyons tout savoir du mécanisme que nous prenons une grande claque d&#8217;humilité lors d&#8217;une migration de plusieurs centaines de VM et que nous nous apercevons pour la première fois <strong>qu&#8217;un svmotion d&#8217;un vmdk thin (ou Lazy Zeroed) génère 2 fois plus d&#8217;écritures que de lectures</strong> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_rate.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_rate.png" alt="" width="503" height="304" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_iops.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_iops.png" alt="" width="503" height="304" /></a></p>
<p style="text-align: justify;">Nous n&#8217;avions jamais fait le rapprochement entre un svmotion et <a href="http://www.vmware.com/pdf/vsp_4_thinprov_perf.pdf" target="_blank">un sujet qui a longtemps fait polémique</a> :</p>
<blockquote>
<p style="text-align: left;"><strong>Because zeroing takes place at run-time for a thin disk, there can be some performance impact for write-intensive applications while writing data for the first time.</strong></p>
</blockquote>
<p style="text-align: justify;">Et le pire c&#8217;est qu&#8217;il nous a fallu un temps infini à l&#8217;échelle de Google pour tomber sur <a href="http://www.reddit.com/r/vmware/comments/1z1kt4/vmware_disk_performance_metrics_and_why_does_it/" target="_blank">un thread reddit où un VCDX explique tout d&#8217;une seule phrase</a> :</p>
<blockquote>
<p style="text-align: left;">It has to zero the block before writing the actual data.</p>
</blockquote>
<p style="text-align: justify;">Voila pourquoi <strong><strong>sans VAAI</strong> (ou au moins <a href="http://blogs.vmware.com/vsphere/2012/06/low-level-vaai-behaviour.html" target="_blank">la primitive WRITE_SAME</a>) vos svmotion (thin ou lazy zeroed) prendrons 2 fois plus de temps</strong> car 2 fois plus de données transiterons vers le stockage (<a href="http://www.yellow-bricks.com/2011/02/18/blocksize-impact/" target="_blank">entre 2 VMFS avec le même blocksize</a>).</p>
<p style="text-align: justify;">A titre de démonstration, voici un <a href="https://labs.vmware.com/flings/visualesxtop" target="_blank">visualEsxtop</a> de 2 svmotion consécutifs de <strong>la même VM </strong>entre 2 datastore, avec et sans le setting <a href="http://kb.vmware.com/kb/1021976" target="_blank">DataMover.HardwareAcceleratedInit</a> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_visualEsxtop.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/svmotion_vaai/svmotion_thin_visualEsxtop_small.png" alt="" width="477" height="284" /></a></p>
<p style="text-align: left;">Ce n&#8217;est pas une défaillance de votre téléviseur, <strong>avec le zeroing offloadé à la baie c&#8217;est presque 2 fois plus rapide</strong> (ou 2 fois moins long si vous préférez&#8230;).</p>
<p style="text-align: left;">Ce comportement n&#8217;a évidement aucun rapport avec <a href="http://kb.vmware.com/kb/2004155" target="_blank">la &#8220;non-récupération&#8221; des zéros lors d&#8217;un svmotion</a>&#8230; Bien qu&#8217;il semble etre possible de <a href="http://www.yellow-bricks.com/2011/02/18/blocksize-impact/#comment-22783" target="_blank">le forcer d&#8217;une manière non supportée</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5188</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>iperf for ESXi</title>
		<link>http://www.hypervisor.fr/?p=5091</link>
		<comments>http://www.hypervisor.fr/?p=5091#comments</comments>
		<pubDate>Tue, 13 May 2014 07:11:09 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[iperf]]></category>
		<category><![CDATA[network benchmark]]></category>
		<category><![CDATA[vib]]></category>
		<category><![CDATA[VmkAccess]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5091</guid>
		<description><![CDATA[MAJ 23/05/2015 : Et un petit screenshot du firewall pour la route:


Aussi farfelu que cela puisse paraître, une nouvelle partie de notre homelab est *temporairement* connecté sur du CPL. Et du coup, &#8220;les débits doivent être pourris ?!&#8221; me demanderez vous. Et bien figurez vous que nous nous sommes posé la même question au moment [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 23/05/2015</span> : Et un petit screenshot du firewall pour la route:</em></p>
<p style="text-align: center;"><em><a href="http://files.hypervisor.fr/img/iperf/firewall.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/iperf/firewall.png" alt="" width="455" height="479" /></a><br />
</em></p>
<p style="text-align: justify;">Aussi farfelu que cela puisse paraître, une nouvelle partie de notre homelab est *temporairement* connecté sur du <a href="http://fr.wikipedia.org/wiki/Courants_porteurs_en_ligne" target="_blank">CPL</a>. Et du coup, &#8220;les débits doivent être pourris ?!&#8221; me demanderez vous. Et bien figurez vous que nous nous sommes posé la même question au moment de connecter un ESX sur cette portion de notre réseau domestique !</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/iperf/plc.png" alt="" width="478" height="310" /></p>
<p style="text-align: center;">
<p style="text-align: justify;">Pour tester un segment de réseau rien de tel qu&#8217;<a href="http://en.wikipedia.org/wiki/Iperf" target="_blank">iperf</a> évidement mais nous ne voulions pas faire le test entre 2 VM, entre 2 ESX c&#8217;est beaucoup plus intéressant&#8230; Nous avons donc déterré <a href="http://www.vm-help.com/forum/viewtopic.php?f=16&amp;t=3047&amp;sid=e88c53ae49bdaf811da0b626440a39ed" target="_blank">un vieux post du forum vm-help où danisoto détail que le binaire iperf i386 pour rhel5 fonctionne nativement sur ESXi</a>. C’était à l’époque d&#8217;ESXi 4 mais le binaire fonctionne toujours aussi bien sur ESXi 5.5 :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/iperf/iperf_legacy.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/iperf/iperf_legacy.png" alt="" width="476" height="212" /></a></p>
<p style="text-align: justify;">Après quelques tests où nous avons du désactiver (<a href="http://kb.vmware.com/kb/2005284" target="_blank">temporairement</a>) le firewall d&#8217;ESXi faute de règle associée, nous avons pensé qu&#8217;il serait bien pratique d&#8217;avoir une jolie vib avec une version uptodate d&#8217;iperf, <a href="http://kb.vmware.com/kb/2008226" target="_blank">une règle de firewall custom</a> et une &#8220;SecPolicy&#8221;&#8230;</p>
<p style="text-align: left;">Un petit coup d&#8217;<a href="http://www.v-front.de/p/esxi5-community-packaging-tools.html" target="_blank">ESXi5-CPT</a> plus tard, et nous voila avec une vib contenant la version 2.0.5-1 i386 d&#8217;iperf (pour laquelle <a href="http://pkgs.org/centos-5/epel-i386/iperf-2.0.5-1.el5.i386.rpm.html" target="_blank">nous avons honteusement pompé le binaire d&#8217;un rpm</a> plutôt que de le compiler nous même #shame) et la règle de firewall qui ouvre le port 5001 en TCP/UDP :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/iperf/iperf_vib_tcp_p4.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/iperf/iperf_vib_tcp_p4.png" alt="" width="476" height="357" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/iperf/iperf_vib_udp.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/iperf/iperf_vib_udp.png" alt="" width="476" height="285" /></a></p>
<p style="text-align: justify;">Pour information, nous n&#8217;avons pas pu compiler de version 2.0.5-11 ni de version 3.x fonctionnelle mais la v2 semble la plus répandue à ce jour et la version 2.0.5-1 ne semble pas souffrir de bug majeur.</p>
<p style="text-align: left;">Ce petit exercice nous a permis de découvrir <a href="http://www.v-front.de/2012/11/a-daemons-vib-part-3-building-software.html" target="_blank">le &#8220;VMkernel Access Control System&#8221; (SecPolicy) qu&#8217;Andreas décrit dans l&#8217;un de ses posts dédiés à la création d&#8217;une vib</a>. Sans son aide on y serait encore&#8230; Vielen Dank! Au passage, pour faire passer la secpolicy, il faut impérativement le level &#8220;VMwareAccepted&#8221; ce qui rend le &#8211;no-sig-check obligatoire malheureusement.</p>
<p style="text-align: left;">Pour ceux qui ont la chance de pouvoir accéder au net depuis leur ESXi, <a href="http://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages" target="_blank">la vib est disponible sur le vibsdepot d&#8217;Andreas</a>, sinon c&#8217;est ici :</p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/zip/iperf-2.0.5-1.x86_64.vib" target="_blank"><img class="  " title="iperf-2.0.5-1" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">iperf-2.0.5-1</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5091</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Oh my DRS Goodness!</title>
		<link>http://www.hypervisor.fr/?p=5043</link>
		<comments>http://www.hypervisor.fr/?p=5043#comments</comments>
		<pubDate>Fri, 21 Feb 2014 18:37:58 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Distributed Resource Scheduler]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[overcommit]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5043</guid>
		<description><![CDATA[Ceux d&#8217;entre nous qui faisons de l&#8217;administration d&#8217;infrastructure vSphere au quotidien ont au moins une fois entendu la fameuse phrase &#8220;Mais pourquoi DRS ne fait rien alors que le cluster n&#8217;est pas équilibré ?!&#8220;. Le sujet à déjà largement été traité par des références dans le domaine comme l&#8217;est Frank Denneman mais nous allons reformuler [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ceux d&#8217;entre nous qui faisons de l&#8217;administration d&#8217;infrastructure vSphere au quotidien ont au moins une fois entendu la fameuse phrase &#8220;<em><strong>Mais pourquoi DRS ne fait rien alors que le cluster n&#8217;est pas équilibré ?!</strong></em>&#8220;. Le sujet à déjà largement été traité par des références dans le domaine comme l&#8217;est <a href="https://twitter.com/frankdenneman" target="_blank">Frank Denneman</a> mais nous allons reformuler la raison une bonne fois pour toute et en français<strong> : DRS ne déclenchera un vmotion que si le gain du déplacement est supérieur à son coût.</strong></p>
<p style="text-align: justify;">Evidemment il y a un algorithme complexe, du paramétrage et des seuils variables pour rendre le mécanisme suffisamment intelligent mais dans le cas d&#8217;un cluster pas ou peu overcommité (cpu et/ou ram uniquement), le déséquilibre est une situation &#8220;normale&#8221; puisque le coût d&#8217;un vmotion sera presque toujours supérieur a son bénéfice. <strong>DRS estime le gain à partir de la demande des vm et n&#8217;a de raison d&#8217;agir que si elles ne peuvent pas obtenir les ressources demandées</strong>. Le bon nivellement des VM dans le cluster n&#8217;est absolument pas pris en compte. De plus, DRS fait une projection de ce que la vm pourrait consommer dans un futur proche en fonction des statistiques passées afin de ne pas réagir trop tard.</p>
<p style="text-align: justify;">Néanmoins, dans certains cas il peut s’avérer nécessaire de forcer DRS à &#8220;secouer&#8221; un peu le cluster pour répartir les vm. Après une opération de maintenance ou de façon proactive (moins de vm par host=moins de conséquences en cas de crash) ou encore pour niveler les I/O disque/réseau pas (encore) pris en compte par DRS.</p>
<p style="text-align: justify;">Nous nous sommes justement retrouvés dans cette situation suite à l&#8217;ajout de plusieurs host dans un cluster 5.0 U1 et face à l&#8217;immobilisme de DRS, <a href="http://frankdenneman.nl/2012/07/09/disabling-mingoodness-and-costbenefit/" target="_blank">nous nous sommes souvenus d&#8217;un post détaillé de Frank à ce sujet</a> faisant référence à <a href="http://kb.vmware.com/kb/1017291" target="_blank">une kb vmware</a>.</p>
<blockquote>
<p style="text-align: justify;">This issue may occur in an environment with a large number of relatively low demand virtual machines</p>
</blockquote>
<p style="text-align: justify;">Il s&#8217;agit de modifier <strong>*temporairement*</strong> les paramètres MinGoodness et CostBenefit pour que DRS déclenche un vmotion à la moindre occasion sans en considérer le coût. le résultat est immédiat :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/DRSGoodness/drs_goodness_before.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/DRSGoodness/drs_goodness_before.png" alt="" width="379" height="238" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/DRSGoodness/drs_goodness_after.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/DRSGoodness/drs_goodness_after.png" alt="" width="373" height="236" /></a></p>
<p style="text-align: justify;"><a href="http://download3.vmware.com/vmworld/2012/top10/vsp2825.pdf" target="_blank">Depuis vSphere 5.1, l&#8217;algorithme de DRS à été modifié pour palier à des situations similaires</a> (vSphere 4.1 U3 et vSphere 5.0 U2 intègre aussi la modification) <a href="https://www.vmware.com/support/vsphere5/doc/vsp_vc50_u2_rel_notes.html" target="_blank">mais il est toujours possible de forcer si besoin avec d&#8217;autres paramètres</a> :</p>
<blockquote>
<p style="text-align: justify;">Starting with this release, DRS algorithm is improved to better balance the load in a DRS cluster. If you notice that the cluster is still not balanced with the default settings, you can configure the advanced DRS options with the following values and run DRS to further improve the load balancing capability of the DRS cluster:</p>
<p>SevereImbalanceDropCostBenefit 1<br />
FixSevereImbalanceOnly 0</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5043</wfw:commentRss>
		<slash:comments>2</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>#QuickDasAutoSlotSize Failover Capacity (Planning)</title>
		<link>http://www.hypervisor.fr/?p=5004</link>
		<comments>http://www.hypervisor.fr/?p=5004#comments</comments>
		<pubDate>Tue, 24 Dec 2013 17:16:10 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[capacity planning]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[FDM]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[Noël]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5004</guid>
		<description><![CDATA[Depuis plusieurs mois maintenant, nous utilisons notre script HA AutoSlotSize sur un environnement composé de plusieurs gros cluster comme celui-ci :

Premier constat, le temps de compute des valeurs moyennes de cpu et ram est très important et c&#8217;est évidement proportionnel au nombre de nœuds. Pour optimiser ce script, nous nous somme rabattu sur les quickstats [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Depuis plusieurs mois maintenant, nous utilisons notre <a href="http://www.hypervisor.fr/?p=4283" target="_blank">script HA AutoSlotSize</a> sur un environnement composé de plusieurs gros cluster comme celui-ci :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_quick_general.png" alt="" width="381" height="325" /></p>
<p style="text-align: justify;">Premier constat, le temps de compute des valeurs moyennes de cpu et ram est très important et c&#8217;est évidement proportionnel au nombre de nœuds. <strong>Pour optimiser ce script, nous nous somme rabattu sur <a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/vim.ResourcePool.Summary.QuickStats.html" target="_blank">les quickstats du resource pool</a> &#8220;racine&#8221; du cluster</strong> (<a href="http://www.hypervisor.fr/?p=4841" target="_blank">aka &#8220;resources&#8221;</a>). Ces valeurs étant basé sur les 5 dernières minutes d&#8217;activité (et non sur les 24 dernières heures comme le script original),<strong> il faut l&#8217;exécuter au moment de la journée où l&#8217;activité du cluster est la plus importante </strong>pour avoir des valeurs vraiment représentatives du workload. Le gros avantage de ces valeurs est qu&#8217;il n&#8217;est pas nécessaire de faire une requête dans les statistiques, elles sont <em>pré-computées</em> et disponibles sous forme de propriétés, on passe donc d&#8217;une exécution pouvant aller jusqu&#8217;à plusieurs minutes à 2 secondes par cluster. Comme dirait <a href="http://www.dailymotion.com/video/xxkxw_007-tu-peux-pas-test_fun" target="_blank">Mozinor</a>, &#8220;tu peux pas test&#8221;.</p>
<p style="text-align: justify;">Deuxième constat, le <a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/vim.cluster.DasConfigInfo.html#admissionControlPolicy" target="_blank">mode &#8220;slot size&#8221; d&#8217;admition control</a> ne tiens pas compte de l&#8217;overcommit. <a href="http://www.amazon.fr/VMware-vSphere-5-1-Clustering-Deepdive/dp/1478183411/ref=sr_1_1" target="_blank">Duncan et Frank l&#8217;explique en détail dans leur bouquin</a> mais voici un exemple encore plus parlant :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_quick_slot_policy.png" alt="" width="412" height="202" /></p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_quick_percent_policy.png" alt="" width="410" height="218" /></p>
<p style="text-align: justify;">3 hosts sur 12 (25%) en mode &#8220;slot size&#8221; contre 67% en mode &#8220;resources&#8221;. Dans ce dernier mode, HA tiens compte de la <strong>consommation réelle</strong> du cluster pour déterminer ce qu&#8217;il reste.</p>
<blockquote>
<p style="text-align: justify;">With the resources failover policy in place, vSphere HA uses the following calculations to control virtual machine migration in the cluster<br />
1. Calculate the total resource requirements for all powered-on virtual machines in the cluster.<br />
[...]</p>
</blockquote>
<p>Il est donc clair que sur des gros cluster avec de l&#8217;overcommit, le mode &#8220;slot size&#8221; est totalement inutilisable.</p>
<p>En attendant de déguster la dinde farcie aux marrons de tante Yolande, voici le oneliner powershell à deguster en amuse-bouche :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($cluster in (Get-View -ViewType ClusterComputeResource|?{$_.ConfigurationEx.DasConfig.Enabled})) {,($cluster|?{$_.host}|select @{n=&quot;mem&quot;;e={(($_|%{(Get-View $cluster.ResourcePool|?{$_.Parent -eq $cluster.Moref}).Summary.QuickStats.HostMemoryUsage/(Get-View -ViewType virtualmachine -SearchRoot $cluster.moref -Property Runtime.PowerState|?{$_.Runtime.PowerState -eq &quot;poweredOn&quot;}).count}))}}, @{n=&quot;cpu&quot;;e={(($_|%{((Get-View $cluster.ResourcePool|?{$_.Parent -eq $cluster.Moref}).Summary.QuickStats.OverallCpuUsage)/(Get-View -ViewType virtualmachine -SearchRoot $cluster.moref -Property Runtime.PowerState|?{$_.Runtime.PowerState -eq &quot;poweredOn&quot;}).count}))}}, @{n=&quot;vcpu&quot;;e={(Get-View -ViewType virtualmachine -SearchRoot $cluster.moref -Property Runtime.PowerState,Config.Hardware.NumCpu|?{$_.Runtime.PowerState -eq &quot;poweredOn&quot;}|Select @{n=&quot;vcpu&quot;;e={$_.Config.Hardware.NumCPU}}|Measure-Object -Average -Property vcpu).average}}|measure -average -property mem,cpu,vcpu|%{[math]::round($_.average,0)})|%{if (($_|measure -Sum).sum -ne ($cluster.ConfigurationEx.DasConfig.Option|?{$_.key -match &quot;das.slotCpuInMhz|das.slotMemInMB&quot;}|measure -Sum -Property value).sum -and ($_|measure -Sum).sum -gt &quot;64&quot;) {$cluster.ReconfigureComputeResource((New-Object VMware.Vim.ClusterConfigSpecEx -property @{dasConfig=(New-Object VMware.Vim.ClusterDasConfigInfo -property @{option=@((New-Object VMware.Vim.OptionValue -property @{key=&quot;das.vmMemoryMinMB&quot;;value=$_[0].tostring()});(New-Object VMware.Vim.OptionValue -property @{key=&quot;das.vmCpuMinMHz&quot;;value=$_[1].tostring()});(New-Object VMware.Vim.OptionValue -property @{key=&quot;das.slotMemInMB&quot;;value=$_[0].tostring()});(New-Object VMware.Vim.OptionValue -property @{key=&quot;das.slotCpuInMhz&quot;;value=$_[1].tostring()}))})}),$true)}}}</pre>
<p>Joyeux Noël à tous !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5004</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VM Latency Sensitivity : same feature, shoot again!</title>
		<link>http://www.hypervisor.fr/?p=4278</link>
		<comments>http://www.hypervisor.fr/?p=4278#comments</comments>
		<pubDate>Mon, 16 Sep 2013 06:07:46 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4278</guid>
		<description><![CDATA[On attend toujours la dispo officielle de vSphere 5.5 annoncée au VMworld US 2013 mais comme d&#8217;habitude on a droit à une avalanche de posts de la part de tous les beta testeurs en manque de créativité avec des morceaux de screenshot dedans. Comme c&#8217;est pas le genre de la maison, on va se contenter [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">On attend toujours la dispo officielle de vSphere 5.5 annoncée au VMworld US 2013 mais comme d&#8217;habitude on a droit à une avalanche de posts de la part de tous les beta testeurs en manque de créativité avec des morceaux de screenshot dedans. Comme c&#8217;est pas le genre de la maison, on va se contenter de spéculer sur une &#8220;nouvelle&#8221; feature <a href="http://www.vmware.com/files/pdf/techpaper/latency-sensitive-perf-vsphere55.pdf" target="_blank">qui a déjà eu droit à son whitepaper</a> : <strong>VM Latency Sensitivity</strong>.</p>
<blockquote>
<p style="text-align: justify;">In order to support virtual machines with strict latency requirements, vSphere 5.5 introduces a new per-VM feature called Latency Sensitivity.</p>
</blockquote>
<p style="text-align: justify;">Cela nous a fait curieusement penser à une autre feature <a href="http://www.vmware.com/files/pdf/techpaper/latency-sensitive-perf-vsphere55.pdf#page=6" target="_blank">disponible dans la version 5.1</a> : <strong><a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vim.LatencySensitivity.html" target="_blank">VM Latency Sensitivity</a></strong>.</p>
<blockquote>
<p style="text-align: justify;">vSphere 5.1 simplifies the process of configuring a virtual machine to support low-latency applications. It now offers a latency sensitivity advanced setting that automatically makes low-level changes in the vSphere kernel to reduce latency for the virtual machine.</p>
</blockquote>
<p style="text-align: justify;">Ah tiens c&#8217;est bizarre, elles ont le même nom&#8230;</p>
<p style="text-align: justify;">Vous constaterez qu&#8217;il n&#8217;en est nullement fait référence dans le whitepaper de la 5.5 donc impossible de savoir si c&#8217;est &#8220;vraiment&#8221; une nouvelle fonctionnalité, la même fonctionnalité améliorée ou un gros pipeau.</p>
<p style="text-align: justify;">En attendant d&#8217;en savoir plus, on vous a préparé un petit oneliner pour activer la fonctionnalité et même fixer le nombre de µs secondes que vous souhaiter (2000 dans notre exemple) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-VM &quot;Flash_Gordon&quot;|Get-View|?{-not $_.Config.Template}|%{$_.ReconfigVM((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{latencySensitivity=(New-Object VMware.Vim.LatencySensitivity -Property @{level=&quot;custom&quot;;sensitivity=&quot;2000&quot;})}))}</pre>
<p>Et pour savoir ce qui a été configurer :</p>
<pre class="brush: powershell; title: ; notranslate">(Get-VM &quot;Flash_Gordon&quot;|Get-View).Config.LatencySensitivity</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4278</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>vSphere 5.1 sans le webclient : Cluster utilization</title>
		<link>http://www.hypervisor.fr/?p=4841</link>
		<comments>http://www.hypervisor.fr/?p=4841#comments</comments>
		<pubDate>Mon, 29 Jul 2013 06:55:57 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[ResourcePool]]></category>
		<category><![CDATA[sso]]></category>
		<category><![CDATA[webclient]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4841</guid>
		<description><![CDATA[Si vos amis se moquent de vous parce que vous n&#8217;utilisez toujours pas le webclient, ils déballent surement les nouvelles features telles que l&#8217;onglet &#8220;Utilization&#8221; des cluster :

Disponible uniquement sur les resource pools dans le client legacy, cette vue synthétise l&#8217;utilisation &#8220;near real-time&#8221; cpu/ram du cluster des 5 dernières minutes (quickstats). Il suffit de créer [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si vos amis se moquent de vous parce que vous n&#8217;utilisez toujours pas le webclient, ils déballent surement les nouvelles features telles que l&#8217;onglet &#8220;Utilization&#8221; des cluster :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/cluster_utilization_vspwc.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/cluster_utilization_vspwc.png" alt="" width="486" height="301" /></a></p>
<p style="text-align: justify;">Disponible uniquement sur les resource pools dans le client legacy, cette vue synthétise l&#8217;utilisation &#8220;near real-time&#8221; cpu/ram du cluster <span style="text-decoration: line-through;">des 5 dernières minutes</span> (<a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver51/ReferenceGuide/vim.ResourcePool.Summary.QuickStats.html" target="_blank">quickstats</a>). Il suffit de créer un resource pool à la racine de votre cluster (sans reservations ni limites, les shares n&#8217;ont pas d&#8217;importances ici) pour avoir une visibilité comparable des ressources du cluster :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/cluster_utilization_vspc_root.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/cluster_utilization_vspc_root.png" alt="" width="503" height="325" /></a></p>
<p style="text-align: justify;">La vue &#8220;Guest Memory&#8221; se paye même le luxe d’être un peu plus détaillée graphiquement alors que la vue &#8220;Host Memory&#8221; est faussée par la mémoire allouée aux VM.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4841</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The vMotion Tax</title>
		<link>http://www.hypervisor.fr/?p=4834</link>
		<comments>http://www.hypervisor.fr/?p=4834#comments</comments>
		<pubDate>Fri, 12 Jul 2013 06:44:30 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Test]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[memory overcommit]]></category>
		<category><![CDATA[overhead]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4834</guid>
		<description><![CDATA[Ce post aurait du voir le jour il y a longtemps déjà mais vous savez ce que c&#8217;est, la crise, le réchauffement climatique toussa&#8230; Bref, vous n’êtes pas sans savoir que VMware a considérablement réduit l&#8217;overhead des VM depuis la version 5.0 en partie grâce au vmx swap (et encore un peu plus avec la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ce post aurait du voir le jour il y a longtemps déjà mais vous savez ce que c&#8217;est, la crise, le réchauffement climatique toussa&#8230; Bref, vous n’êtes pas sans savoir que <strong>VMware a considérablement réduit <a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.vsphere.resmgmt.doc/GUID-B42C72C1-F8D5-40DC-93D1-FB31849B1114.html">l&#8217;overhead des VM</a> depuis la version 5.0</strong> en partie grâce au vmx swap (et encore un peu plus avec la 5.1 grâce au <a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.1.pdf">system swap</a>) mais surtout en modifiant le comportement de la VMM selon le type de vMMU. En effet, après moult tests, nous nous sommes rendu compte qu&#8217;en swMMU l&#8217;overhead était comparable <a href="http://www.hypervisor.fr/?p=2817" target="_blank">à ce qu&#8217;il était en version 4.x</a> alors qu&#8217;en hwMMU l&#8217;overhead est environ 10x moindre.</p>
<p style="text-align: justify;">Vous allez me dire &#8220;on s&#8217;en fout bien du swMMU, c&#8217;est old school et on a plus de VM sous Windows 2000 !&#8221; et je suis bien d&#8217;accord avec vous mais <a href="http://www.yellow-bricks.com/2013/05/06/dynamic-versus-static-overhead-memory/" target="_blank">Duncan a récemment posté un billet très intéressant sur les notions de static et dynamic overhead</a> et en particulier sur la réservation de mémoire lors d&#8217;un vmotion.</p>
<blockquote><p>[...] the vMotion process aims to be conservative and uses static overhead memory instead of dynamic</p></blockquote>
<p style="text-align: justify;">Vous l&#8217;aurez compris, en swMMU c&#8217;est du static et en hwMMU c&#8217;est du dynamic mais pour certaines actions, les valeurs du static overhead font référence. Dans le cas d&#8217;une mise à jour d&#8217;un cluster un peu chargé cela peut avoir toute son importance compte tenu de l’écart de réservation être les deux techniques :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/OVHD/ovhd_swmmu_32gb.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/OVHD/ovhd_swmmu_32gb.png" alt="" width="461" height="289" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/OVHD/ovhd_hwmmu_32gb.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/OVHD/ovhd_hwmmu_32gb.png" alt="" width="461" height="289" /></a></p>
<p style="text-align: left;">Et pour ceux qui aiment se faire du mal, on a essayez avec 1TB de vRAM (merci l&#8217;overcommit) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/OVHD/ovhd_swmmu_1011gb.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/OVHD/ovhd_swmmu_1011gb.png" alt="" width="461" height="289" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/OVHD/ovhd_hwmmu_1011gb.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/OVHD/ovhd_hwmmu_1011gb.png" alt="" width="461" height="289" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4834</wfw:commentRss>
		<slash:comments>0</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>PxCounterLevelMapping : Pimp my stats</title>
		<link>http://www.hypervisor.fr/?p=4660</link>
		<comments>http://www.hypervisor.fr/?p=4660#comments</comments>
		<pubDate>Mon, 06 May 2013 23:42:36 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[fling]]></category>
		<category><![CDATA[PowerCLI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4660</guid>
		<description><![CDATA[Il y a quelques années, un petit outil pas très connu nommé &#8220;VC StatLevelConfig&#8220; faisait son apparition dans la liste des Flings de VMware. Cet outil permettait à l&#8217;époque de changer unitairement le niveau par défaut de collecte des compteurs de performance du vCenter. Par exemple, si vous vouliez garder les stats d&#8217;active memory sur 24h [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Il y a quelques années, un petit outil pas très connu nommé &#8220;<strong>VC StatLevelConfig</strong>&#8220; faisait son apparition dans la liste des Flings de VMware. <strong>Cet outil permettait à l&#8217;époque de changer unitairement le niveau par défaut de collecte des compteurs de performance du vCenter</strong>. Par exemple, si vous vouliez garder les stats d&#8217;<em>active memory</em> sur 24h pour vos ESX, cet outil vous permettait de le faire de façon unitaire plutôt que d&#8217;augmenter le niveau de collecte global du vCenter. Tout ce mécanisme de collecte est très bien détaillé <a href="http://www.lucd.info/2009/12/30/powercli-vsphere-statistics-part-1-the-basics/" target="_blank">dans le post de Luc Dekens</a> :</p>
<p style="text-align: center;"><a href="http://www.lucd.info/2009/12/30/powercli-vsphere-statistics-part-1-the-basics/" target="_blank"><img class="aligncenter" src="http://lucd.info/wp-content/uploads/2009/12/stat-interval-retention.png" alt="" width="415" height="242" /></a></p>
<p style="text-align: justify;">Malheureusement <a href="http://web.archive.org/web/20100909205146/http://labs.vmware.com/flings/vc-statlevelconfig" target="_blank">la page de ce fling n&#8217;existe plus</a> (<a href="http://download3.vmware.com/software/vmw-tools/vc-statlevelconfig/vcStatLevelConfig.zip" target="_blank">même si l&#8217;outil est toujours disponible</a>) mais nous avons trouvé <strong>son équivalent en PowerCLI</strong> au détour de 2 kb traitant de SIOC (<a href="http://kb.vmware.com/kb/2009532" target="_blank">ici</a> et <a href="http://kb.vmware.com/kb/2014382">là</a>). Il s&#8217;agit d&#8217;un module powershell qu&#8217;il suffit de charger avec la commande &#8220;Import-Module&#8221; et vous aurez ensuite accès à 2 nouvelles cmdlet (<strong>Get-PxCounterLevelMapping</strong> et <strong>Set-PxCounterLevelMapping</strong>) pour opérer les changements désirés.</p>
<p>A titre d&#8217;exemple, voici le niveau par défaut du compteur mem.active.average dont nous parlions plus haut :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/PxCounterLevelMapping/mem.active.average_default_level.png" alt="" width="431" height="220" /></p>
<p>Après exécution de la commande magique, le résultat (avant/après sur les graphiques) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-PxCounterLevelMapping|?{$_.Name -eq &quot;mem.active.average&quot;}|Set-PxCounterLevelMapping -AggregateLevel 1</pre>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/PxCounterLevelMapping/mem.active.average_new_level.png" alt="" width="422" height="233" /></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/PxCounterLevelMapping/mem.active.average_level_2.png" title="mem.active.average_level_2" rel="lightbox[4660]"><img class="alignnone size-thumbnail wp-image-4718" title="mem.active.average_level_2" src="http://www.hypervisor.fr/wp-content/uploads/2013/05/mem.active.average_level_2-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/PxCounterLevelMapping/mem.active.average_level_1.png" title="mem.active.average_level_1" rel="lightbox[4660]"><img class="alignnone size-thumbnail wp-image-4719" title="mem.active.average_level_1" src="http://www.hypervisor.fr/wp-content/uploads/2013/05/mem.active.average_level_1-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;"><strong><span style="color: #ff0000;">Ces modifications auront des conséquences sur la taille et peut être les performances de la base de données de votre vCenter</span></strong> mais ce sera toujours mieux qu&#8217;une augmentation &#8220;globale&#8221; qui entraînera la collecte de compteurs dont vous n&#8217;aurez peut être jamais besoin&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4660</wfw:commentRss>
		<slash:comments>0</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>(I Can&#8217;t Get No) Overcommit</title>
		<link>http://www.hypervisor.fr/?p=4602</link>
		<comments>http://www.hypervisor.fr/?p=4602#comments</comments>
		<pubDate>Fri, 18 Jan 2013 15:58:21 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[memory overcommit]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4602</guid>
		<description><![CDATA[Bien dynamique la mémoire sur Hyper-V 3&#8230;

]]></description>
			<content:encoded><![CDATA[<p>Bien dynamique la mémoire sur Hyper-V 3&#8230;</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/hyper-v_no_overcommit.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/hyper-v_no_overcommit.png" alt="" width="503" height="378" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4602</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>
