<?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; PowerCLI</title>
	<atom:link href="http://www.hypervisor.fr/?feed=rss2&#038;tag=powercli" 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>Host.Local.ManageUserGroups = root</title>
		<link>http://www.hypervisor.fr/?p=6005</link>
		<comments>http://www.hypervisor.fr/?p=6005#comments</comments>
		<pubDate>Fri, 30 Jul 2021 14:16:51 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[esxcli]]></category>
		<category><![CDATA[Get-EsxCli]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[vCenter]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=6005</guid>
		<description><![CDATA[MAJ 11/01/2023 : William Lam vient de nous faire remarquer qu&#8217;il etait possible d&#8217;hardener vSphere 8 pour limiter cette &#8220;feature&#8221; ainsi que de limiter le shell aux user non root (dcui par exemple&#8230;)

By restricting ESXi Shell access for the vpxuser, you prevent attackers,  which can also be insiders who have access to vCenter Server the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 11/01/2023</span> : <a href="https://williamlam.com/2023/01/applying-additional-security-hardening-enhancements-in-esxi-8-0.html" target="_blank">William Lam vient de nous faire remarquer qu&#8217;il etait possible d&#8217;hardener vSphere 8 pour limiter cette &#8220;feature&#8221; ainsi que de limiter le shell aux user non root (dcui par exemple&#8230;)</a></em></p>
<blockquote>
<p style="text-align: justify;"><em>By restricting ESXi Shell access for the vpxuser, you prevent attackers,  which can also be insiders who have access to vCenter Server <strong>the  ability to just change the ESXi root password without knowing the  original password</strong>.</em></p>
</blockquote>
<p style="text-align: justify;">Après l’énorme succès de notre billet <a href="http://www.hypervisor.fr/?p=5655" target="_blank">Administrators = root</a> qui vous permet de reset le mot de passe root de vos ESX sans le connaître (si vous êtes admin du vCenter) grâce à Get-EsxCli, voici <a href="https://vdc-repo.vmware.com/vmwb-repository/dcr-public/790263bc-bd30-48f1-af12-ed36055d718b/e5f17bfc-ecba-40bf-a04f-376bbb11e811/vim.host.LocalAccountManager.html#updateUser" target="_blank">une nouvelle méthode utilisable depuis vSphere 6.7 U2</a> qui nécessite encore moins de droits :</p>
<blockquote><p>Updates a local user account using the parameters defined in the   <a href="https://vdc-repo.vmware.com/vmwb-repository/dcr-public/790263bc-bd30-48f1-af12-ed36055d718b/e5f17bfc-ecba-40bf-a04f-376bbb11e811/vim.host.LocalAccountManager.AccountSpecification.html" target="_blank">HostLocalAccountManagerAccountSpecification</a> data object type.</p></blockquote>
<blockquote><p>Required Privileges <a href="https://files.hypervisor.fr/img/HostLocalManageUserGroups.png" target="_blank">Host.Local.ManageUserGroups</a></p></blockquote>
<pre class="brush: powershell; title: ; notranslate">(Get-View (Get-VMHost|Get-View).ConfigManager.AccountManager).UpdateUser($(New-Object VMware.Vim.HostAccountSpec -Property @{id=&quot;root&quot;;password=&quot;VMw4re!&quot;}))</pre>
<p style="text-align: justify;">Attention, contrairement à la méthode Get-EsxCli, cette fois un petit event va vous trahir instantanément :</p>
<p style="text-align: justify;"><img class="aligncenter" src="https://files.hypervisor.fr/img/HostAccountSpec.png" alt="" width="517" height="324" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=6005</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dual vSAN Datastores</title>
		<link>http://www.hypervisor.fr/?p=5949</link>
		<comments>http://www.hypervisor.fr/?p=5949#comments</comments>
		<pubDate>Thu, 15 Apr 2021 19:24:23 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[SVMotion]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5949</guid>
		<description><![CDATA[MAJ 30/07/2021 : Sur vSphere 7.0 U2 il est nécessaire de préciser l&#8217;UUID du cluster vSAN dans la commande, très probablement pour le fonctionnement d&#8217;HCI mesh :

Datastore UUID is required when a cluster UUID is specified


Get-VMHost&#124;%{($_&#124;get-esxcli).vsan.datastore.add($null, &#34;vsanDatastore2&#34;, &#34;11111111-1111-1111-1111-111111111111&#34;)}
En utilisant $null pour la propriété ClusterUUID, ca passe crème.
MAJ 18/05/2021 : On me signale dans l&#8217;oreillette que [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;"><strong>MAJ 30/07/2021</strong></span> : Sur vSphere 7.0 U2 il est nécessaire de préciser l&#8217;UUID du cluster vSAN dans la commande, très probablement pour le fonctionnement d&#8217;HCI mesh :</em></p>
<blockquote>
<p style="text-align: justify;">Datastore UUID is required when a cluster UUID is specified</p>
</blockquote>
<p style="text-align: center;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/dual_vsan_vsp7U2.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/dual_vsan_vsp7U2.png" alt="" width="549" height="500" /></a></p>
<pre class="brush: powershell; title: ; notranslate">Get-VMHost|%{($_|get-esxcli).vsan.datastore.add($null, &quot;vsanDatastore2&quot;, &quot;11111111-1111-1111-1111-111111111111&quot;)}</pre>
<p style="text-align: justify;">En utilisant $null pour la propriété ClusterUUID, ca passe crème.</p>
<p style="text-align: justify;"><em><span style="color: #ff0000;"><strong>MAJ 18/05/2021</strong></span> : On me signale dans l&#8217;oreillette que <strong>VMware supporterai officiellement cette méthode</strong> :</em></p>
<blockquote>
<p style="text-align: justify;"><em>Engineering have advised that the procedure you are carrying out is applicable to your specific need and is considered supported from us</em></p>
</blockquote>
<p style="text-align: justify;">Tous les admin VMware le savent, <strong>après renommage d&#8217;une VM</strong> il convient de faire un petit <strong>Storage vMotion</strong> (<a href="https://kb.vmware.com/s/article/1009113" target="_blank">aka d-motion pour les boomers</a>) pour &#8220;propager&#8221; le nouveau nom aux fichiers de la VM en question. Et pour ceux qui l&#8217;ignorait encore, <a href="http://www.yellow-bricks.com/2012/12/21/renaming-virtual-machine-files-using-svmotion-back/" target="_blank">cette feature était un bug jusqu&#8217;à la version 5.0 U2 d&#8217;ESXi</a>.</p>
<p style="text-align: justify;">Évidement, cela nécessite d&#8217;avoir <strong>un 2eme datastore</strong> (idéalement avec des performances identiques et la bonne volumétrie) pour faire l&#8217;aller-retour de la VM (ou un <a href="https://docs.vmware.com/en/vRealize-Operations-Manager/8.0/com.vmware.vcom.core.doc/GUID-82F8390B-8448-40DA-BFF1-30AB6166141D.html" target="_blank">Storage Pod</a>) <strong>ce qui n&#8217;est pas souvent le cas sur un cluster vSAN</strong> pour des raisons évidentes.</p>
<p style="text-align: center;"><img class="aligncenter" title="vSAN HCI Mesh" src="https://files.hypervisor.fr/img/VMware-vSAN-HCI-Mesh.png" alt="" width="498" height="302" /></p>
<p style="text-align: justify;">Jusqu&#8217;à maintenant, les seules solutions étaient de &#8230; ne rien faire ou de connecter un datastore NFS ponctuellement pour faire le svmotion. Mais en cherchant à faire du <strong><a href="https://core.vmware.com/resource/vmware-vsan-hci-mesh-tech-note#" target="_blank">HCI mesh</a></strong> en ligne de commande nous sommes tombé sur la solution (<a href="https://code.vmware.com/docs/12778/esxi-7-0-u1-esxcli-command-reference/namespace/esxcli_vsan.html" target="_blank">très discrètement documenté</a>) : <strong>esxcli vsan datastore add</strong> pour créer <strong>un 2eme datastore sur le vmdk namespace</strong>.<br />
<strong> </strong></p>
<p style="text-align: center;"><a href="http://download3.vmware.com/vmworld/2014/downloads/session-pdfs/STO1279_Final_US.pdf"><strong><img class="aligncenter" title="Architecting_Virtual_SAN" src="https://files.hypervisor.fr//img/Architecting_Virtual_SAN_6.2.2.008.1.png" alt="" width="519" height="398" /></strong></a></p>
<p style="text-align: justify;">Cette feature semble être apparu à partir de la version 6.7 U3 et est évidement accessible en PowerCLI également. Il suffit donc d&#8217;ajouter un &#8220;datastore&#8221; vSAN en précisant le nom et l&#8217;UUID de votre choix si vous le souhaitez. <strong>Il est nécessaire d&#8217;exécuter cette même commande sur tous les ESX du cluster avec le même nom <span style="color: #ff0000;"><span style="text-decoration: underline;">et le même UUID</span></span>.</strong></p>
<p style="text-align: center;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/esxcli_vsan_datastore_add.png" target="_blank"><strong><img class="aligncenter" title="esxcli_vsan_datastore_add" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/esxcli_vsan_datastore_add.png" alt="" width="506" height="582" /></strong></a></p>
<blockquote>
<p style="text-align: justify;"><strong>Add a new datastore to the vSAN cluster</strong>. This operation is only allowed if vSAN is enabled on the host. In general, add should be done at cluster level. Across a vSAN cluster vSAN datastores should be in sync.</p>
</blockquote>
<p style="text-align: justify;">Voila ce que ça donne sur un cluster à 3 noeuds :</p>
<p style="text-align: center;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/Get-EsxCli_vsan_datastore_add.png"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/Get-EsxCli_vsan_datastore_add.png" alt="" width="478" height="294" /></a></p>
<p style="text-align: justify;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vpx_vsandatastore2.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vpx_vsandatastore2.png" alt="" width="487" height="330" /></a></p>
<p style="text-align: justify;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vsan_vm_storage_policies.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vsan_vm_storage_policies.png" alt="" width="486" height="320" /></a>On peut donc maintenant faire notre svmotion aller-retour sans perte de performances.</p>
<p style="text-align: center;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vpx_svmotion.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/vpx_svmotion.png" alt="" width="444" height="260" /></a></p>
<p style="text-align: justify;">Une fois l&#8217;operation terminé on peut utiliser la commande &#8220;<strong>remove</strong>&#8221; en precisant le nom et l&#8217;UUID du datastore ou carrément la commande &#8220;<strong>clear</strong>&#8221; :</p>
<blockquote>
<p style="text-align: justify;"><strong>Remove all but the default datastore from the vSAN cluster</strong>. This operation is only allowed if vSAN is enabled on the host. In general, add should be done at cluster level. Across a vSAN cluster vSAN datastores should be in sync.</p>
</blockquote>
<p style="text-align: justify;">Et aucun risque de se rater, <strong>si une vm est toujours présente sur le datastore, vous aurez droit à une belle erreur</strong>. Après avoir fait du ménage, ça passe crème :</p>
<p style="text-align: center;"><a href="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/esxcli_vsan_datastore_clear.png" target="_blank"><img class="aligncenter" src="https://files.hypervisor.fr/img/Dual_vSAN_Datastores/esxcli_vsan_datastore_clear.png" alt="" width="478" height="313" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5949</wfw:commentRss>
		<slash:comments>3</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>The (old) Ladykillers</title>
		<link>http://www.hypervisor.fr/?p=5789</link>
		<comments>http://www.hypervisor.fr/?p=5789#comments</comments>
		<pubDate>Wed, 12 Apr 2017 17:51:49 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5789</guid>
		<description><![CDATA[Pour bien commencer le printemps et son grand ménage traditionnel, nous vous proposons un petit oneliner qui vous affichera la liste des vm éteintes avec la date du poweroff basée sur la dernière modification du fichier nvram (qui coincide au fameux &#8220;VMX has left the building&#8221; dans le vmware.log) donc pas de dépendance avec la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour bien commencer le printemps et son grand ménage traditionnel, nous vous proposons un petit oneliner qui vous affichera la liste des vm éteintes avec la date du poweroff <strong>basée sur la dernière modification du fichier nvram</strong> (qui coincide au fameux &#8220;VMX has left the building&#8221; dans le vmware.log) donc pas de dépendance avec la stratégie de rétention des tasks et events de votre VCDB.</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/The_old_Ladykillers/ds_browser_nvram.png" title="ds_browser_nvram" rel="lightbox[5789]"><img class="alignnone size-thumbnail wp-image-5790" title="ds_browser_nvram" src="http://www.hypervisor.fr/wp-content/uploads/2017/04/ds_browser_nvram-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/The_old_Ladykillers/vmx_has_left_the_build_log.png" title="vmx_has_left_the_build_log" rel="lightbox[5789]"><img class="alignnone size-thumbnail wp-image-5791" title="vmx_has_left_the_build_log" src="http://www.hypervisor.fr/wp-content/uploads/2017/04/vmx_has_left_the_build_log-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">Nous avons ajouté la taille de la VM pour vous motiver à faire un VeeamZIP et à en finir définitivement avec ces VM qui risque d&#8217;être redémarrées après un crash d&#8217;ESX&#8230;</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/The_old_Ladykillers/old_vm_off_ogv.png" alt="" width="495" height="596" /></p>
<pre class="brush: powershell; title: ; notranslate">get-view -viewtype virtualmachine -property name,runtime,layoutex|?{$_.Runtime.PowerState -eq &quot;poweredOff&quot; -and $_.Runtime.ConnectionState -eq &quot;connected&quot; -and !$_.config.template}|?{$_.LayoutEx.File|?{$_.type -match &quot;nvram&quot;}}|%{$_|select Name, @{n=&quot;Modification&quot;;e={((get-view (get-view -viewtype datastore –filter @{&quot;Name&quot;=($_.LayoutEx.File|?{$_.type -eq &quot;nvram&quot;}).name.split(&quot;[]&quot;)[1]}).browser).SearchDatastore(($_.LayoutEx.File|?{$_.type -eq &quot;nvram&quot;}).name.split(&quot;/&quot;)[0],(New-Object VMware.Vim.HostDatastoreBrowserSearchSpec -property @{matchPattern=(&quot;*.nvram&quot;); details=(New-Object VMware.Vim.FileQueryFlags -property @{modification=$true})}))|%{$_.file}).Modification}}, @{n=&quot;SizeGB&quot;;e={[math]::round(($_.LayoutEx.File|measure -Property size -sum).sum/1GB,1)}}}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5789</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VSAN SwapThickProvisionDisabled OneLiner</title>
		<link>http://www.hypervisor.fr/?p=5766</link>
		<comments>http://www.hypervisor.fr/?p=5766#comments</comments>
		<pubDate>Tue, 23 Aug 2016 16:30:30 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[overcommit]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5766</guid>
		<description><![CDATA[Alors que nous en rêvions depuis 10 ans pour VMFS, VMware a introduit dans VSAN 6.2 la possibilité de &#8220;thin provisioner&#8221; la swap des VM :
In Virtual SAN 6.2, we introduced an advanced host setting called SwapThickProvisionDisabled, when enabled, removes the space reservation for .vswp files.
Une preuve de plus, s&#8217;il en fallait, que la bataille [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Alors que nous en rêvions depuis 10 ans pour VMFS, <a href="https://blogs.vmware.com/virtualblocks/2016/02/24/vsan62-powercli-sparse-vswp/#respond" target="_blank">VMware a introduit dans VSAN 6.2 la possibilité de &#8220;thin provisioner&#8221; la swap des VM</a> :</p>
<blockquote><p>In Virtual SAN 6.2, we introduced an advanced host setting called SwapThickProvisionDisabled, when enabled, removes the space reservation for .vswp files.</p></blockquote>
<p style="text-align: justify;">Une preuve de plus, s&#8217;il en fallait, que la bataille du SDS/HCI est rude jusqu&#8217;à en rogner ses best practices. En effet, nous rappelons à ceux qui auraient un trou de mémoire que placer le fichier de swap d&#8217;une VM sur un stockage &#8220;thin provisioné&#8221; va à l&#8217;encontre de toutes <a href="http://www.vmware.com/pdf/Perf_Best_Practices_vSphere5.0.pdf" target="_blank">les bonnes règles de gestion</a> et <a href="https://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.resmgmt.doc/GUID-AC40823A-695B-438A-A8F2-4B7C51A0D014.html" target="_blank">d&#8217;overcommit</a>.</p>
<blockquote><p><strong> Do not store swap files on thin-provisioned LUNs</strong>. Running a virtual machine with a swap file that is stored on a thin-provisioned LUN can cause swap file growth failure, which can lead to termination of the virtual machine.</p></blockquote>
<blockquote><p>Regardless of the storage type or location used for the regular swap file, for the best performance, and to avoid the possibility of running out of space, <strong>swap files should not be placed on thin-provisioned storage</strong>.</p></blockquote>
<p>Qu&#8217;importe, ca nous arrange bien aussi et pour l&#8217;occasion nous avons fait peter un petit oneliner pour fixer la bonne valeur :</p>
<pre class="brush: powershell; title: ; notranslate">Get-VMHost|%{(Get-EsxCli -VMHost $_).system.settings.advanced.set($null,&quot;1&quot;,&quot;/VSAN/SwapThickProvisionDisabled&quot;,$null)}</pre>
<p>Et un autre pour vérifier que c&#8217;est bien appliqué :</p>
<pre class="brush: powershell; title: ; notranslate">Get-VMHost|%{(Get-EsxCli -VMHost $_).system.settings.advanced.list($null,&quot;/VSAN/SwapThickProvisionDisabled&quot;,$null)}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/SwapThickProvisionDisabled.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/SwapThickProvisionDisabled.png" alt="" width="526" height="249" /></a></p>
<p style="text-align: left;">Avec un petit coup de <a href="http://www.sexigraf.fr/vsan-sexipanels/#vsan-space-usage-report" target="_blank">SexiGraf </a>pour monitorer le tout, on est bon :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/VSAN_SwapThickProvisionDisabled.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/VSAN_SwapThickProvisionDisabled.png" alt="" width="515" height="275" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5766</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>VsanHostDecommissionMode en PowerCLI</title>
		<link>http://www.hypervisor.fr/?p=5581</link>
		<comments>http://www.hypervisor.fr/?p=5581#comments</comments>
		<pubDate>Sat, 08 Aug 2015 00:03:51 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[VSAN]]></category>
		<category><![CDATA[esxcli]]></category>
		<category><![CDATA[Get-EsxCli]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5581</guid>
		<description><![CDATA[Pour les 7 ans d&#8217;Hypervisor.fr (si,si, c&#8217;est aujourd&#8217;hui) nous vous offrons un petit onliner pour mettre en maintenance un des nœuds de votre cluster VSAN en PowerCLI, dans la lignée de nos précédents posts &#8220;vSphere sans le webclient&#8221;.
Nous étions parti pour utiliser le script disponible sur VSANTeam.info mais il est malheureusement faux car il n&#8217;inclus pas l&#8217;objet [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour les 7 ans d&#8217;<strong>Hypervisor.fr</strong> (<a href="http://www.hypervisor.fr/?p=1" target="_blank">si,si, c&#8217;est aujourd&#8217;hui</a>) nous vous offrons un petit onliner pour <strong>mettre en maintenance un des nœuds de votre cluster VSAN en PowerCLI</strong>, dans la lignée de nos précédents posts &#8220;vSphere sans le webclient&#8221;.</p>
<p style="text-align: justify;">Nous étions parti pour utiliser le script disponible sur <a href="http://vsanteam.info/maintenance-mode-using-powercli/" target="_blank">VSANTeam.info</a> mais il est malheureusement faux car il n&#8217;inclus pas l&#8217;objet <a href="http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vsan.host.DecommissionMode.ObjectAction.html" target="_blank">VsanHostDecommissionModeObjectAction</a> et donc <strong>le mode &#8220;ensureObjectAccessibility&#8221; est utilisé par défaut</strong>. Donc pour pouvoir utiliser le mode &#8220;evacuateAllData&#8221; ou &#8220;noAction&#8221; c&#8217;est comme ça qu&#8217;on fait :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType HostSystem -Filter @{&quot;Name&quot; = &quot;esx.vmware.com&quot; }|?{!$_.Runtime.InMaintenanceMode}|%{$_.EnterMaintenanceMode(0, $false, (new-object VMware.Vim.HostMaintenanceSpec -Property @{vsanMode=(new-object VMware.Vim.VsanHostDecommissionMode -Property @{objectAction=[VMware.Vim.VsanHostDecommissionModeObjectAction]::NoAction})}))}</pre>
<p>Sinon vous pouvez aussi le faire avec Get-EsxCli en vous inspirant <a href="http://www.virtuallyghetto.com/2014/07/quick-tip-steps-to-shutdownstartup-vsan-cluster-wvcenter-running-on-vsan-datastore.html" target="_blank">du post de William</a>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/vSAN.png" alt="" width="349" height="260" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5581</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SendNMI in your face</title>
		<link>http://www.hypervisor.fr/?p=5556</link>
		<comments>http://www.hypervisor.fr/?p=5556#comments</comments>
		<pubDate>Tue, 16 Jun 2015 21:54:46 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[NMI]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SDK]]></category>

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

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5229</guid>
		<description><![CDATA[MAJ 08/01/2019 :  Pour les events vCenter, il faut prefixer avec &#8220;Vim.Event.&#8221; quand on joue avec l&#8217;EventManager.
Que ce soit pour créer de nouvelles alarmes dans le vCenter ou parce que certains messages d&#8217;alerte ne sont visible que dans les logs d&#8217;ESXi, nous avions autrefois recours à la page vCenter Events de Veeam pour trouver l&#8217;inspiration. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 08/01/2019</span> :  Pour les events vCenter, il faut prefixer avec &#8220;<strong>Vim.Event.</strong>&#8221; quand on joue avec l&#8217;EventManager.</em></p>
<p style="text-align: justify;">Que ce soit pour <a href="http://www.hypervisor.fr/?p=4048" target="_blank">créer de nouvelles alarmes dans le vCenter</a> ou parce que certains messages d&#8217;alerte ne sont visible que dans les logs d&#8217;ESXi, nous avions autrefois recours à <a href="http://www.veeam.com/support/vcEvents.html">la page vCenter Events de Veeam</a> pour trouver l&#8217;inspiration. Cette page n&#8217;étant plus mise à jour depuis fin 2011, nous avons chercher à produire un page similaire pour nos propres besoins et l&#8217;avons, depuis quelques temps, mise à dispo <a href="http://www.hypervisor.fr/?page_id=382" target="_blank">dans la rubrique &#8220;Links&#8221;</a>. Voici la commande PowerCLI qui vous permettra de générer la votre depuis votre vCenter (et plugins) :</p>
<pre class="brush: powershell; title: ; notranslate">(Get-View EventManager).Description.EventInfo|select @{n=&quot;event&quot;;e={if ($_.key -match &quot;^EventEx$|^ExtendedEvent$&quot;) {$_.FullFormat.split(&quot;|&quot;)[0]} else {$_.key}}},category,description,FullFormat|Out-GridView</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vcEvents_GridView.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vcEvents_GridView.png" alt="" width="523" height="401" /></a></p>
<p style="text-align: justify;">Nous nous sommes très largement inspiré <a href="http://www.lucd.info/2009/11/18/events-dear-boy-events-part-2/" target="_blank">d&#8217;un post de Luc pour ce oneliner</a> <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: justify;">Récemment, <a href="http://www.virtuallyghetto.com/2014/04/other-handy-vsphere-vobs-for-creating-vcenter-alarms.html" target="_blank">William à posté une liste similaire issue d&#8217;un fichier disponible en clair dans les librairies d&#8217;ESXi</a> mais nous avons remarqué qu&#8217;il ne contenait pas les événements vob.* que nous pouvions trouver dans les logs. Après quelques recherches, nous avons fini par faire un coup de <a href="http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx" target="_blank">strings</a> sur le binaire <strong>/usr/lib/vmware/vob/bin/vobd</strong> (issue d&#8217;un ESXi 5.5 1331820) pour en extraire les précieux messages. Nous avons ensuite &#8220;dédoublonné&#8221; la liste obtenue (vob.vmfs.heartbeat.timedout == esx.problem.vmfs.heartbeat.timedout par exemple) pour ne garder que le différentiel :</p>
<blockquote><p>vob.net.fence.port.fail<br />
vob.net.pg.uplink.transition.down<br />
vob.net.pg.uplink.transition.up<br />
vob.net.dvport.uplink.transition.down<br />
vob.net.dvport.uplink.transition.up<br />
vob.net.uplink.watchdog.timeout<br />
vob.net.migrate.bindtovmk.failed<br />
vob.net.portset.port.connect.fail<br />
vob.net.lacp.uplink.peer.noresponse<br />
vob.scsi.scsipath.add<br />
vob.scsi.scsipath.remove<br />
vob.scsi.scsipath.por<br />
vob.scsi.scsipath.badpath.unsafepe<br />
vob.scsi.scsipath.badpath.unreachpe<br />
vob.scsi.scsipath.pathstate.dead<br />
vob.scsi.scsipath.pathstate.off<br />
vob.scsi.scsipath.pathstate.on<br />
vob.scsi.scsipath.pathstate.standby<br />
vob.iscsi.connection.started<br />
vob.iscsi.connection.stopped<br />
vob.iscsi.connection.error<br />
vob.iscsi.target.async.event<br />
vob.iscsi.session.recovery.timeout<br />
vob.iscsi.target.permanently.removed<br />
vob.iscsi.isns.discovery.error<br />
vob.vmfs.lock.corruptondisk.v2<br />
vob.user.dcui.factory.network.restored<br />
vob.user.dcui.restarting.hostagents<br />
vob.user.dcui.restore.factory.defaults<br />
vob.user.dhclient.lease.offered.noexpiry<br />
vob.user.coredump.unconfigured2<br />
vob.user.coredump.capacity.insufficient<br />
vob.user.scratch.partition.size.small<br />
vob.user.scratch.partition.unconfigured<br />
vob.user.dcui.reboot.host<br />
vob.user.dcui.shutdown.host<br />
vob.user.esxcli.host.reboot<br />
vob.user.coredump.configured2<br />
vob.cpu.mce.log<br />
vob.cpu.nmi.ipi.vmkcs<br />
vob.cpu.nmi.ipi.unknowncs<br />
vob.cpu.nmi.ipi.halt<br />
vob.cpu.nmi.ipi.savebt<br />
vob.uw.core.dumped<br />
vob.external.warning<br />
vob.external.error<br />
vob.external.info<br />
vob.user.external.warning<br />
vob.user.external.error<br />
vob.user.external.info<br />
vob.visorfs.tardisk.readonlyfile<br />
vob.vsan.pdl.offline<br />
vob.vsan.pdl.online<br />
vob.vsan.net.gotip<br />
vob.vsan.net.noip<br />
vob.vsan.rdt.noip<br />
vob.vsan.net.no.connectivity<br />
vob.vsan.net.created<br />
vob.vsan.net.reconfigured<br />
vob.vsan.cmmds.disabled<br />
vob.vsan.cmmds.unloaded<br />
vob.vsan.cmmds.enabled<br />
vob.vsan.lsom.diskerror</p></blockquote>
<p>Pour les curieux, <a href="http://files.hypervisor.fr/doc/vobd.txt" target="_blank">voici la liste originale</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5229</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>Ghetto VUM</title>
		<link>http://www.hypervisor.fr/?p=5084</link>
		<comments>http://www.hypervisor.fr/?p=5084#comments</comments>
		<pubDate>Thu, 15 May 2014 07:22:26 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[esxcli]]></category>
		<category><![CDATA[Image Builder]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[VMware Update Manager]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5084</guid>
		<description><![CDATA[Pour une raison aussi néfaste que mystérieuse et que même notre cher confrère vmdude n&#8217;a pu expliquer, nous avons &#8220;perdu&#8221; un VUM (VMware Update Manager). Plus rien, nada, que dalle, même pas de backup. Evidemment, nous ne nous en sommes rendu compte que quelques jours avant une grosse campagne de patch. Y voyant là un [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour une raison aussi néfaste que mystérieuse et que même notre cher confrère <a href="https://twitter.com/vmdude_fr" target="_blank">vmdude</a> n&#8217;a pu expliquer, nous avons &#8220;perdu&#8221; un VUM (VMware Update Manager). Plus rien, nada, que dalle, même pas de backup. Evidemment, nous ne nous en sommes rendu compte que quelques jours avant une grosse campagne de patch. Y voyant là un signe divin, nous avons pris la décision de ne pas réinstaller le composant et <strong>d&#8217;essayer de patcher cet environnement, sans VUM mais de façon totalement automatisé</strong> (~90 ESXi quand même). Et figurez vous que ça s&#8217;est très bien passé !</p>
<p style="text-align: justify;">La recette est assez simple : <a href="https://blogs.vmware.com/vsphere/2012/04/using-the-vsphere-esxi-image-builder-cli.html" target="_blank"><strong>Image Builder</strong></a> pour générer l&#8217;Offline Bundle + <a href="https://www.vmware.com/support/developer/PowerCLI/PowerCLI55/html/Get-EsxCli.html" target="_blank"><strong>Get-EsxCli</strong></a> pour l&#8217;update + <strong>Reboot</strong>. Du PowerCLI de bout en bout donc on est bon.</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/ImageBuilderArchitecture.png" alt="" width="489" height="286" /></p>
<p style="text-align: justify;">Dans notre cas, il fallait mettre à jour des serveurs HP et DELL de sorte que le résultat soit le même qu&#8217;avec la <em><a href="http://h18004.www1.hp.com/products/servers/software/vmware/esxi-image.html" target="_blank">customized ESXi image</a></em> fourni par les éditeurs. Malheureusement il est impossible d&#8217;utiliser une iso pour générer un Offline Bundle (indispensable à esxcli) et si vous vous demandez comment VUM y parvient, allez fouiller dans le répertoire /UPGRADE d&#8217;une iso d&#8217;ESXi et vous comprendrez&#8230; Pas le choix, il a fallut se taper les Bundle à la main !</p>
<p style="text-align: justify;">La toute première étape c&#8217;est évidement le choix de la version d&#8217;ESXi à atteindre (<a href="http://kb.vmware.com/kb/2055559" target="_blank">ESXi 5.0 Complete Update 3</a>) et de faire un clone de l&#8217;Image Profile afin de pouvoir le customizer en y ajoutant des packages :</p>
<pre class="brush: powershell; title: ; notranslate">Add-EsxSoftwareDepot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml</pre>
<pre class="brush: powershell; title: ; notranslate">New-EsxImageProfile -CloneProfile ESXi-5.0.0-20131002001-standard -Name &quot;VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014&quot; -Vendor &quot;Hypervisor.fr&quot;</pre>
<p>Si vous voulez voir la liste des build disponibles, l&#8217;idéal c&#8217;est un petit GridView :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_image_view.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_image_view.png" alt="" width="467" height="363" /></a></p>
<p style="text-align: justify;">Au passage, on peut apercevoir le process Image Factory Server (if-server.exe) qui fait office de moulinette :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_if-server.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_if-server.png" alt="" width="358" height="450" /></a></p>
<p style="text-align: justify;">HP propose depuis longtemps un <a href="http://vibsdepot.hp.com/" target="_blank">vibsdepot (aka HP Online Depot)</a> qui facilite grandement la tâche. Vous n&#8217;avez qu&#8217;à choisir le répertoire qui correspond à la date de l&#8217;iso (Feb2014 dans notre cas) et ajouter le dépôt (index.xml et index-drv.xml) à votre liste :</p>
<pre class="brush: powershell; title: ; notranslate">Add-EsxSoftwareDepot http://vibsdepot.hp.com/hpq/feb2014/index.xml, http://vibsdepot.hp.com/hpq/feb2014/index-drv.xml</pre>
<p style="text-align: justify;">Il faut ensuite ajouter les packages (un minimum filtrés pour éviter les insultes toutes rouge de powershell) au profil custom et l&#8217;exporter au format Bundle (.zip) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-EsxSoftwarePackage|?{$_.SourceUrls -match &quot;vibsdepot.hp.com/hpq/feb2014&quot; -and !($_.Depends -match 'vmkapi_2_[1-9]')}|Add-EsxSoftwarePackage -ImageProfile &quot;VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014&quot;</pre>
<pre class="brush: powershell; title: ; notranslate">Export-EsxImageProfile -ImageProfile &quot;VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014&quot; -ExportToBundle -FilePath &quot;C:\Temp\VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014.zip&quot;</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_HP_bundle.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_HP_bundle.png" alt="" width="478" height="418" /></a></p>
<p>Si vous voulez consulter la liste des package avant de les ajouter, encore un petit GridView :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_pkg_view.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_pkg_view.png" alt="" width="505" height="402" /></a></p>
<p style="text-align: justify;">Du coté de DELL c&#8217;est radicalement différent puisque <a href="http://vmwaredepot.dell.com/DEL/DEL-index.xml" target="_blank">leur dépôt ne contient que les vib &#8220;iDRAC Service Module&#8221; et &#8220;OpenManage&#8221;</a>. Heureusement, en fouillant un peu nous avons pu trouver <a href="ftp://ftp.dell.com/Manuals/all-products/esuprt_software/esuprt_virt_solutions/vmware-esxi-5_Reference%20Guide6_en-us.pdf" target="_blank">un pdf qui recense toutes les modifications apportées à l&#8217;iso originale de VMware</a> pour parvenir à la version customizé made in DELL. S&#8217;en suit un travail de fourmi pour retrouver tous les offline bundle associés, les télécharger et les ajouter au profil custom.</p>
<p style="text-align: justify;">Une fois que le bundle est prêt, un petit coup de Get-EsxCli pour le distribuer <a href="http://www.hypervisor.fr/?p=5012" target="_blank">sur le même principe qu&#8217;ESXCLI</a> mais a l’échelle d&#8217;un cluster :</p>
<pre class="brush: powershell; title: ; notranslate">Get-Cluster toto|Get-VMHost|%{($_|Get-EsxCli).software.profile.update($false, &quot;/vmfs/volumes/datastore/HP/VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014.zip&quot;, $true, $null, $true, $null, $null, &quot;VMware-ESXi-5.0.0-Update3-1311175-HP-5.44.21-Feb2014&quot;, $null)}</pre>
<p style="text-align: justify;">Il vous faudra évidement personnaliser <strong>le nom du cluster</strong>, <strong>le chemin du bundle</strong> ainsi que <strong>le nom du profil</strong> mais surtout changer la variable de dry run <strong>$true</strong> (celui juste après le path dans le oneliner) en $false pour effectuer la mise a jour. Ce oneliner ne fait que vérifier que la mise a jour est possible et vous permet de contrôler le process :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_get-esxcli_dryrun.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_get-esxcli_dryrun.png" alt="" width="518" height="205" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/GhettoVUM/gVUM_get-esxcli_run.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/GhettoVUM/gVUM_get-esxcli_run.png" alt="" width="518" height="205" /></a></p>
<p style="text-align: justify;">Pour plus d&#8217;informations, nous vous recommandons vivement de consulter <a href="http://www.v-front.de/2012/05/imagebuilder-deep-dive-part-3-power-of.html" target="_blank">la série de post &#8220;ImageBuilder Deep Dive&#8221; d&#8217;Andreas Peetz</a>.</p>
<p style="text-align: justify;">La touche finale c&#8217;est un oneliner qui reboot le cluster en séquentiel (DRS auto obligatoire et les ESX doivent avoir au moins 1 jour d&#8217;uptime) :</p>
<pre class="brush: powershell; title: ; notranslate">Get-Cluster toto|Get-VMHost|Get-View|?{$_.Runtime.BootTime -lt (Get-Date).adddays(-1) -and $_.Runtime.ConnectionState -eq &quot;connected&quot; -and !$_.Runtime.InMaintenanceMode}|%{$_.EnterMaintenanceMode(&quot;60&quot;,0);while (!(get-view -viewtype hostsystem -filter @{&quot;name&quot;=$_.name}).Runtime.InMaintenanceMode){sleep 15};$_.RebootHost(0);while ((get-view -viewtype hostsystem -filter @{&quot;name&quot;=$_.name}).Runtime.ConnectionState -eq &quot;connected&quot;){sleep 15};while ((get-view -viewtype hostsystem -filter @{&quot;name&quot;=$_.name}).Runtime.ConnectionState -eq &quot;notResponding&quot;){sleep 30};$_.ExitMaintenanceMode(&quot;60&quot;);while ((get-view -viewtype hostsystem -filter @{&quot;name&quot;=$_.name}).Runtime.InMaintenanceMode){sleep 15}}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5084</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Disk UUID match VMware/Windows &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=5070</link>
		<comments>http://www.hypervisor.fr/?p=5070#comments</comments>
		<pubDate>Wed, 23 Apr 2014 18:16:22 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[UUID]]></category>
		<category><![CDATA[vmdk]]></category>
		<category><![CDATA[Win32]]></category>
		<category><![CDATA[WMI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=5070</guid>
		<description><![CDATA[MAJ 21/05/2014 : Mise à jour du script (version 1.2) : Ajout de la taille des disk VMware/Windows

MAJ 25/04/2014 : Mise à jour du script (version 1.1) : A la demande express de notre ami DR, nous avons rajouté le paramètre -VIX pour faire la requête WMI via les vmtools et le paramètre -noSSO pour [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 21/05/2014</span> : Mise à jour du script (version 1.2) : Ajout de la taille des disk VMware/Windows</em></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_grid_size.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_grid_size.png" alt="" width="500" height="334" /></a></p>
<p style="text-align: justify;"><span style="color: #ff0000;">MAJ 25/04/2014</span><span style="font-style: italic;"> : Mise à jour du script (version 1.1) : A la demande express de notre ami DR, nous avons rajouté </span><strong>le paramètre -VIX pour faire la requête WMI via les vmtools</strong><span style="font-style: italic;"> et le paramètre -noSSO pour spécifier des credentials autre que ceux de votre session courante. A ce propos, et à notre plus grande surprise, </span><strong>la cmdlet Invoke-VMScript semble dorénavant supporter le SSO </strong><span style="font-style: italic;">donc si votre compte AD à les bons droits sur le vCenter et dans le GuestOS, plus besoin du paramètre &#8220;GuestCredential&#8221; pour faire du VIX !</span></p>
<p style="text-align: center;"><em><em><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/VIX_SSO.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/VIX_SSO.png" alt="" width="510" height="193" /></a><br />
</em></em></p>
<p style="text-align: justify;">Lorsqu&#8217;on vous demande de retirer quelques disques d&#8217;une VM Windows qui en possède une cinquantaine, c&#8217;est généralement le début d&#8217;une longue chasse où on essaye de faire correspondre <a href="http://kb.vmware.com/kb/2021947" target="_blank">les id scsi</a>, <a href="http://kb.vmware.com/kb/2051606" target="_blank">les contrôleurs</a> ou les tailles de volume quand on est vraiment au bout du rouleau&#8230;</p>
<p style="text-align: justify;">Il y a bien <a href="https://communities.vmware.com/docs/DOC-12180" target="_blank">des scripts PowerCLI</a> pour surmonter la tâche mais l&#8217;élément de référence est toujours l&#8217;<strong>id scsi</strong> ce qui pose parfois des problèmes comme ça l&#8217;à été pour nous lors d&#8217;une opération similaire :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/disk_mgmt_win_disk.png" title="disk_mgmt_win_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5072" title="disk_mgmt_win_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/disk_mgmt_win_disk-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/scsi_id_win_disk.png" title="scsi_id_win_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5073" title="scsi_id_win_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/scsi_id_win_disk-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/scsi_id_vm_disk.png" title="scsi_id_vm_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5074" title="scsi_id_vm_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/scsi_id_vm_disk-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: justify;"><a href="http://kb.vmware.com/kb/2051606">Une kb VMware</a> décrit comment faire une correspondance via le device manager de windows (et non pas le disk manager) mais où il faut chercher à la main la propriété &#8220;location&#8221; qui correspond au contrôleur scsi :</p>
<blockquote><p>To correlate the virtual device node SCSI controller to the Windows drive letter. Each controller increments by 32.<br />
The first SCSI controller is given a location ID of 160. Therefore the second controller is 192, 224 for the third and 256 for the fourth.</p></blockquote>
<p style="text-align: justify;">Nous vous laissons apprécier l&#8217;ampleur de la tache lorsqu&#8217;on a plusieurs disques à détacher :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/dev_mgmt_win_disk.png" title="dev_mgmt_win_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5075" title="dev_mgmt_win_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/dev_mgmt_win_disk-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/scsi_location_win_disk.png" title="scsi_location_win_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5076" title="scsi_location_win_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/scsi_location_win_disk-150x150.png" alt="" width="150" height="150" /></a> <a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/scsi_dev_win_disk.png" title="scsi_dev_win_disk" rel="lightbox[5070]"><img class="alignnone size-thumbnail wp-image-5077" title="scsi_dev_win_disk" src="http://www.hypervisor.fr/wp-content/uploads/2014/04/scsi_dev_win_disk-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">
<p>En cherchant un peu sérieusement, nous avons trouver un point commun parfaitement identique entre Hard disk et PHYSICALDRIVE : l&#8217;<strong><a href="http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/vim.vm.device.VirtualDisk.FlatVer2BackingInfo.html" target="_blank">UUID</a></strong> (ou SerialNumber sous Windows). Un petit coup de PowerCLI plus tard, on obtient un beau tableau pour faire la correspondance sans risque (avec le chemin du vmdk en bonus) :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_grid.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_grid.png" alt="" width="452" height="433" /></a></p>
<p style="text-align: justify;"><strong>Les prérequis du script sont que vous soyez connecté au bon vcenter et que vous puissiez accéder en WMI à la VM en question</strong> (si le FQDN de la vm ne correspond pas à son nom, il faut utiliser le paramètre -winname). Le paramètre -grid controle la sortie dans un GridView pour ceux qui n&#8217;aime par le style CLI :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_cli.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap_cli.png" alt="" width="422" height="386" /></a></p>
<p style="text-align: center;">
<div class="wp-caption aligncenter" style="width: 110px"><a href="http://files.hypervisor.fr/img/Get-VMWinUUIDMap/Get-VMWinUUIDMap.ps1" target="_blank"><img class="  " title="Get-VMWinUUIDMap" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">Get-VMWinUUIDMap</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=5070</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>#QuickDasAutoSlotSize Failover Capacity (Planning)</title>
		<link>http://www.hypervisor.fr/?p=5004</link>
		<comments>http://www.hypervisor.fr/?p=5004#comments</comments>
		<pubDate>Tue, 24 Dec 2013 17:16:10 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[capacity planning]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[FDM]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[Noël]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

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

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

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4930</guid>
		<description><![CDATA[Nous découvrons par hasard l&#8217;existence  du paramètre &#8220;-kill&#8221; de la cmdlet Stop-VM :

Indicates that you want to stop the specified virtual machines by terminating their processes running on the ESX. You can use this parameter to stop a virtual machine that is not responding and cannot be stopped or restarted in other ways.

Cela ressemble fortement [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous découvrons par hasard l&#8217;existence  du paramètre &#8220;-kill&#8221; de la cmdlet <a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.powercli.cmdletref.doc/Stop-VM.html" target="_blank">Stop-VM</a> :</p>
<blockquote>
<p style="text-align: justify;">Indicates that you want to stop the specified virtual machines by terminating their processes running on the ESX. You can use this parameter to stop a virtual machine that is not responding and cannot be stopped or restarted in other ways.</p>
</blockquote>
<p style="text-align: justify;">Cela ressemble fortement à un kill des process vmx dans un <a href="http://kb.vmware.com/kb/1014165" target="_blank">shell, via esxtop ou esxcli</a> mais nécessiterai d’être connecté à l&#8217;ESXi plutôt qu&#8217;au vcenter :</p>
<blockquote>
<p style="text-align: justify;">To use the Kill parameter, you need to have a direct connection to ESX 4.1 or later.</p>
</blockquote>
<p style="text-align: justify;">Mais une fois de plus le <a href="http://en.wikipedia.org/wiki/Monkey_test" target="_blank">monkey test</a> à payé, nous testons la commande en étant connecté au vcenter et ça marche. la vm est littéralement killée sans aucune tache apparente dans le vcenter ni sur l&#8217;ESX et HA la restart :</p>
<p style="text-align: center;"><img class="aligncenter" src="http://files.hypervisor.fr/img/stop-vm/stop-vm-kill-cli.png" alt="" width="497" height="131" /></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/stop-vm/stop-vm-kill-ha.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/stop-vm/stop-vm-kill-ha.png" alt="" width="529" height="340" /></a></p>
<p style="text-align: justify;">Nous avons également vérifié avec Wireshark qu&#8217;aucune communication n&#8217;avait lieu entre le client PowerCLI et l&#8217;ESXi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4930</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La (vraie) recette du stretched cluster avec VMware HA</title>
		<link>http://www.hypervisor.fr/?p=4878</link>
		<comments>http://www.hypervisor.fr/?p=4878#comments</comments>
		<pubDate>Wed, 25 Sep 2013 07:20:50 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[DRP]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[PowerCLI]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4878</guid>
		<description><![CDATA[Le stretched cluster c&#8217;est un peu l&#8217;ultime fantasme de tous les admin VMware car il permet de couvrir le crash d&#8217;un serveur ou d&#8217;un site avec un seul et même design.
Malheureusement, si vous ne voulez pas investir dans une solution telle que SRM, Zerto ou VPLEX ou encore si vous aspirez à plus de simplicité, le [...]]]></description>
			<content:encoded><![CDATA[<p>Le stretched cluster c&#8217;est un peu l&#8217;ultime fantasme de tous les admin VMware car il permet de <strong>couvrir le crash d&#8217;un serveur ou d&#8217;un site avec un seul et même design</strong>.</p>
<p style="text-align: justify;">Malheureusement, si vous ne voulez pas investir dans une solution telle que <a href="http://www.vmware.com/files/pdf/techpaper/Stretched_Clusters_and_VMware_vCenter_Site_Recovery_Manage_USLTR_Regalix.pdf">SRM</a>, <a href="http://www.zerto.com/">Zerto</a> ou <a href="http://www.emc.com/collateral/software/white-papers/h11065-vplex-with-vmware-ft-ha.pdf" target="_blank">VPLEX</a> ou encore si vous aspirez à plus de simplicité, le failback des VM peut rapidement se transformer en cauchemar (register de vmx à la main par exemple). En effet, depuis vSphere 5.0, <strong>HA (aka FDM) est capable à lui seul d&#8217;assurer le redémarrage des VM (failover) dans un stretched cluster</strong> tant que le stockage d&#8217;un site est répliqué sur l&#8217;autre site et présenté aux ESX après un crash (extrais tiré de <a href="http://www.hypervisor.fr/?page_id=2748" target="_blank">VMware vSphere 5 Clustering Technical Deepdive</a>) :</p>
<blockquote>
<p style="text-align: justify;">The master [agent] will also attempt to take ownership of any datastores it discovers along the way, and it will periodically retry any it could not take ownership of previously.</p>
</blockquote>
<p style="text-align: justify;">Il est donc possible d&#8217;envisager un cluster étendu sur 2 sites où HA serait capable de redémarrer les VM d&#8217;un site crashé après une simple manipulation coté stockage. Après de nombreux tests, il s&#8217;avère que cette solution est parfaitement fonctionnelle mais elle souffre néanmoins d&#8217;un gros problème : le failback. En effet, lorsqu&#8217;il est question de renvoyer les VM sur leur site initial, <strong>il est nécessaire d’arrêter les VM pour re-synchroniser le stockage</strong> et redémarrer les VM sur le site primaire. Lors de cette opération, on se retrouve inévitablement confronté à des VM &#8220;<strong><em>inaccessible</em></strong>&#8221; :</p>
<p style="text-align: justify;"><a href="http://files.hypervisor.fr/img/Stretched_Cluster/failback_inaccessible.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/Stretched_Cluster/failback_inaccessible.png" alt="" width="258" height="226" /></a></p>
<p style="text-align: justify;">A partir de ce moment, il n&#8217;est plus possible de faire autre chose que <strong>d’enregistrer les VM manuellement sur un des ESX (directement)</strong> du site primaire et laisser l&#8217;agent vpx faire le reste. Evidemment, c&#8217;est l&#8217;un des pires scénarios mais il existe des solutions comme celle de faire un storage vmotion pour déplacer les VM sur un autre espace de stockage avant de faire les opérations sur les baies mais bien qu&#8217;il soit possible de faire le failback à chaud dans ce cas, il faut prévoir un espace supplémentaire non négligeable et trop de manipulations à nos yeux.</p>
<p style="text-align: justify;">Après avoir travaillé un certain temps sur le sujet avec notre ami <a href="http://www.vmdude.fr/" target="_blank">vmdude.fr</a>, nous avons trouvé LA solution la plus élégante pour qu&#8217;un passage en production soit envisageable. Elle nécessite quelques manipulations simples et parfaitement scriptables. A vrai dire, la solution était sous notre nez depuis le début et existe depuis longtemps car utilisé dans un autre cas de figure. Il y a même de forte chance pour que vous vous en soyez déjà servi une fois&#8230; <strong>Lorsqu&#8217;une VM est configurée pour ne pas être redémarrée par HA, elle apparaît comme &#8220;disconnected&#8221; tant que l&#8217;ESX n&#8217;est pas redémarré (lui <span style="text-decoration: line-through;">aussi</span> est <span style="text-decoration: line-through;">&#8220;disconnected&#8221; d&#8217;ailleurs</span> &#8220;not responding&#8221;) et dans cet état, vous pouvez démarrer cette VM car vcenter va automatiquement enregistrer la VM ailleurs alors qu&#8217;il ne peut plus communiquer avec l&#8217;ESX pour &#8220;unregister&#8221; la VM</strong>. Nous avons donc utiliser cette fonctionnalité pour &#8220;cacher&#8221; au vcenter les manipulations de stockage en regroupant les VM sur un ESX que l&#8217;on déconnectera avant. Ouvrez grand les yeux :</p>
<p><iframe frameborder="0" width="480" height="270" src="http://www.dailymotion.com/embed/video/x14xa33?autoPlay=1&#038;logo=on&#038;forcedQuality=hd720"></iframe></p>
<p style="text-align: justify;">La liste des commandes PowerCLI utilisées est disponible <a href="http://files.hypervisor.fr/doc/drp_scsi_cmd.txt" target="_blank">ici</a>, elles doivent évidement être modifiées pour correspondre à votre environnement (nom de cluster, ESX et resource pool). Voici un récapitulatif des étapes post crash :</p>
<ul>
<li><strong><span style="color: #ff0000;">&lt;==failover==&gt;</span></strong></li>
<li><em><span style="color: #808080;">présentation du stockage aux ESX</span></em></li>
<li>montage des snapshot VMFS ou des shares NFS</li>
<li><strong><span style="color: #ff0000;">&lt;==failback==&gt;</span></strong></li>
<li>shutdown des VM</li>
<li>move des VM sur l&#8217;ESX helper</li>
<li>enter maintenance mode de l&#8217;ESX helper</li>
<li>disconnect de l&#8217;ESX helper</li>
<li>*disable SIOC*</li>
<li>démontage des snapshot VMFS (ou des share NFS)</li>
<li><em><span style="color: #888888;">failover du stockage</span></em></li>
<li>Power on des VM</li>
<li>reconnect de l&#8217;ESX helper</li>
<li>exit maintenance mode de l&#8217;ESX helper</li>
</ul>
<p style="text-align: justify;">Une autre solution consiste à présenter un petit espace temporairement à tous les ESX (un share NFS est ideal dans ce cas) afin d&#8217;y déplacer uniquement la &#8220;home&#8221; de la VM (vmx, log, etc&#8230;) avec un svmotion scripté afin d’éviter l&#8217;état &#8220;inaccessible&#8221; et pouvoir facilement redémarrer les VM après la re-synchronisation du stockage. L&#8217;avantage est qu&#8217;il n&#8217;est pas nécessaire de &#8220;sacrifier&#8221; un ESX mais cela rajoute des manipulations au PRA et un espace de stockage à gérer en plus.</p>
<p style="text-align: center;"><a href="http://frankdenneman.nl/2012/12/05/overlapping-drs-vm-host-affinity-rule-in-a-vsphere-stretched-cluster/" target="_blank"><img class="aligncenter" src="http://frankdenneman.nl/wp-content/uploads/2012/12/00-Stretched-cluster-architecture.png" alt="" width="504" height="195" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4878</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Différentiel de vib par cluster &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=4880</link>
		<comments>http://www.hypervisor.fr/?p=4880#comments</comments>
		<pubDate>Thu, 19 Sep 2013 17:39:48 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[esxcli]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[vib]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4880</guid>
		<description><![CDATA[MAJ 03/10/2015 : mise à jour du script (version 1.2) correction de bug et ajout sur GitHub.
MAJ 10/10/2013 : mise à jour du script (version 1.1) correction de bug.
Après avoir fait des tests de drivers Emulex sur un cluster, nous avons voulu savoir quelle version de la vib lpfc820 était installée sur chaque host. Pas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><em><span style="color: #ff0000;">MAJ 03/10/2015</span> : mise à jour du script (version 1.2) correction de bug et ajout sur GitHub.</em></em></p>
<p style="text-align: justify;"><em><em><span style="color: #ff0000;">MAJ 10/10/2013</span> : mise à jour du script (version 1.1) correction de bug.</em></em></p>
<p style="text-align: justify;">Après avoir fait des tests de drivers Emulex sur un cluster, nous avons voulu savoir quelle version de la vib lpfc820 était installée sur chaque host. Pas évident même avec VUM, nous avons donc fait un petit coup de get-esxcli sur tous les ESX pour comparer la list mais bon voila, c&#8217;était pas pratique non plus. Au passage, nous nous sommes aperçu que certaines vib du constructeur n&#8217;étaient pas à la même version sur tous les serveurs. On a dû faire chauffer le notepad++ !</p>
<p style="text-align: justify;">Voici donc un script de <strong>reporting de vib</strong> qui renvoi la liste des serveurs dont certaines vib sont différentes de la majorité du cluster :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vibdiffview.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vibdiffview.png" alt="" width="501" height="494" /></a></p>
<p style="text-align: left;">Vous avez la possibilité d&#8217;utiliser les paramètres suivants :</p>
<ul>
<li>cluname : nom du cluster dont sera tirée la liste des ESX connectés au vcenter</li>
<li>fullviblist : 1 renvoi une liste non filtrée dans un out-gridview</li>
<li>compactviblist : 1 renvoi une liste filtrée (ESX et vib)</li>
<li>compactviblistout : &#8220;csv&#8221; ou &#8220;view&#8221; pour avoir la liste en csv ou dans un out-gridview plutot quand dans la console</li>
</ul>
<p>Vous pouvez l’exécuter sur plusieurs cluster grâce à une simple boucle :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vibdiffclusters.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vibdiffclusters.png" alt="" width="466" height="114" /></a></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/vibdiffconsole.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/vibdiffconsole.png" alt="" width="468" height="115" /></a></p>
<p style="text-align: justify;">En mode compacte, seules les vib qui comportent une différence sont remontées et la colonne &#8220;<strong>majority</strong>&#8221; représente le serveur de référence (un de ceux qui ont exactement les mêmes vib et à la même version). Le symbole <strong>==</strong> indique que la version de la vib est identique à la vib de la majorité.</p>
<div class="wp-caption aligncenter" style="width: 110px"><a href="https://github.com/v-team/powercli-toolbox/blob/master/get-clustervibdiff.ps1" target="_blank"><img class="  " title="get-vibdiff" src="http://files.hypervisor.fr/img/super_mario_piranha_plant.png" alt="" width="100" height="100" /></a><p class="wp-caption-text">get-vibdiff</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4880</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VM Latency Sensitivity : same feature, shoot again!</title>
		<link>http://www.hypervisor.fr/?p=4278</link>
		<comments>http://www.hypervisor.fr/?p=4278#comments</comments>
		<pubDate>Mon, 16 Sep 2013 06:07:46 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Bullshit]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>

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

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4745</guid>
		<description><![CDATA[Suite à la publication de l’excellent Understanding VMware vSphere 5.1 Storage DRS rédigé (et surtout illustré) par Frank Denneman, nous nous permettons une petite remarque au sujet de la réactivité de SDRS lors du dépassement du seuil de remplissage. Dans le white paper, on peut lire ceci :
vSphere Storage DRS attempts to avoid an out-of-space situation [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Suite à la publication de l’excellent <a href="http://www.vmware.com/resources/techresources/10363" target="_blank">Understanding VMware vSphere 5.1 Storage DRS</a> rédigé (et surtout illustré) par Frank Denneman, nous nous permettons une petite remarque <strong>au sujet de la réactivité de SDRS lors du dépassement du seuil de remplissage</strong>. Dans le white paper, on peut lire ceci :</p>
<blockquote><p>vSphere Storage DRS attempts to avoid an out-of-space situation and therefore runs a load-balancing operation <strong>as soon as</strong> the datastore exceeds its space-utilization threshold. <strong>This operation can be outside of the normal load-balancing interval of every 8 hours</strong>.</p></blockquote>
<p style="text-align: justify;">La première phrase est aussi intéressante qu&#8217;imprécise. On y apprend que la réaction est immédiate mais aussi qu&#8217;elle dépend de vCenter. Et suite à une batterie de tests sur différents environnement (5.0 et 5.1), nous avons remarqué que la fréquence de rafraîchissement de cette information dans vCenter n&#8217;est malheureusement que d&#8217;<strong>une (1) fois toutes les 30 minutes au mieux</strong>. (on soupçonne un algorithme basé sur l&#8217;utilisation du datastore mais visiblement pas encore très efficace). Pour le vérifier, rien de tel qu&#8217;un petit oneliner de PowerCLI qui check la propriété info.timestamp des datastores :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType datastore -property info,name,summary|?{$_.summary.accessible}|select name,{$_.info.timestamp.ToLocalTime()}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/datastore_timestamp.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/datastore_timestamp.png" alt="" width="496" height="222" /></a></p>
<p style="text-align: justify;">On constate donc qu&#8217;un des pilier de SDRS repose sur une donnée dont la fiabilité peut malheureusement varier et dont la fraîcheur peut laisser à désirer même dans le cas des 30 minutes. En attendant que ça bouge coté VMware, voici un workaround (<a href="http://kb.vmware.com/kb/2008367" target="_blank">nettement moins dingue que celui d&#8217;une certaine kb</a>), qui consiste à forcer le refresh rapide à votre convenance <strong>sans que la tache n&#8217;apparaisse dans le vCenter</strong> (<a href="http://vijava.sourceforge.net/vSphereAPIDoc/ver51/ReferenceGuide/vim.Datastore.html#refresh" target="_blank">merci le SDK</a>). Dans notre exemple, refresh de tous les datastores dont la propriété info.timestamp serait &#8220;veille&#8221; de plus de 5 minutes :</p>
<pre class="brush: powershell; title: ; notranslate">Get-View -ViewType datastore -property info,summary|?{$_.summary.accessible}|?{($(get-date) - $_.info.timestamp.ToLocalTime()).TotalMinutes -gt 5}|%{$_.RefreshDatastore()}</pre>
<p>La seconde phrase de la citation, c&#8217;est un RTFM politiquement correct pour ceux qui font encore l&#8217;amalgame entre les 8h d&#8217;intervales de l&#8217;<strong>I/O load balancing</strong> et le <strong>Space-Utilization Load Balancing</strong>.</p>
<p><img class="aligncenter" src="http://files.hypervisor.fr/img/vmware_sdrs.jpg" alt="" width="500" height="277" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4745</wfw:commentRss>
		<slash:comments>0</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>
	</channel>
</rss>
