<?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; Kb</title>
	<atom:link href="http://www.hypervisor.fr/?cat=65&#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>VMXNET3 = 10GbE ?</title>
		<link>http://www.hypervisor.fr/?p=5822</link>
		<comments>http://www.hypervisor.fr/?p=5822#comments</comments>
		<pubDate>Tue, 11 Jul 2017 13:50:53 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[VMTools]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5822</guid>
		<description><![CDATA[Nous nous décidons à écrire ce billet après avoir entendu par la millième fois &#8220;Le réseau est lent dans ma VM, on peut pas mettre une carte vmxnet3 pour avoir du 10 giga?&#8221;. Je sais c&#8217;est dur à lire mais c&#8217;est la triste vérité.
Donc pour donner une url plutôt que de retaper une fois de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous nous décidons à écrire ce billet après avoir entendu par la millième fois <strong><em>&#8220;Le réseau est lent dans ma VM, on peut pas mettre une carte vmxnet3 pour avoir du 10 giga?&#8221;</em></strong>. Je sais c&#8217;est dur à lire mais c&#8217;est la triste vérité.</p>
<p style="text-align: justify;">Donc pour donner une url plutôt que de retaper une fois de plus l’explication, voici l&#8217;extrait du <a href="https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/virtual_networking_concepts.pdf" target="_blank">VMware Virtual Networking Concepts</a> qui fait foi :</p>
<blockquote>
<p style="text-align: justify;"><strong>The speed and duplex settings found in physical networking are not relevant in the virtual network</strong>, because all the data transfer takes place in the host system’s RAM, nearly instantaneously and without the possibility of collisions or other signaling-related errors.</p>
</blockquote>
<p>Et si vous en aviez encore besoin, en voici la preuve :</p>
<div id="attachment_5828" class="wp-caption aligncenter" style="width: 501px"><a href="http://www.hypervisor.fr/wp-content/uploads/2017/07/e1000_3GbE.png" title="e1000_3GbE" rel="lightbox[5822]"><img class="size-large wp-image-5828   " title="e1000_3GbE" src="http://www.hypervisor.fr/wp-content/uploads/2017/07/e1000_3GbE-1024x338.png" alt="" width="491" height="162" /></a><p class="wp-caption-text">iperf win64 entre 2 cartes e1000 &quot;bridée&quot; à 100Mo</p></div>
<p style="text-align: center;">
<div id="attachment_5829" class="wp-caption aligncenter" style="width: 511px"><a href="http://www.hypervisor.fr/wp-content/uploads/2017/07/vmxnet3_30G.png" title="vmxnet3_30G" rel="lightbox[5822]"><img class="size-full wp-image-5829" title="vmxnet3_30G" src="http://www.hypervisor.fr/wp-content/uploads/2017/07/vmxnet3_30G.png" alt="" width="501" height="535" /></a><p class="wp-caption-text">iperf entre 2 cartes vmxnet3</p></div>
<p style="text-align: center;">
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5822</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VIX &amp; Kerberos Double Hop</title>
		<link>http://www.hypervisor.fr/?p=5815</link>
		<comments>http://www.hypervisor.fr/?p=5815#comments</comments>
		<pubDate>Fri, 07 Jul 2017 11:03:29 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[kerberos]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[VIX]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5815</guid>
		<description><![CDATA[Lors d&#8217;une petite session de PowerCLI avec les célèbres (mais bientôt deprecated) VIX APIs, nous nous sommes heurté à une limite de sécurité bien connue des admins Microsoft: le Kerberos Double Hop.
Pour résumer, nous avions besoin d’exécuter un script situé sur un share depuis un ensemble de VM et nous avons bien évidement tenté de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lors d&#8217;une petite session de PowerCLI avec les célèbres (<a href="https://www.vmware.com/support/developer/vix-api/VIX-1.15-ReleaseNotes.html" target="_blank">mais bientôt deprecated</a>) VIX APIs, nous nous sommes heurté à une limite de sécurité bien connue des admins Microsoft: le <a href="https://blogs.technet.microsoft.com/askds/2008/06/13/understanding-kerberos-double-hop/" target="_blank">Kerberos Double Hop</a>.</p>
<p style="text-align: justify;">Pour résumer, nous avions besoin d’exécuter un script situé sur un share depuis un ensemble de VM et nous avons bien évidement tenté de profiter du fait que <a href="http://www.hypervisor.fr/?p=5070" target="_blank">VIX supporte le SSO</a>, comme des gros fainéants. Et là, <a href="https://weblogs.asp.net/owscott/iis-windows-authentication-and-the-double-hop-issue" target="_blank">c&#8217;est le drame</a>:</p>
<blockquote>
<p style="text-align: justify;">When using Integrated Security, anonymous access is disabled, and impersonation is turned on, <strong>a security measure kicks in and doesn&#8217;t allow your site to access resources on any network servers.  This includes access to a UNC path</strong> directly from IIS or SQL Server using Windows authentication.</p>
</blockquote>
<p>Il nous a suffit de <strong>passer les credentials à l&#8217;Invoke-VMScript pour que l&#8217;UNC devienne accessible</strong>:</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2017/07/VIX_Kerb_2x_Hop.png" title="VIX_Kerb_2x_Hop" rel="lightbox[5815]"><img class="aligncenter size-full wp-image-5816" title="VIX_Kerb_2x_Hop" src="http://www.hypervisor.fr/wp-content/uploads/2017/07/VIX_Kerb_2x_Hop.png" alt="" width="486" height="384" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5815</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failing restore from old Win8 checkpoint</title>
		<link>http://www.hypervisor.fr/?p=5613</link>
		<comments>http://www.hypervisor.fr/?p=5613#comments</comments>
		<pubDate>Fri, 06 Nov 2015 00:19:18 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Active Directory Domain Services]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[PowerCLI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5613</guid>
		<description><![CDATA[Alors que Windows 2012 R2 est officiellement supporté comme GuestOS depuis ESXi 5.0 U1, un changement de la fameuse feature VM-Generation ID rend impossible le vmotion vers un ESXi de version supérieure comme le détail la kb 2033723:

Due to changes in Microsoft&#8217;s virtual machine generation counter specification that was introduced in the Windows 8 Release [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Alors que <a href="https://blogs.vmware.com/guestosguide/2012/09/windows-server-2012-2.html" target="_blank">Windows 2012 R2 est officiellement supporté comme GuestOS depuis ESXi 5.0 U1</a>, un changement de la fameuse feature <a href="https://blogs.vmware.com/apps/2013/01/windows-server-2012-vm-generation-id-support-in-vsphere.html">VM-Generation ID</a> rend impossible le vmotion vers un ESXi de version supérieure comme le détail la <a href="http://kb.vmware.com/kb/2033723" target="_blank">kb 2033723</a>:</p>
<blockquote>
<p style="text-align: justify;">Due to changes in Microsoft&#8217;s virtual machine generation counter specification that was introduced in the Windows 8 Release Preview and Windows Server 2012 RC, corresponding changes were also required in the virtual machine BIOS. Snapshots, checkpoints and VMotion actions of virtual machines with these versions of Windows are not compatible between ESXi hosts that have implemented different revisions of Microsoft&#8217;s virtual machine generation counter specification.</p>
<p style="text-align: justify;">Snapshots and checkpoints of virtual machines with Windows 8 or Windows Server 2012 that are taken on a host running ESXi 5.0 Update 1 or ESXi 5.0 P03 will not resume on a host running later versions of ESXi ( ESXi 5.0 Update 2, ESXi 5.1, etc.) and the reverse.</p>
<p style="text-align: justify;"><strong>VMotion is prevented between hosts running ESXi 5.0 Update 1 or ESXi 5.0 P03 to and from hosts running later versions of ESXi</strong>.</p>
</blockquote>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmGenCounter_50_vmotion.png" alt="" width="500" height="336" /></p>
<blockquote><p>2015-11-05T15:01:32.804Z| vmx| I120: DUMPER: Group &#8216;VMGenCtr&#8217; not found.<br />
2015-11-05T15:01:32.804Z| vmx| I120: CPT: could not find group VMGenCtr<br />
2015-11-05T15:01:32.804Z| vmx| I120: DUMPER: Item &#8216;AddrReg&#8217; [-1, -1] not found.<br />
2015-11-05T15:01:32.804Z| vmx| I120: DUMPER: Item &#8216;CtrCount&#8217; [-1, -1] not found.<br />
2015-11-05T15:01:32.804Z| vmx| I120: DUMPER: Item &#8216;CtrCountX&#8217; [-1, -1] not found.<br />
2015-11-05T15:01:32.804Z| vmx| I120: <strong>VMGenCtrCheckpoint: Failing restore from old Win8 checkpoint</strong><br />
[...]<br />
2015-11-05T15:01:32.804Z| vmx| I120: [msg.checkpoint.migration.failedReceive] Failed to receive migration.<br />
2015-11-05T15:01:32.804Z| vmx| I120: [msg.checkpoint.mrestoregroup.failed] An error occurred restoring the virtual machine state during migration.</p></blockquote>
<p style="text-align: justify;">Evidemment la solution proposée par VMware passe par un shutdown de la VM mais lors d&#8217;une grosse migration ça fait pas sérieux donc nous avons cherché un vrai workaround.</p>
<p style="text-align: justify;">Sachant que <strong>cette feature est exclusivement utilisé par <a href="https://www.vmware.com/files/pdf/solutions/Virtualizing-Active-Directory-Domain-Services-on-VMware-vSphere.pdf" target="_blank">Active Directory Domain Services</a></strong> (pourquoi l&#8217;imposer à toutes les VM d&#8217;ailleurs ?!), nous avons chercher à la désactiver pour que le resume du vmotion sur l&#8217;ESXi de destination ne pose plus de problème. Et pas plus loin que dans <a href="http://kb.vmware.com/kb/2021887" target="_blank">une autre kb vmware</a>, nous avons trouvé la solution:</p>
<blockquote><p>The workaround involving adding the <strong>vmGenCounter.enable</strong> parameter to the virtual machine .vmx file may cause the new snapshot protection for domain controllers introduced in Windows 8/Windows Server 2012 to stop functioning.</p></blockquote>
<p>Un petit coup de PowerCLI pour appliquer le setting à chaud :</p>
<pre class="brush: powershell; title: ; notranslate">Get-VM Windows2012R2|Get-View|%{$_.ReconfigVM((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{extraconfig=@((New-Object VMware.Vim.optionvalue -Property @{Key=&quot;vmGenCounter.enable&quot;;Value=&quot;FALSE&quot;}))}))}</pre>
<p>Et le vmotion passe en douceur <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5613</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>visor-thin &amp; vsantraces</title>
		<link>http://www.hypervisor.fr/?p=5592</link>
		<comments>http://www.hypervisor.fr/?p=5592#comments</comments>
		<pubDate>Sat, 10 Oct 2015 21:13:14 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[scratch]]></category>
		<category><![CDATA[SD card]]></category>
		<category><![CDATA[stateless]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[VisorFS]]></category>

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

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5571</guid>
		<description><![CDATA[Pour éviter de perdre encore 1/4 d&#8217;heure dessus la prochaine fois, voici comment désinstaller plusieurs vib en une seule commande (contrairement aux vilaines KB VMware) :
esxcli software vib remove -n vib1 -n vib2 -n vib3

Et pour ceux qui veulent du lourd sur esxcli, jetez un un oeil au Quick Tutorial de Steve Jin.
]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour éviter de perdre encore 1/4 d&#8217;heure dessus la prochaine fois, voici comment <strong>désinstaller plusieurs vib en une seule commande</strong> (<a href="http://kb.vmware.com/kb/2036167" target="_blank">contrairement aux vilaines KB VMware</a>) :</p>
<blockquote><p>esxcli software vib remove -n vib1 -n vib2 -n vib3</p></blockquote>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/esxcli_multiple_remove.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/esxcli_multiple_remove.png" alt="" width="478" height="490" /></a></p>
<p style="text-align: left;">Et pour ceux qui veulent du lourd sur esxcli, jetez un un oeil au <a href="http://www.doublecloud.org/2015/05/vmware-esxi-esxcli-command-a-quick-tutorial/" target="_blank">Quick Tutorial de Steve Jin</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5571</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vSphere 2015 : VMFS on USB</title>
		<link>http://www.hypervisor.fr/?p=5461</link>
		<comments>http://www.hypervisor.fr/?p=5461#comments</comments>
		<pubDate>Sun, 29 Mar 2015 20:38:12 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[inception]]></category>
		<category><![CDATA[nested]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5461</guid>
		<description><![CDATA[Alors que nous commençons tout doucement à apprivoiser ESXi 6.0 (aka vSphere 2015), nous tombons sur le post de William qui décrit comment utiliser des clefs USB (et du iSCSI) avec VSAN 6. Entre ça, le support des VMXNET3, les vmtools pour ESXi, le fling Mac Learning dvFilter, le support du Virtual Hardware-Assisted Virtualization et le [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Alors que nous commençons tout doucement à apprivoiser ESXi 6.0 (aka <a href="http://blogs.vmware.com/developer/2014/07/vsphere-2015-beta-is-here.html" target="_blank">vSphere 2015</a>), nous tombons sur le post de William qui décrit <strong>comment utiliser des clefs USB (et du iSCSI) avec VSAN 6</strong>. Entre ça, <a href="http://www.virtuallyghetto.com/2012/09/nested-esxi-51-supports-vmxnet3-network.html" target="_blank">le support des VMXNET3</a>, <a href="http://www.virtuallyghetto.com/2015/02/vmware-tools-is-now-pre-installed-with-nested-esxi-6-0.html" target="_blank">les vmtools pour ESXi,</a> <a href="https://labs.vmware.com/flings/esxi-mac-learning-dvfilter" target="_blank">le fling Mac Learning dvFilter</a>, le support du <a href="http://www.virtuallyghetto.com/2012/08/how-to-enable-nested-esxi-other.html" target="_blank">Virtual Hardware-Assisted Virtualization</a> et le <a href="http://kb.vmware.com/kb/2044876">support d&#8217;Hyper-V en GuestOS</a>, nous nous sommes laisser dire qu&#8217;on pourrait refaire un petit <strong>test de <a href="http://nybbl.blogspot.ae/2013/08/vmfs-formatted-usb-sticks-in-vmware.html" target="_blank">formatage VMFS sur une clef USB</a></strong>&#8230;</p>
<p>Et on a bien fait, parce qu&#8217;on a même réussi à <strong>créer une partition VMFS sur une clef de boot ESXi 6.0</strong> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb_gui.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb_gui.png" alt="" width="503" height="418" /></a></p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb_gui.png" target="_blank"></a><span style="text-align: left;">Pour que ça ait de la gueule, nous avons utilisé ce qui se fait de mieux en la matière : </span><a style="text-align: left;" href="http://www.mx-technology.com/en/product/flash2.php?sid=38#fragment-19" target="_blank">une clef USB 3.0 MX-ES SLC NAND Ultimate Endurance</a><span style="text-align: left;"> capable d&#8217;encaisser 180Mo/s en écriture.</span></p>
<p style="text-align: center;"><a href="https://twitter.com/hypervisor_fr/status/453289057808683008"><img class="aligncenter" src="http://files.hypervisor.fr/img/VMFSonUSB/ATTO_MXES.png" alt="" width="531" height="340" /></a></p>
<p style="text-align: left;">La procédure est la même que pour créer un datastore en cli avec <a href="http://kb.vmware.com/kb/1036609" target="_blank"><strong>partedUtil</strong> </a>et <strong><a href="http://kb.vmware.com/kb/1009829" target="_blank">vmkfstools</a></strong> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb_cli.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb_cli.png" alt="" width="530" height="325" /></a></p>
<p style="text-align: left;">Et pour le fun, on a aussi essayer sur une clef Kingston/VMware ESXi &#8220;special&#8221; :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb2_cli.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/VMFSonUSB/vsp60_vmfs_usb2_cli.png" alt="" width="530" height="265" /></a></p>
<p>Nous vous laissons imaginer les possibilités que cette nouvelle &#8220;<strong>unsupported</strong>&#8220; feature pendant que nous préparons un post qui n&#8217;attendait que ça pour voir le jour&#8230;</p>
<p style="text-align: center;"><a href="https://twitter.com/hypervisor_fr/status/498542017333710848" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/VMFSonUSB/KingESXi_s.jpg" alt="" width="512" height="384" /></a></p>
<p style="text-align: left;">
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5461</wfw:commentRss>
		<slash:comments>3</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>PunchZero online</title>
		<link>http://www.hypervisor.fr/?p=5300</link>
		<comments>http://www.hypervisor.fr/?p=5300#comments</comments>
		<pubDate>Mon, 10 Nov 2014 11:02:37 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[SVMotion]]></category>
		<category><![CDATA[thin provisioning]]></category>
		<category><![CDATA[vmkfstools]]></category>
		<category><![CDATA[zeroing]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5300</guid>
		<description><![CDATA[Depuis l&#8217;apparition du thin provisioning, la question de la récupération de l&#8217;espace disque libéré après allocation refait surface régulièrement.
Historiquement, il suffisait de &#8220;zeroer&#8221; l&#8217;espace libre inGuest et faire un storage vmotion vers n&#8217;importe quel autre datastore pour récupérer l&#8217;espace &#8220;zeroé&#8221; grâce au datamover fsdm qui zappe les zéros. Malheureusement, depuis l&#8217;apparition du datamover fs3dm dans [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Depuis l&#8217;apparition du <a href="http://kb.vmware.com/kb/1005418" target="_blank">thin provisioning</a>, la question de la <strong>récupération de l&#8217;espace disque libéré après allocation</strong> refait surface régulièrement.</p>
<p style="text-align: justify;">Historiquement, il suffisait de &#8220;zeroer&#8221; l&#8217;espace libre inGuest et faire un storage vmotion vers n&#8217;importe quel autre datastore pour récupérer l&#8217;espace &#8220;zeroé&#8221; grâce au datamover fsdm qui zappe les zéros. Malheureusement, depuis l&#8217;apparition du datamover fs3dm dans vSphere 4.0 cet avantage a disparu <a href="http://www.yellow-bricks.com/2011/02/18/blocksize-impact" target="_blank">comme l&#8217;explique Duncan dans un vieux post de 2011</a>.</p>
<p><a href="http://www.yellow-bricks.com/2011/02/18/blocksize-impact"><img class="aligncenter" src="http://files.hypervisor.fr/img/PunchZero/vmware_datamover.jpg" alt="" width="193" height="240" /></a></p>
<p style="text-align: justify;">A cette époque, il était courant d&#8217;avoir des datastores configurés avec des blocksize différents ce qui permettait de contourner le problème facilement. Aujourd&#8217;hui, VMFS 5 a changé cette approche avec le blocksize unifié à 1M.</p>
<p style="text-align: justify;"><strong>Pour tricker comme avant et forcer fsdm à faire le boulot il faut une rupture technologique VMFS &lt;&gt; NFS ou jouer avec <strong>un paramètre caché de vsish</strong></strong> <a href="http://www.yellow-bricks.com/2011/02/18/blocksize-impact/#comment-22783" target="_blank">comme l&#8217;indique William Lam dans son commentaire</a> :</p>
<blockquote><p>Whether VMFS should handle data movement requests by leveraging FS3DM</p></blockquote>
<p style="text-align: justify;">Et depuis le temps que nous voulions le tester, nous sommes enfin tomber sur une VM <a href="http://www.hypervisor.fr/?p=4857" target="_blank">avec ~60Go à récupérer</a> dans un environnement VMFS5 only:</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/PunchZero/Zero_Thin_Diff.png" alt="" width="519" height="62" /></p>
<p style="text-align: justify;">Un coup de <a href="http://technet.microsoft.com/en-us/sysinternals/bb897443" target="_blank">sdelete -z</a> plus tard, on change le paramètre <strong>/config/VMFS3/intOpts/EnableDataMovement</strong> dans vsish et on lance un storage vmotion.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/PunchZero/Zero_sdelete.png" title="Zero_sdelete" rel="lightbox[5300]"><img class="alignnone size-thumbnail wp-image-5303" title="Zero_sdelete" src="http://www.hypervisor.fr/wp-content/uploads/2014/11/Zero_sdelete-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/PunchZero/Zero_vsish_5.png" title="Zero_vsish_5" rel="lightbox[5300]"><img class="alignnone size-thumbnail wp-image-5304" title="Zero_vsish_5" src="http://www.hypervisor.fr/wp-content/uploads/2014/11/Zero_vsish_5-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Au passage on remarque bien la phase de lecture sans écriture pendant le svmotion :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/PunchZero/Zero_svmotion_fsdm.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/PunchZero/Zero_svmotion_fsdm.png" alt="" width="503" height="304" /></a></p>
<p style="text-align: justify;">Après la migration (<a href="http://kb.vmware.com/kb/2008877" target="_blank">qui vous permettra aussi de renommer officiellement les fichiers de votre VM</a>), la VM a maigri comme il faut :</p>
<p style="text-align: left;"><img class="aligncenter" src="http://files.hypervisor.fr/img/PunchZero/Zero_Tango_Before.png" alt="" width="363" height="292" /></p>
<p style="text-align: left;"><img class="aligncenter" src="http://files.hypervisor.fr/img/PunchZero/Zero_Tango_After.png" alt="" width="365" height="309" /></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/PunchZero/Zero_Tango_Before_vmdk.png" title="Zero_Tango_Before_vmdk" rel="lightbox[5300]"><img class="alignnone size-thumbnail wp-image-5307" title="Zero_Tango_Before_vmdk" src="http://www.hypervisor.fr/wp-content/uploads/2014/11/Zero_Tango_Before_vmdk-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/PunchZero/Zero_Tango_After_vmdk.png" title="Zero_Tango_After_vmdk" rel="lightbox[5300]"><img class="alignnone size-thumbnail wp-image-5308" title="Zero_Tango_After_vmdk" src="http://www.hypervisor.fr/wp-content/uploads/2014/11/Zero_Tango_After_vmdk-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;"><a href="http://kb.vmware.com/kb/2004155" target="_blank">Pour ceux qui voudrait tout simplement le faire offline, il y a l&#8217;option <strong>&#8211;punchzero</strong> de vmkfstools.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5300</wfw:commentRss>
		<slash:comments>0</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>Purple Screen on Demand &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=5244</link>
		<comments>http://www.hypervisor.fr/?p=5244#comments</comments>
		<pubDate>Tue, 15 Jul 2014 16:41:30 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[PSOD]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5244</guid>
		<description><![CDATA[MAJ 19/10/2014 : Le patch ESXi550-201410001 règle le problème sans un mot dans les release notes ni les fixed PRs
MAJ 30/07/2014 : VMware vient de nous informer de la prise en compte du bug (PR 1286205) et que le correctif sera dispo Q4 2014 dans le patch 3 d&#8217;ESXi 5.5 :
Customer observed ESXi PSOD when [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 19/10/2014</span> : <a href="http://kb.vmware.com/kb/2087358" target="_blank">Le patch ESXi550-201410001</a> règle le problème sans un mot dans les release notes ni les fixed PRs</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 30/07/2014</span> : VMware vient de nous informer de la prise en compte du bug (PR 1286205) et que le correctif sera dispo Q4 2014 dans le patch 3 d&#8217;ESXi 5.5 :</em></p>
<blockquote><p>Customer observed ESXi PSOD when polling IP-MIB. snmpd calling NetVsi_TcpipSysctlGet</p></blockquote>
<p style="text-align: justify;">Hormis <a href="http://www.ntpro.nl/blog/archives/1388-Lets-create-some-Kernel-Panic-using-vsish.html" target="_blank">la fameuse commande crashMe de vsish</a>, il est généralement très difficile de reproduire un PSOD à la demande. Pourtant, nous avons trouvé un cas assez violent où l&#8217;utilisation de SNMPv3 via cacti fait crasher l&#8217;ESX de façon systématique et ce sur toutes les version depuis la 5.1 :</p>
<p style="text-align: center;"><a href="https://twitter.com/hypervisor_fr/status/487900396158214144"><img class="aligncenter" src="http://files.hypervisor.fr/img/PSoD.png" alt="" width="472" height="416" /></a></p>
<p style="text-align: justify;">Evidemment, VMware est sur le coup. Pour info, nous avons utilisé <a href="http://blogs.vmware.com/vsphere/2012/11/configuring-snmp-v1v2cv3-using-esxcli-5-1.html" target="_blank">le &#8220;walk through&#8221; de William pour la configuration</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5244</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinBSOD in vmware.log</title>
		<link>http://www.hypervisor.fr/?p=5221</link>
		<comments>http://www.hypervisor.fr/?p=5221#comments</comments>
		<pubDate>Fri, 04 Jul 2014 07:27:39 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[BSOD]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5221</guid>
		<description><![CDATA[Lors d&#8217;une petite séance de troubleshooting décontractée, nous avons été agréablement surpris de constater que lors d&#8217;un BSOD sous Windows, le texte affiché était redirigé dans le vmware.log de la VM. Ça évite l&#8217;OCR&#8230;

La seule référence que nous ayons pu trouver à ce sujet est une kb d&#8217;un path pour ESXi 5.0, dommage.
En passant, nous vous [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lors d&#8217;une petite séance de troubleshooting décontractée, nous avons été agréablement surpris de constater que <strong>lors d&#8217;un BSOD sous Windows, le texte affiché était redirigé dans le vmware.log</strong> de la VM. <a href="http://www.ntpro.nl/blog/archives/1100-Virtual-Machine-Blue-Screen-detector.html" target="_blank">Ça évite l&#8217;OCR</a>&#8230;</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/WinBSOD.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/WinBSOD_small.png" alt="" width="536" height="273" /></a></p>
<p style="text-align: justify;">La seule référence que nous ayons pu trouver à ce sujet est <a href="http://kb.vmware.com/kb/2065700" target="_blank">une kb d&#8217;un path pour ESXi 5.0</a>, dommage.</p>
<p style="text-align: justify;">En passant, nous vous rappelons qu&#8217;<a href="http://www.virtuallyghetto.com/2013/07/a-hidden-vsphere-51-gem-forwarding.html" target="_blank">il est possible de rediriger le log d&#8217;une VM vers le syslog d&#8217;ESXi</a> pour vous éviter de fouiller dans le fichier vmware.log et c&#8217;est bien sûr faisable à chaud en PowerCLI (comme d&#8217;hab, vmotion pour appliquer le setting) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-VM toto|Get-View|?{-not $_.Config.Template -and $_.Runtime.ConnectionState -eq &quot;connected&quot;}|%{$_.ReconfigVM((New-Object VMware.Vim.VirtualMachineConfigSpec -Property @{extraconfig=@((New-Object VMware.Vim.optionvalue -Property @{Key=&quot;vmx.log.destination&quot;; Value=&quot;syslog-and-disk&quot;}))}))}</pre>
<p style="text-align: justify;">Après on peut faire des belles requêtes dans son Graylog2 :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vm2syslog.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vm2syslog_small.png" alt="" width="487" height="564" /></a></p>
<p style="text-align: left;">Un grand merci à <a href="https://twitter.com/lamw" target="_blank">William</a> pour cette pépite.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5221</wfw:commentRss>
		<slash:comments>0</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>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>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>The vExpendables</title>
		<link>http://www.hypervisor.fr/?p=4633</link>
		<comments>http://www.hypervisor.fr/?p=4633#comments</comments>
		<pubDate>Fri, 29 Mar 2013 08:23:29 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[DVS]]></category>
		<category><![CDATA[DVSwitch]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4633</guid>
		<description><![CDATA[C&#8217;est le tweet de Arne Fokkema qui nous a fais découvrir une feature de DVS 5.0+ qui ne semble pas très connue, l&#8217;autoExpand. Comme son nom le laisse deviner, cette fonctionnalité relègue au placard tous les scripts de check de ports encore disponibles que vous passiez jadis sur votre infra pour ne pas vous retrouver en rade [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">C&#8217;est <a href="https://twitter.com/afokkema/status/315107918443864064" target="_blank">le tweet de Arne Fokkema</a> qui nous a fais découvrir une feature de DVS 5.0+ qui ne semble pas très connue, l&#8217;<a href="http://blogs.vmware.com/vsphere/2012/02/automating-auto-expand-configuration-for-a-dvportgroup-in-vsphere-5.html" target="_blank"><strong>autoExpand</strong></a>. Comme son nom le laisse deviner, cette fonctionnalité relègue au placard tous les scripts de check de ports encore disponibles que vous passiez jadis sur votre infra pour ne pas vous retrouver en rade au prochain déploiement de VM.</p>
<p style="text-align: justify;">En effet, après avoir activé l&#8217;autoExpand, le nombre de ports utilisables d&#8217;un DVPortgroup (en Static binding aka <a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver51/ReferenceGuide/vim.dvs.DistributedVirtualPortgroup.PortgroupType.html" target="_blank">earlyBinding</a>) se verra incrémenté automatiquement de 10 lorsqu&#8217;aucun port n&#8217;est disponible pour une nouvelle VM. Il y a également une fonction d&#8217;autoShrink décrite dans l&#8217;API Reference mais c&#8217;est une peu vague :</p>
<blockquote>
<p style="text-align: justify;">When this property is set to true, the portgroup becomes a potential candidate for auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are likely to be deleted automatically, as a part of auto-shrink step, <strong>if there are more than certain number of free ports</strong>. If the portgroup never auto-expanded, then it will never lose any free ports.</p>
</blockquote>
<p style="text-align: justify;">Sachant que cette fonction est activé par défaut sur les DVSwitch 5.1, nous avons voulu vérifier si c&#8217;était également le cas lors d&#8217;une migration :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/dvpg50_autoexpand.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/dvpg50_autoexpand.png" alt="" width="516" height="348" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/dvpg50_autoexpand_up.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/dvpg50_autoexpand_up.png" alt="" width="516" height="329" /></a></p>
<p style="text-align: left;">On constate donc que même <strong>après avoir upgradé le DVSwitch 5.0.0 en 5.1.0, l&#8217;autoExpand est toujours désactivé</strong>. Mais pas pour longtemps <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Après analyse du script PowerCLI d&#8217;Arne et de l&#8217;API Reference, nous avons constaté que les DVUplinks &#8220;disposaient&#8221; de cette fonctionnalité (<strong>désactivée dans tous les cas et à ne probablement pas activer</strong>) car comme nous le confirme <a href="http://www.doublecloud.org/2011/06/tagging-an-invisible-feature-in-vsphere/" target="_blank">Steve Jin, ce ne sont que des DVPortgroup avec un tag spécifique</a> (SYSTEM/DVS.UPLINKPG). De plus, lors de la reconfiguration du DVPortgroup, la propriété <a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver51/ReferenceGuide/vim.dvs.DistributedVirtualPortgroup.ConfigInfo.html#configVersion" target="_blank">configVersion</a> devrait être incrémentée. Et pour finir, en onliner c&#8217;est plus sexy :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType DistributedVirtualPortgroup|?{!($_.Tag|?{$_.Key -eq &quot;SYSTEM/DVS.UPLINKPG&quot;}) -and !$_.Config.autoExpand}|%{$_.ReconfigureDVPortgroup_Task((New-Object VMware.Vim.DVPortgroupConfigSpec -Property @{autoExpand=&quot;True&quot;;ConfigVersion=[int32]$_.Config.ConfigVersion+1}))}</pre>
<p><strong>Le script n&#8217;active la fonctionnalité que sur les DVPortgroup ne l&#8217;ayant pas déjà (hors DVUplinks) et incrémente la propriété ConfigVersion de 1</strong> :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/dvpg50_autoexpand_ex.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/dvpg50_autoexpand_ex.png" alt="" width="516" height="475" /></a></p>
<p style="text-align: left;">Et pour ceux qui voudraient savoir quand de nouveaux ports ont été ajoutés ou supprimés, il y a une alarme pour ça (<em>Monitor : vSphere Distributed Swiches</em>) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/dvpg50_autoexpand_alarm.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/dvpg50_autoexpand_alarm.png" alt="" width="523" height="340" /></a></p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4633</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>vSphere 5.1 sans le webclient : DVS Rollback &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=4240</link>
		<comments>http://www.hypervisor.fr/?p=4240#comments</comments>
		<pubDate>Sun, 30 Sep 2012 23:44:57 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[alarm]]></category>
		<category><![CDATA[DVS]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[vSwitch]]></category>
		<category><![CDATA[webclient]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4240</guid>
		<description><![CDATA[MAJ 27.02.2013 : PowerCLI 5.1 R2 contient 2 nouvelles cmdlet permettant l&#8217;export des des distributed switch/portgroup dans un fichier.
Depuis leur apparition dans vSphere 4.0 en 2009 et jusqu&#8217;à aujourd&#8217;hui (malgré les nouvelles features exclusives), nous avons considéré les distributed switch comme des SPOF. L&#8217;idée de départ est très bonne mais la dépendance au vcenter nous paraissait trop [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 27.02.2013</span> : <a href="http://blogs.vmware.com/vipowershell/2013/02/powercli-5-1-release-2-now-available.html" target="_blank">PowerCLI 5.1 R2 contient 2 nouvelles cmdlet permettant l&#8217;export des des distributed switch/portgroup dans un fichier</a>.</em></p>
<p style="text-align: justify;">Depuis leur apparition dans vSphere 4.0 en 2009 et jusqu&#8217;à aujourd&#8217;hui (malgré les nouvelles features exclusives), nous avons considéré les distributed switch comme des <a href="http://en.wikipedia.org/wiki/Single_point_of_failure" target="_blank">SPOF</a>. L&#8217;idée de départ est très bonne mais la dépendance au vcenter nous paraissait trop importante, il était possible de lancer des actions irréversibles (sur le management network en particulier), de nombreuses kb vmware ont fait état de bugs assez gênant (<a href="http://kb.vmware.com/kb/1017558" target="_blank">surtout pour la v4.x</a>) et nous avons toujours été inquiet de ne pouvoir presque rien faire en direct sur un ESXi en cas de problème réseau. VMware admet même le pire scénario (<a href="http://www.hypervizor.com/diags/HyperViZor-Diags-vSphere-on-IBM-BCH-v2-0.pdf" target="_blank">qui poussait les plus prudents d&#8217;entre nous à mixer standard/distributed</a> lorsque le nombre de nic le permettait) dans  le &#8220;<a href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vSphere-51-Network-Technical-Whitepaper.pdf" target="_blank">What’s New in vSphere 5.1 – Networking</a>&#8221; :</p>
<blockquote>
<p style="text-align: justify;">However, in the VDS environment, where multiple hosts are connected to a distributed switch, any network failure or misconfiguration of the management port group can potentially disconnect all hosts from the vCenter Server system.<br />
[...]<br />
In vSphere 5.0, the only way for the user to recover from this situation is by <strong>going to individual hosts and building a VSS with a proper management network configuration</strong>.</p>
</blockquote>
<p style="text-align: justify;"><span style="text-align: justify;"><strong><strong>vSphere 5.1 apporte, en plus d&#8217;une certaine maturité, toutes les fonctionnalités qui manquaient à DVS</strong></strong>. L&#8217;une d&#8217;entre elles, nommé </span><a style="text-align: justify;" href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.vsphere.networking.doc/GUID-88B9F893-9739-47DF-9F1B-BAF139E554D6.html" target="_blank"><strong>Host Networking Rollback</strong></a><span style="text-align: justify;">, fera certainement changer d&#8217;avis les plus réticents (y compris nous-même). Pour faire court, cette feature </span><strong><strong>&#8220;déjoue&#8221; automatiquement la dernière reconfiguration du stack réseau (standard ou distributed) qui aboutie à une déconnexion du vCenter :</strong></strong></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/rollback/host_rollback.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/host_rollback.png" alt="" width="466" height="58" /></a></p>
<p style="text-align: justify;">Tout à fait logiquement, lorsque les ESXi recontactent le vCenter, le distributed switch annonce un &#8220;out of sync&#8221; du au rollback :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/dvswitch_out_of_sync.png" alt="" width="341" height="99" /></p>
<p style="text-align: justify;">C&#8217;est là qu&#8217;une autre nouvelle feature (le <strong>Distributed Switch Rollback</strong>) rentre en scène et permet de restaurer la précédente configuration d&#8217;un distributed switch ou distributed portgroup. Attention, <a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vim.dvs.DistributedVirtualPortgroup.html" target="_blank">en cas de restart du vCenter, la dernière configuration est perdue</a>.</p>
<blockquote>
<p style="text-align: justify;">When you use a VMware distributed virtual switch, each time you reconfigure the switch, the Server saves the switch configuration before applying the updates. <strong>If the vCenter Server is restarted, the saved configuration is not preserved</strong> and the method does not return a configuration specification.</p>
</blockquote>
<p style="text-align: justify;">Cette fonctionnalité n&#8217;étant accessible qu&#8217;avec le webclient, voici comment procéder en PowerCLI :</p>
<pre class="brush: powershell; title: ; notranslate">(Get-VirtualPortGroup -Name TargetdvPortGroup|get-view).ReconfigureDVPortgroup($(Get-VirtualPortGroup -Name TargetdvPortGroup|get-view).DVPortgroupRollback($()))</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/rollback/dvportgroup_rollback.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/dvportgroup_rollback.png" alt="" width="500" height="29" /></a></p>
<pre class="brush: powershell; title: ; notranslate">(Get-VirtualSwitch -name TargetDistributedVirtualSwitch|get-view).ReconfigureDvs((Get-VirtualSwitch -name TargetDistributedVirtualSwitch|get-view).DVSRollback($()))</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/rollback/dvswitch_rollback.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/dvswitch_rollback.png" alt="" width="500" height="30" /></a></p>
<p style="text-align: justify;">Cette dernière action n&#8217;est d&#8217;ailleurs même pas possible en GUI, à moins d&#8217;avoir exporté la configuration du DVS dans un fichier.</p>
<p style="text-align: justify;">Bonus : nous vous avons concocté un petit onliner pour créer <strong>une alarme afin d’être averti en cas rollback automatique sur les ESXi</strong> attachés à un distributed switch :</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/dvswitch_rollback_alarm.png" alt="" width="340" height="43" /></p>
<pre class="brush: powershell; title: ; notranslate">(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;vSphere Distributed Switch Rollback Event&quot;;Description = &quot;Custom alarm to monitor vim.event.RollbackEvent Event&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.EventAlarmExpression -Property @{eventType = &quot;EventEx&quot;;EventTypeId = &quot;vim.event.RollbackEvent&quot;;objectType = &quot;HostSystem&quot;;status = &quot;yellow&quot;});)});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmare.local&quot;;Subject = &quot;[vAlarm] {targetName} NetworkRollback Event - {newStatus}&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))</pre>
<p style="text-align: justify;"><span style="text-decoration: line-through;">Nous n&#8217;avons pas encore trouvé une solution correcte pour exporter la configuration des distributed switch/portgroup dans un fichier (le web client renvois un zip <a href="http://blogs.vmware.com/vsphere/2011/09/whats-in-a-vib.html" target="_blank">ressemblant à un vib</a>), n’hésitez pas à nous remonter vos idées et/ou réactions sur le sujet.</span></p>
<p style="text-align: justify;">Pour finir, il est maintenant possible de reconfigurer &#8220;automatiquement&#8221; la partie management network (standard ou distributed) via la DCUI :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/rollback/host_net_reset.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/host_net_reset.png" alt="" width="492" height="74" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/rollback/host_net_reset_dvs.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/rollback/host_net_reset_dvs.png" alt="" width="493" height="100" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4240</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Storage vMotion : the method is disabled</title>
		<link>http://www.hypervisor.fr/?p=4197</link>
		<comments>http://www.hypervisor.fr/?p=4197#comments</comments>
		<pubDate>Wed, 05 Sep 2012 17:24:49 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[SVMotion]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4197</guid>
		<description><![CDATA[Lors d&#8217;une opération de migration de baie de stockage, nous avons rencontré un problème intéressant durant le storage vmotion d&#8217;une vm. La migration consistant à déplacer les vm de 3 datastores d&#8217;une baie vers 3 datastore d&#8217;une autre baie, nous avons evidement utilisé notre fameux script Datastore-Equalizer. Voici un screenshot de l&#8217;erreur en question :

Une kb vmware couvre le sujet mais [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lors d&#8217;une opération de migration de baie de stockage, nous avons rencontré un problème intéressant durant le storage vmotion d&#8217;une vm. La migration consistant à déplacer les vm de 3 datastores d&#8217;une baie vers 3 datastore d&#8217;une autre baie, nous avons evidement utilisé notre fameux script <a href="http://www.hypervisor.fr/?p=3524" target="_blank">Datastore-Equalizer</a>. Voici un screenshot de l&#8217;erreur en question :</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2012/09/The_method_is_disabled.png" title="The_method_is_disabled" rel="lightbox[4197]"><img class="aligncenter size-full wp-image-4198" title="The_method_is_disabled" src="http://www.hypervisor.fr/wp-content/uploads/2012/09/The_method_is_disabled.png" alt="" width="504" height="56" /></a></p>
<p style="text-align: justify;">Une <a href="http://kb.vmware.com/kb/2008957" target="_blank">kb vmware couvre le sujet</a> mais les 2 workaround sont particulièrement déplaisants. Au choix, <strong>unregister</strong>/register de la vm (arrêtée sinon c&#8217;est pas drôle) ou modifications dans la base du vcenter (arrêté sinon c&#8217;est pas drôle non plus).</p>
<p style="text-align: justify;"><em>Pour rappel, un unregister une vm du vcenter vous fait perdre les stats et les custom fields mais induit aussi <strong>un changement de </strong><a href="http://www.virtuallyghetto.com/2011/11/vsphere-moref-managed-object-reference.html"><strong>moref</strong></a> qui peut également entraîner de conséquences importantes comme une perte des règles d’affinités DRS ou encore une appartenance à un job de backup.</em></p>
<p style="text-align: justify;">N&#8217;ayant pas pour habitude d&#8217;accepter ce genre de solutions sans chercher un moyen de contournement pour éviter un downtime ou une perte d&#8217;information quelconque, nous avons fini par trouver la solution simplement dans la description du problème :</p>
<blockquote>
<p style="text-align: justify;">This issue occurs because the entries from VPX_DISABLED_METHODS are not removed after a virtual machine backup task completes.</p>
</blockquote>
<p style="text-align: justify;">Vous l&#8217;aurez deviné, <strong>un nouveau backup (réussi) de la vm a corrigé le problème</strong> et nous avons pu continuer la migration.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://www.kulfoto.com/pic/0001/0027/o964426118.jpg" alt="" width="346" height="238" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4197</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carte Qlogic 8Gb FC IBM incompatible avec le driver 841.k1.28.1-1vmw</title>
		<link>http://www.hypervisor.fr/?p=3567</link>
		<comments>http://www.hypervisor.fr/?p=3567#comments</comments>
		<pubDate>Tue, 24 Jan 2012 00:22:23 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[44X1947]]></category>
		<category><![CDATA[44X1948]]></category>
		<category><![CDATA[qlogic qla3532 bug]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3567</guid>
		<description><![CDATA[MAJ 01/07/2012 : La version 841.k1.42.1-1vmw est disponible et ne semble pas poser de problème.
MAJ 24/01/2012 : La version 841.k1.34.1-1vmw semble régler le problème car les cartes sont détectées et fonctionnelles.
A nos dépends, nous nous sommes aperçu que le driver async 841.k1.28.1-1vmw fourni par Qlogic (via le site de vmware) pour ESXi 4.x n&#8217;était pas compatible avec les cartes [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 01/07/2012</span> : La version <a href="https://my.vmware.com/group/vmware/details?downloadGroup=DT-ESXI4X-Qlogic-qla2xxx-841k14211vmw&amp;productId=230" target="_blank">841.k1.42.1-1vmw</a> est disponible et ne semble pas poser de problème.</em></p>
<p style="text-align: justify;"><em><em><span style="color: #ff0000;">MAJ 24/01/2012</span></em> : La version <a href="http://downloads.vmware.com/d/details/dt_esxi40_qlogic_qla2xxx_841k1341_1vmw/ZCV0YnRAZXBiZHdldA==" target="_blank">841.k1.34.1-1vmw</a> semble régler le problème car les cartes sont détectées et fonctionnelles.</em></p>
<p style="text-align: justify;">A nos dépends, nous nous sommes aperçu que le driver async <strong>841.k1.28.1-1vmw</strong> fourni par Qlogic (<a href="http://downloads.vmware.com/d/details/dt_esx4x_qlogic_qla2xxx_841_k1_28_1_1vmw/ZCV0YnQqcEBiZHdldA==" target="_blank">via le site de vmware</a>) pour ESXi 4.x n&#8217;était pas compatible avec les cartes <strong>QLogic 8Gb Fibre Channel Expansion Card (CIOv)</strong> ISP2532 (QMI2582) pour blade <strong>IBM </strong>(extrait de /var/log/message just après le boot) :</p>
<blockquote><p>qla2xxx 0000:24:00.0: <strong>Found an ISP2532</strong>, irq 184, iobase 0&#215;0x4100a0a02000<br />
qla2xxx 0000:24:00.0: Configuring PCI space&#8230;<br />
qla2xxx 0000:24:00.0: Configure NVRAM parameters&#8230;<br />
qla2xxx 0000:24:00.0: ZIO mode 6 enabled; timer delay (100 us).<br />
qla2xxx 0000:24:00.0: Verifying loaded RISC code&#8230;<br />
qla2xxx 0000:24:00.0: ISP System Error &#8211; mbx1=1ff7h mbx2=10h mbx3=3h mbx7=0h.<br />
qla2xxx 0000:24:00.0: <strong>Failed to initialize adapter</strong></p></blockquote>
<p style="text-align: justify;">Nous avons par ailleurs trouvé une kb très proche de ce bug mais pour ESXi 5.0 : <a href="http://kb.vmware.com/kb/2008044" target="_blank">ESXi 5.0 async QLogic driver 911.k1.1-19vmw fails on 8G fiber channel IBM Mezzanine Card</a>.</p>
<p style="text-align: justify;">Heureusement pour nous, point besoin de &#8220;Press Shift+R when rebooting&#8221; ou de &#8220;Re-install ESXi&#8221; car un simple remove du vib avec la commande &#8220;esxupdate&#8221; (&#8220;esxcli software vib&#8221; pour la ESXi 5.0) fera largement l&#8217;affaire :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/qla2532.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/qla2532.png" alt="" width="484" height="241" /></a></p>
<p style="text-align: left;">On attend le retour de VMware à ce sujet&#8230;</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3567</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Veeam backup v6</title>
		<link>http://www.hypervisor.fr/?p=3561</link>
		<comments>http://www.hypervisor.fr/?p=3561#comments</comments>
		<pubDate>Tue, 17 Jan 2012 00:19:25 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[veeam]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3561</guid>
		<description><![CDATA[MAJ 09/02/2011 : le patch 3 fraîchement disponible corrige enfin les derniers gros bugs de la v6, mais pas tous&#8230;

If you plan to use Direct SAN access mode, are running a localized version of Microsoft Windows, or are upgrading from a previous version of Veeam Backup &#38; Replication, consider installing the patch.

Vous n&#8217;avez sans doutes pas pu passer [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">MAJ 09/02/2011 : le patch 3 fraîchement disponible corrige enfin les derniers gros bugs de la v6, <a href="http://www.veeam.com/kb_articles.html/KB1374" target="_blank">mais pas tous&#8230;</a></p>
<blockquote>
<p style="text-align: justify;"><a href="http://www.veeam.com/kb_articles.html/KB1442" target="_blank">If you plan to use <strong>Direct SAN access mode</strong>, are running a localized version of Microsoft Windows, or are <strong>upgrading from a previous version</strong> of Veeam Backup &amp; Replication, consider installing the patch</a>.</p>
</blockquote>
<p style="text-align: justify;">Vous n&#8217;avez sans doutes pas pu passer à coté du lancement de la version 6 de Veeam Backup &amp; Replication tant la <a href="http://www.veeam.com/veeam_backup_6_0_whats_new_wn.pdf">liste de nouvelles features est impressionnante</a>. La capacité à faire un <strong>failback</strong> sur les jobs de réplication, le support d&#8217;<strong>Hyper-V</strong> (avec &#8220;CBT&#8221; via un driver &#8220;made in&#8221; Veeam) et le <strong>changement d&#8217;architecture</strong> (proxy/server/repository) étant les 3 changements majeurs.</p>
<p style="text-align: justify;">Attention toute fois, la v6 souffre encore de quelques bugs (plusieurs patch successifs ont été mis à dispo par le support veeam) qui en <a href="http://forums.veeam.com/viewtopic.php?f=2&amp;t=10160&amp;sid=39379b773796911b54c673a65122fa93">ont même découragé certains</a>, nous y avons d&#8217;ailleurs dédié un short link : <a href="http://vm.lc/v6">vm.lc/v6</a></p>
<p style="text-align: justify;">N&#8217;hésitez pas à utiliser <a href="http://www.hypervisor.fr/?p=2020" target="_blank">notre script de linked clone</a> pour tester vos upgrades.</p>
<p style="text-align: justify;">Comme toujours, c&#8217;est dans les petits détails que l&#8217;on peut juger de la finition d&#8217;un produit :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/veeam_job_v5.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/veeam_job_v5.png" alt="" width="479" height="244" /></a></p>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/veeam_job_v6_0.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/veeam_job_v6_0.png" alt="" width="512" height="193" /></a></p>
<p style="text-align: justify;">Avec le nouveau report de la v6, adieu les taux de transferts cosmique qui plaisait tant aux commerciaux&#8230;</p>
<p style="text-align: justify;">Et pour inaugurer notre nouveau slogant &#8220;There&#8217;s A One-liner For That&#8221;, en voici un qui aura sa place dans vos taches planifiés pour &#8220;retry&#8221; un job &#8220;failed&#8221; :</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>VBRJob<span style="color: pink;">|?</span><span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.GetLastResult<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #FF0000;">-eq</span> <span style="color: #800000;">&quot;Failed&quot;</span><span style="color: #000000;">&#125;</span><span style="color: pink;">|%</span><span style="color: #000000;">&#123;</span>Start<span style="color: pink;">-</span>VBRJob <span style="color: #000080;">$_</span> <span style="color: pink;">-</span>RetryBackup <span style="color: pink;">-</span>RunAsync<span style="color: #000000;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3561</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les (petits) secrets du syslog d&#8217;ESXi 5.0 (aka vmsyslogd)</title>
		<link>http://www.hypervisor.fr/?p=3387</link>
		<comments>http://www.hypervisor.fr/?p=3387#comments</comments>
		<pubDate>Sun, 16 Oct 2011 00:22:51 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Kb]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[syslog]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3387</guid>
		<description><![CDATA[Alors que la dernière mouture de note hyperviseur préféré essuie ses premiers plâtres coté stockage avec un bug VAAI (kb 2007427) et un autre sur l&#8217;iSCSI software (kb 2007108), nous avons déniché un workaround à un autre problème (concernant le nouveau syslog d&#8217;ESXi) pour lequel la solution préconisé par VMware est un reboot. Pas très datacenter-friendly, vous en conviendrez.
Le problème en [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Alors que la dernière mouture de note hyperviseur préféré essuie ses premiers plâtres coté stockage avec un bug VAAI (<a href="http://kb.vmware.com/kb/2007427" target="_blank">kb 2007427</a>) et un autre sur l&#8217;iSCSI software (<a href="http://kb.vmware.com/kb/2007108">kb 2007108</a>), nous avons déniché un workaround à <a href="http://kb.vmware.com/kb/2003470" target="_blank">un autre problème (concernant le nouveau syslog d&#8217;ESXi) pour lequel la solution préconisé par VMware est un reboot</a>. Pas très datacenter-friendly, vous en conviendrez.</p>
<p style="text-align: justify;">Le problème en question concerne <strong>l’arrêt du daemon vmsyslogd lorsque le datastore désigné pour accueillir les logs n&#8217;est pas accessible </strong>(ou a été indisponible trop longtemps). La <a href="http://kb.vmware.com/kb/2003470" target="_blank">kb 2003470</a> fait état du problème lorsque l&#8217;ESXi est en boot from SAN mais le problème est identique lorsque le paramètre <strong>Syslog.global.logDir</strong> pointe vers un datastore NFS qui serait indisponible lors d&#8217;une coupure réseau.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmsyslogd_ko.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmsyslogd_ko.png" alt="" width="524" height="177" /></a></p>
<p style="text-align: justify;">Ce problème est d&#8217;autant plus fâcheux (mais en même temps évident) que c&#8217;est ce même daemon qui transmet les messages au <strong>Syslog.global.logHost</strong>, ce qui signifie que si vous devez troubleshooter un effet de bord suite à une coupure réseau ou SAN trop longue et que vous redirigiez les logs sur un datastore &#8220;remote&#8221;, vous n&#8217;avez plus de logs pour le faire. Et VMware voudrait vous faire rebooter rien que pour ça !</p>
<p style="text-align: justify;">Heureusement, le reboot peut être facilement évité en faisant <strong>un reload du daemon</strong> ou (si le process à été tué ou si le watchdog n&#8217;a pas réussi à relancer le process) <strong>en lançant manuellement le daemon</strong> (le reload génère une erreur lorsque le process ne tourne plus) :</p>
<blockquote>
<p style="text-align: justify;"><strong>esxcli system syslog reload</strong></p>
<p style="text-align: justify;"><strong>/usr/lib/vmware/vmsyslog/bin/vmsyslogd</strong></p>
</blockquote>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmsyslogd_reload.png" alt="" width="444" height="241" /></p>
<p>Un petit détail en passant, sur la version embedded d&#8217;ESXi 5.0 le daemon syslog n&#8217;est pas configuré (/scratch/log par défaut) si la partition scratch est absente :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmsyslogd_off.png" alt="" width="331" height="53" /></p>
<p style="text-align: justify;">Autre petit détail intéressant, contrairement aux précédentes versions d&#8217;ESXi, vous pouvez maintenant utiliser le même chemin pour tous vos ESXi et activer le paramètre  <strong>Syslog.global.logDirUnique</strong> qui créera automatiquement un sous répertoire au nom FQDN du serveur pour y placer les logs.</p>
<p style="text-align: justify;">Dernier point qui a également son importance, le &#8220;format syslog&#8221; d&#8217;ESXi est nettement mieux respecté dans cette nouvelle version ce qui permet d’améliorer le filtrage lorsqu&#8217;on redirige vers une plateforme type <a style="font-weight: bold;" href="http://www.rsyslog.com/" target="_blank">rsyslog</a>+<a href="http://loganalyzer.adiscon.com/" target="_blank"><strong>loganalyzer</strong> </a>:</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vmsyslogd_rsyslog.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vmsyslogd_rsyslog.png" alt="" width="496" height="200" /></a></p>
<p style="text-align: left;">
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3387</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
