<?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; HA</title>
	<atom:link href="http://www.hypervisor.fr/?feed=rss2&#038;tag=ha" 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>#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>VMware HA datastore proxy</title>
		<link>http://www.hypervisor.fr/?p=4944</link>
		<comments>http://www.hypervisor.fr/?p=4944#comments</comments>
		<pubDate>Tue, 03 Dec 2013 08:31:22 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[datastore heartbeat]]></category>
		<category><![CDATA[FDM]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[hidden feature]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4944</guid>
		<description><![CDATA[Pendant le setupage du premier super stretched cluster maison en production avec notre cher confrère vmdude.fr, ce dernier a émis une judicieuse remarque sur la possibilité que notre design rende impossible le fonctionnement de Datastore Heartbeat:

When the master host in a vSphere HA cluster can not communicate with a slave host over the management network, the master [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pendant le <em>setupage</em> du premier <a href="http://www.hypervisor.fr/?p=4878" target="_blank">super stretched cluster maison</a> en production avec notre cher confrère <a href="http://www.vmdude.fr/" target="_blank">vmdude.fr</a>, ce dernier a émis une judicieuse remarque sur la possibilité que notre design rende impossible le fonctionnement de <a href="http://pubs.vmware.com/vsphere-50/topic/com.vmware.vsphere.avail.doc_50/GUID-0502B198-F5F7-4101-969C-C5B6F364C678.html" target="_blank">Datastore Heartbeat</a>:</p>
<blockquote>
<p style="text-align: justify;">When the master host in a vSphere HA cluster can not communicate with a slave host over the management network, <strong>the master host uses datastore heartbeating</strong> to determine whether the slave host has failed, is in a network partition, or is network isolated.</p>
</blockquote>
<p style="text-align: justify;"><strong>Mais qu&#8217;en est il lorsque le master n&#8217;a pas accès au datastore en question ? </strong>C&#8217;est après une bonne séance de tests, en isolant volontairement un ESX du réseau de management, avec décorticage de logs que nous avons trouvé la réponse:</p>
<pre class="brush: bash; title: ; notranslate">
17:31:25.502Z [...] Marking slave host-145 as unreachable
17:31:25.502Z [...] [ClusterDatastore::RemoveMountHost] No longer proxying through host-145 for /vmfs/volumes/404021e9-b4550ea3
17:31:25.502Z [...] Releasing datastore /vmfs/volumes/404021e9-b4550ea3
17:31:25.502Z [...] [InventoryManagerImpl::NotifyDatastoreUnlockedLocally] Invoked for datastore (/vmfs/volumes/404021e9-b4550ea3).
[...]
[...]
17:31:26.513Z [...] [ClusterDatastore::CheckMasterDatastore] Acquiring remote datastore /vmfs/volumes/404021e9-b4550ea3
17:31:26.513Z [...] AcquireViaSlave: Selected slave host-240
17:31:26.513Z [...] AcquireViaSlave: Acquiring from slave host-240
[...]
[...]
17:31:26.614Z [...] [ClusterManagerImpl::ProcessAcquireDatastoreReply] path /vmfs/volumes/404021e9-b4550ea3
[...]
[...]
17:31:30.549Z [...] [ClusterSlave::UnreachableCheck] Waited 5 seconds for icmp ping reply for host host-145
17:31:30.549Z [...] [ClusterSlave::UnreachableCheck] Checking for Partition
[...]
[...]
17:32:08.803Z [...] [ClusterDatastore::ProcessReadHBReply] Failure for /vmfs/volumes/404021e9-b4550ea3 from slave host-240
17:32:08.803Z [...] [ClusterDatastore::UpdateSlaveHeartbeats] (NFS) host-145 @ host-145 is ALIVE
</pre>
<p style="text-align: justify;">Notre interprétation est que l&#8217;ESX que nous avons volontairement isolé (host-145) avait été désigné &#8220;proxy&#8221; car il avait accès à des datastores que le master ne pouvait pas atteindre. Lorsqu&#8217;il n&#8217;a plus été joignable, <strong>un autre slave (host-240) à été choisi pour remonter les informations de datastore heartbeating au master</strong> pouvant ainsi déterminer si le slave (host-145) était mort ou isolé . Grace à <a href="https://twitter.com/DuncanYB" target="_blank">Duncan Epping</a>, nous en avons eu la confirmation :</p>
<blockquote>
<p style="text-align: justify;"><strong>The proxying is designed for a situation where the master cannot see a specific datastore, but slaves can</strong>. In that case the proxy service is used by the master to allow certain actions to take place.</p>
</blockquote>
<p style="text-align: left;"><a href="http://files.hypervisor.fr/img/Stretched_Cluster/datastore_proxy.gif" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/Stretched_Cluster/datastore_proxy.gif" alt="" width="507" height="372" /></a></p>
<p style="text-align: justify;">Conclusion, même dans un cluster où la moitié des ESX ne sont pas connectés aux datastores de l&#8217;autre moitié, <strong>FDM est capable d&#8217;utiliser un (ou plusieurs ?) slave en tant que proxy pour assurer les fonctions du master</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4944</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stretched Cluster for Dummies</title>
		<link>http://www.hypervisor.fr/?p=4940</link>
		<comments>http://www.hypervisor.fr/?p=4940#comments</comments>
		<pubDate>Tue, 26 Nov 2013 11:39:17 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[FDM]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[SRM]]></category>
		<category><![CDATA[Visio]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4940</guid>
		<description><![CDATA[Pour ceux qui auraient besoin d&#8217;expliquer à leur DSI le design que nous avons détaillé dans notre précédent post, voici le fichier powerpoint (avec les commentaires) qui vous sauvera.

Vous avez probablement remarqué la ressemblance frappante avec les schémas de Frank Denneman et c&#8217;est tout à fait voulu. Frank a en effet démontré depuis longtemps l’intérêt [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Pour ceux qui auraient besoin d&#8217;expliquer à leur DSI le design que nous avons détaillé dans <a href="http://www.hypervisor.fr/?p=4878" target="_blank">notre précédent post</a>, voici <a href="http://files.hypervisor.fr/doc/StretchedCluster/VMware%20HA%20Stretched%20Cluster.ppt" target="_blank">le fichier powerpoint (avec les commentaires)</a> qui vous sauvera.</p>
<p><a href="http://files.hypervisor.fr/doc/StretchedCluster/VMware%20HA%20Stretched%20Cluster.ppt"><img class="aligncenter" src="http://files.hypervisor.fr/doc/StretchedCluster/StretchedCluster_S0_small.gif" alt="" width="364" height="506" /></a></p>
<p style="text-align: justify;">Vous avez probablement remarqué la ressemblance frappante avec les schémas de <a href="https://twitter.com/FrankDenneman" target="_blank">Frank Denneman</a> et c&#8217;est tout à fait voulu. <a href="http://frankdenneman.nl/2013/02/01/10-guidelines-for-creating-good-looking-diagrams/" target="_blank">Frank a en effet démontré depuis longtemps l’intérêt de ces schémas ultra épurés</a> avec le moins de texte possible et des couleurs très soft. D&#8217;ailleurs, c&#8217;est nettement plus dur à faire qu&#8217;il n&#8217;y parait&#8230;</p>
<p>Nous avons également produit <a href="http://files.hypervisor.fr/doc/StretchedCluster/VMware%20HA%20Stretched%20Cluster.pdf" target="_blank">une version pdf sans commentaires</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4940</wfw:commentRss>
		<slash:comments>4</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>[PSH] HA AutoSlotSize &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=4283</link>
		<comments>http://www.hypervisor.fr/?p=4283#comments</comments>
		<pubDate>Sun, 21 Oct 2012 22:37:14 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[slot size]]></category>
		<category><![CDATA[webclient]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4283</guid>
		<description><![CDATA[MAJ 21.02.2013 : Ajout de filtres pour les hosts vide afin d’éviter les divisions par 0.
MAJ 06.02.2013 : Debug des scripts.
MAJ 22.11.2012 : Nous avons oublié de préciser que pour que le script fonctionne correctement, le &#8220;statistic level&#8221; pour l&#8217;intervale de 5 minutes doit être à 2 minimum :

MAJ 23.10.2012 : Ajout d&#8217;un filtre dans les scripts [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 21.02.2013</span> : Ajout de filtres pour les hosts vide afin d’éviter les divisions par 0.</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 06.02.2013</span> : Debug des scripts.</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 22.11.2012</span> : Nous avons oublié de préciser que pour que le script fonctionne correctement, le &#8220;statistic level&#8221; pour l&#8217;intervale de 5 minutes doit être à <strong>2 minimum</strong> :</em></p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/AutoSlotSize/ha_stats.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_stats.png" alt="" width="238" height="231" /></a></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 23.10.2012</span> : Ajout d&#8217;un filtre dans les scripts pour ne modifier le(s) cluster que si nécéssaire.</em></p>
<p style="text-align: justify;">Suite au post de Frank &#8220;distributed&#8221; Denneman traitant du sujet délicat des HA slot size &#8220;<a href="http://frankdenneman.nl/vmware/ha-admission-control-is-not-a-capacity-management-tool/" target="_blank">HA admission control is not a capacity management tool</a>&#8220;, nous avons dépoussiéré une vieille idée de script de <strong>configuration automatique des &#8220;slot size&#8221;</strong> (mémoire et cpu) d&#8217;un cluster HA pour en faire un bon petit oneliner. L&#8217;idée est <strong>forcer le &#8220;slot size&#8221; à une valeur reflétant une vm moyenne du cluster</strong> afin de savoir approximativement la &#8220;<em>place</em>&#8221; restante dans le cluster et surtout pouvoir vraiment tirer parti de l&#8217;alarme &#8220;<a href="http://kb.vmware.com/kb/1001596">insufficient resources to satisfy HA failover level</a>&#8220;</p>
<p style="text-align: justify;">Nous avons fais nos tests sur un cluster de 6 ESXi 4.1 (4&#215;4 cores 2.3Ghz &amp; 64Go de RAM) contenant <strong>environ 150 VM sans réservations</strong>. Par défaut, voici ce qu&#8217;HA remonte comme information dans le vCenter :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_panel_default.png" alt="" width="404" height="180" /></p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_runtime_default.png" alt="" width="299" height="319" /></p>
<p style="text-align: justify;">Ces informations sont totalement erronés étant donné que le cluster est presque plein (en tenant compte du N-1 pour HA) mais c&#8217;est le comportement attendu d&#8217;HA lorsque les VM n&#8217;ont pas de réservations (l&#8217;overhead est pris en compte). On notera que le nombre de vcpu correspond à la plus grosse vm.</p>
<p style="text-align: justify;">Voici ce qu&#8217;HA remonte après avoir passé notre script :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_panel_auto.png" alt="" width="404" height="180" /></p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_runtime_auto.png" alt="" width="299" height="319" /></p>
<p style="text-align: justify;">On est nettement plus proche de la vérité. Le calcul pour <strong>le cpu est la moyenne d&#8217;utilisation journalière par vm démarrée, idem pour les vcpu</strong> mais pour la ram nous avons du faire un choix pas trop optimiste (active memory) ni trop optimiste (consumed memory). Nous avons donc choisi de prendre <strong>la valeur médiane entre active et consumed</strong><strong> (moyene journalière)</strong>. Voici le résultat sur une journée de stat sur notre cluster de test :</p>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/AutoSlotSize/memory_usage_summary.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/memory_usage_summary.png" alt="" width="516" height="356" /></a></p>
<p style="text-align: justify;">Idéalement, ce script est donc à lancée une fois par jour. Voici la version pour vSphere 4.x (filtré par cluster où HA est activé) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($cluster in (get-view -viewtype ClusterComputeResource -property Host,ConfigurationEx|?{$_.ConfigurationEx.DasConfig.Enabled})) {,($cluster.host|%{get-view $_ -property runtime,vm}|?{$_.Runtime.ConnectionState -match &quot;^connected$&quot;}|?{($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})}|select @{n=&quot;mem&quot;;e={(($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;active$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}) + ($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;consumed$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}))/2}}, @{n=&quot;cpu&quot;;e={($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;cpu&quot;}|?{$_.nameinfo.key -match &quot;usagemhz&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count})}}, @{n=&quot;vcpu&quot;;e={(($_.vm|%{get-view $_ -property Runtime,Config}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|%{$_.Config.Hardware.NumCpu}|measure -average).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) {$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()});(New-Object VMware.Vim.OptionValue -property @{key=&quot;das.SlotNumVCpus&quot;;value=$_[2].tostring()}))})}),$true)}}}</pre>
<p style="text-align: justify;">Pour vSphere 5.0, <a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vim.cluster.DasFailoverLevelAdvancedRuntimeInfo.SlotInfo.html" target="_blank">le nombre de vcpu ne rentre plus en comptre pour le calcul du slot size</a>, nous avons donc adapté le script en conséquence :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($cluster in (get-view -viewtype ClusterComputeResource -property Host,ConfigurationEx|?{$_.ConfigurationEx.DasConfig.Enabled})) {,($cluster.host|%{get-view $_ -property runtime,vm}|?{$_.Runtime.ConnectionState -match &quot;^connected$&quot;}|?{($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})}|select @{n=&quot;mem&quot;;e={(($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;active$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}) + ($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;consumed$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}))/2}}, @{n=&quot;cpu&quot;;e={($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;cpu&quot;}|?{$_.nameinfo.key -match &quot;usagemhz&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count})}}|measure -average -property mem,cpu|%{[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) {$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>
<blockquote><p>As of vSphere API 5.0, the number of vcpus is no longer used for slot calculations</p></blockquote>
<p>Pour vSphere 5.1, le slot size est maintenant configurable dans via la GUI du web client (et donc de nouvelles propriétés sont disponibles) mais on va le faire en PowerCLI quand même <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: powershell; title: ; notranslate">foreach ($cluster in (get-view -viewtype ClusterComputeResource -property Host,ConfigurationEx|?{$_.ConfigurationEx.DasConfig.Enabled})) {,($cluster.host|%{get-view $_ -property runtime,vm}|?{$_.Runtime.ConnectionState -match &quot;^connected$&quot;}|?{($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})}|select @{n=&quot;mem&quot;;e={(($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;active$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}) + ($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;mem&quot;}|?{$_.nameinfo.key -match &quot;consumed$&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count/1kb}))/2}}, @{n=&quot;cpu&quot;;e={($_|%{((get-view (Get-View ServiceInstance).content.PerfManager).QueryPerf((New-Object VMware.Vim.PerfQuerySpec -property @{entity = $_.moref;format = &quot;normal&quot;;IntervalId = &quot;300&quot;;MetricId = (New-Object VMware.Vim.PerfMetricId -property @{instance = &quot;&quot;;counterId = (((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;cpu&quot;}|?{$_.nameinfo.key -match &quot;usagemhz&quot;}|?{$_.RollupType -match &quot;average&quot;}).key)})}))|%{$_.value}|%{$_.value}|measure -Average).average/(($_.vm|%{get-view $_ -property Runtime}|?{$_.Runtime.PowerState -eq &quot;poweredon&quot;})|measure).count})}}|measure -average -property mem,cpu|%{[math]::round($_.average,0)})|%{if (($_|measure -Sum).sum -ne (@($cluster.ConfigurationEx.DasConfig.AdmissionControlPolicy.SlotPolicy.Memory, $cluster.ConfigurationEx.DasConfig.AdmissionControlPolicy.SlotPolicy.Cpu)|measure -Sum).sum) {$cluster.ReconfigureComputeResource((New-Object VMware.Vim.ClusterConfigSpecEx -property @{dasConfig=((New-Object VMware.Vim.ClusterDasConfigInfo -property @{admissionControlPolicy=((New-Object VMware.Vim.ClusterFailoverLevelAdmissionControlPolicy -property @{slotPolicy=(New-Object VMware.Vim.ClusterFixedSizeSlotPolicy -property @{cpu = $_[1];memory = $_[0]});FailoverLevel = $cluster.ConfigurationEx.DasConfig.AdmissionControlPolicy.FailoverLevel}))}))}),$true)}}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/AutoSlotSize/ha_slotsize_vsp51.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/AutoSlotSize/ha_slotsize_vsp51.png" alt="" width="485" height="328" /></a></p>
<p style="text-align: justify;">Ceux qui ont l&#8217;oeil auront certainement remarqué l&#8217;usage d&#8217;une &#8220;multidimensional array&#8221; (<a href="http://stackoverflow.com/questions/9669683/powershell-implementation-to-pipe-array-into-command" target="_blank">aka nested array</a>) dans nos oneliner pour faire passer des tableaux au travers d&#8217;un pipe sans en changer le type.</p>
<p style="text-align: justify;">Pour plus d&#8217;information sur HA, nous vous conseillons vivement la lecture de la série <a href="http://www.hypervisor.fr/?page_id=2748" target="_blank">&#8220;Clustering Deepdive&#8221; de Duncan et Frank</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4283</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[PSH] DasConfigInfo.HostMonitoring en OneLiner</title>
		<link>http://www.hypervisor.fr/?p=3328</link>
		<comments>http://www.hypervisor.fr/?p=3328#comments</comments>
		<pubDate>Tue, 27 Sep 2011 15:19:09 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3328</guid>
		<description><![CDATA[En vue d&#8217;une maintenance réseau, vous pourrez être amené à désactiver la fonction HostMonitoring d&#8217;HA comme le recommande VMware :
When making changes to the networks that your clustered ESX/ESXi hosts are on, VMware recommends that you suspend the Host Monitoring feature.
Nous vous recommandons pour cela notre petit OneLiner PowerCLI maison :

Get-View -ViewType ClusterComputeResource&#124;%&#123;$_.ReconfigureComputeResource_Task&#40;&#40;New-Object VMware.Vim.ClusterConfigSpecEx -Property @&#123;DasConfig=&#40;New-Object VMware.Vim.ClusterDasConfigInfo -Property @&#123;HostMonitoring=&#34;disabled&#34;&#125;&#41;&#125;&#41;, $true&#41;&#125;

Vous trouverez [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">En vue d&#8217;une maintenance réseau, vous pourrez être amené à désactiver la fonction HostMonitoring d&#8217;HA <a href="http://pubs.vmware.com/vsphere-esx-4-1/availability_guide/c_customha_bestprac_net.html" target="_blank">comme le recommande VMware</a> :</p>
<blockquote><p>When making changes to the networks that your clustered ESX/ESXi hosts are on, VMware recommends that you suspend the Host Monitoring feature.</p></blockquote>
<p style="text-align: justify;">Nous vous recommandons pour cela notre petit OneLiner PowerCLI maison :</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>View <span style="color: pink;">-</span>ViewType ClusterComputeResource<span style="color: pink;">|%</span><span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.ReconfigureComputeResource_Task<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span><span style="color: #008080; font-weight: bold;">New-Object</span> VMware.Vim.ClusterConfigSpecEx <span style="color: #008080; font-style: italic;">-Property</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span>DasConfig<span style="color: pink;">=</span><span style="color: #000000;">&#40;</span><span style="color: #008080; font-weight: bold;">New-Object</span> VMware.Vim.ClusterDasConfigInfo <span style="color: #008080; font-style: italic;">-Property</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span>HostMonitoring<span style="color: pink;">=</span><span style="color: #800000;">&quot;disabled&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: pink;">,</span> <span style="color: #800080;">$true</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#125;</span></pre></div></div>

<p>Vous trouverez facilement la commande inverse <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3328</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HA : liste des Primary Nodes en powershell &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=1320</link>
		<comments>http://www.hypervisor.fr/?p=1320#comments</comments>
		<pubDate>Wed, 28 Oct 2009 16:24:51 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=1320</guid>
		<description><![CDATA[MAJ 28/09/2009 : William Lam vient de mettre à dispo l&#8217;équivalent de notre script en perl pour les aficionados de vMA. Nous en profitions pour etoffer le resultat avec les ConfigState et les RuntimeState.
Alors qu&#8217;avec les API du visdk 2.5 il n&#8217;était pas possible de communiquer avec les agents AAM (cluster HA), celle du visdk [...]]]></description>
			<content:encoded><![CDATA[<p><em><span style="color: #ff0000;">MAJ 28/09/2009</span> : William Lam vient de mettre à dispo <a href="http://communities.vmware.com/docs/DOC-11054">l&#8217;équivalent de notre script en perl</a> pour les aficionados de vMA. Nous en profitions pour etoffer le resultat avec les ConfigState et les RuntimeState.</em></p>
<p>Alors qu&#8217;avec les API du <a href="http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/">visdk 2.5</a> il n&#8217;était pas possible de communiquer avec les agents AAM (cluster HA), celle du <a href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/index.html">visdk 4.0</a> (aka vSphere API 4.0) permettent d&#8217;obtenir quelques infos intéressantes. L&#8217;une d&#8217;elles l&#8217;est particulièrement puisqu&#8217;elle permet de lister les primary nodes d&#8217;un cluster HA :</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>View <span style="color: pink;">-</span>ViewType ClusterComputeResource <span style="color: pink;">-</span><span style="color: #0000FF;">filter</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span><span style="color: #800000;">&quot;name&quot;</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;clustername&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span>.RetrieveDasAdvancedRuntimeInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>.DasHostInfo.PrimaryHosts</pre></div></div>

<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2009/10/HApsh.jpg" title="HApsh" rel="lightbox[1320]"><img class="aligncenter size-full wp-image-1331" title="HApsh" src="http://www.hypervisor.fr/wp-content/uploads/2009/10/HApsh.jpg" alt="HApsh" width="430" height="300" /></a></p>
<p style="text-align: left;">

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>View <span style="color: pink;">-</span>ViewType ClusterComputeResource <span style="color: pink;">-</span><span style="color: #0000FF;">filter</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span><span style="color: #800000;">&quot;name&quot;</span> <span style="color: pink;">=</span> <span style="color: #800000;">&quot;clustername&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span>.RetrieveDasAdvancedRuntimeInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>.DasHostInfo.HostDasState <span style="color: pink;">|</span> <span style="color: #008080; font-weight: bold;">select</span> Name<span style="color: pink;">,</span>ConfigState<span style="color: pink;">,</span>RuntimeState</pre></div></div>

<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2009/10/HApshinfo.jpg" title="HApshinfo" rel="lightbox[1320]"><img class="aligncenter size-full wp-image-1334" title="HApshinfo" src="http://www.hypervisor.fr/wp-content/uploads/2009/10/HApshinfo.jpg" alt="HApshinfo" width="485" height="120" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=1320</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>AAM Cli : Augmenter le Nb de Primary Nodes</title>
		<link>http://www.hypervisor.fr/?p=1008</link>
		<comments>http://www.hypervisor.fr/?p=1008#comments</comments>
		<pubDate>Tue, 11 Aug 2009 21:40:45 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[HA]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=1008</guid>
		<description><![CDATA[Contrairement à ce que nous espérions, le mode de fonctionnement du Cluster HA de VMware n&#8217;a pas évolué avec l&#8217;arrivée d&#8217;ESX(i) 4. Le nombre de Primary Nodes est toujours limité à 5 et un cluster qui perdrait tous ses Primary Nodes se verrait toujours dans l&#8217;impossibilité de redémarrer ses VM sur ses Secondary Nodes.
Derrière &#8220;VMware [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hypervisor.fr/?p=511">Contrairement à ce que nous espérions</a>, le mode de fonctionnement du Cluster HA de VMware n&#8217;a pas évolué avec l&#8217;arrivée d&#8217;ESX(i) 4. Le nombre de Primary Nodes est toujours limité à 5 et un cluster qui perdrait tous ses Primary Nodes se verrait toujours dans l&#8217;impossibilité de redémarrer ses VM sur ses Secondary Nodes.</p>
<p>Derrière &#8220;VMware HA&#8221; se cache la solution Legato AAM (Automated Availability Manager) acquise par EMC en 2003. Cette solution de cluster possède un mode Cli qui permet de nombreuses opérations manuelles dont la manipulation des rôles des différents noeuds.</p>
<p><a href="http://www.yellow-bricks.com/2009/08/07/primary-and-secondary-nodes-pick-one/">C&#8217;est Duncan qui nous a offert, la semaine dernière, l&#8217;ultime commande pour dépasser la limite des 5 Primary Nodes !</a></p>
<p>Impossible de résister à la tentation :</p>
<p><a href="http://www.hypervisor.fr/wp-content/uploads/2009/08/aam_all_running.jpg" title="aam_all_running" rel="lightbox[1008]"><img class="aligncenter size-full wp-image-1010" title="aam_all_running" src="http://www.hypervisor.fr/wp-content/uploads/2009/08/aam_all_running.jpg" alt="" width="500" height="304" /></a></p>
<p>Nous n&#8217;avons pas  (encore) pu vérifier si les rôles étaient <strong>vraiment </strong>assurés mais la communication entre les agents semblent correcte.</p>
<p><span style="color: #ff0000;">/!\ Cette manipulation n&#8217;est évidement <strong>PAS </strong>supportée par VMware /!\</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=1008</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les (vilains) secrets de VMware High Availability (HA)</title>
		<link>http://www.hypervisor.fr/?p=511</link>
		<comments>http://www.hypervisor.fr/?p=511#comments</comments>
		<pubDate>Tue, 17 Feb 2009 01:09:00 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[HA]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=511</guid>
		<description><![CDATA[MAJ 28/08/2011 : FDM (Fault Domain Manager) change complément la donne et ce même pour les cluster en 3.5, vous trouverez l&#8217;architecture de fonctionnement sur le blog de Duncan.
En suivant une discussion sur le blog de Duncan Epping (Senior PSO Consultant chez VMware) concernant le design d&#8217;un cluster HA répartie sur 2 châssis de lames, nous somme tombés sur un [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 28/08/2011</span> : FDM (Fault Domain Manager) change complément la donne et ce même pour les cluster en 3.5, vous trouverez <a href="http://www.yellow-bricks.com/2011/07/22/ha-architecture-series-fdm-15/" target="_blank">l&#8217;architecture de fonctionnement sur le blog de Duncan</a>.</em></p>
<p style="text-align: justify;">En suivant une discussion sur le blog de <a href="http://www.yellow-bricks.com/2009/02/09/blades-and-ha-cluster-design/">Duncan Epping</a> (Senior PSO Consultant chez VMware) concernant le design d&#8217;un cluster HA répartie sur 2 châssis de lames, nous somme tombés sur un post <a href="http://www.yellow-bricks.com/vmware-high-availability-deepdiv/">détaillant le fonctionnement précis de VMware High Availability (HA)</a>. Duncan nous a autorisé à le traduire.</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha.jpg" title="ha" rel="lightbox[511]"><img class="size-medium wp-image-512 aligncenter" title="ha" src="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha-300x237.jpg" alt="" width="300" height="237" /></a></p>
<p style="text-align: justify;">Avec les dernières version d&#8217;ESX 3.5 &amp; VirtualCenter 2.5, un cluster HA peut contenir 32 nœuds maximum. Contrairement à un cluster XenServer (par exemple&#8230;), les différents noeuds d&#8217;un cluster HA n&#8217;ont pas besoin d&#8217;un quorum pour communiquer entre eux. Cet avantage, on le paye forcement d&#8217;un inconvénient&#8230;</p>
<p style="text-align: justify;"><span id="more-511"></span></p>
<p style="text-align: justify;">En fait, les nœuds d&#8217;un cluster HA ne communiquent pas totalement entre eux : Les 5 premiers (tant qu&#8217;ils restent <em>online</em>) serveurs  ajoutés au cluster (<em>primary nodes</em>) se communiquent, via le réseau, les réglages du cluster, leurs état et l&#8217;état des autres serveurs (<em>secondary nodes</em>). Les autres serveurs (1 à 27) communiquent leur état aux <em>primary nodes</em>. Tout cela chaque seconde (valeur par défaut, modifiable via l&#8217;option <em>das.failuredetectioninterval</em>).</p>
<p style="text-align: justify;">L&#8217;un des 5 <em>primary nodes</em> assume le rôle de <em>fail-over coordinator</em> qui coordonnera le redémarrage des vm d&#8217;un ou des nœuds HS. Les VM sont redémarrées dans l&#8217;ordre où elles ont été coupées (priorité prise en compte).</p>
<p style="text-align: justify;">Malheureusement, un nœud primaire n&#8217;est re-promu que si le nœud HS est placé en <em>maintenance mode</em> ou retiré du cluster. Par conséquent, si les 5 nœuds primaires &#8220;tombent&#8221; aucune vm ne sera redémarrée car aucun  <em>fail-over coordinator </em>ne sera disponible pour gerer cette action.</p>
<p style="text-align: justify;">C&#8217;est pour cette raison qu&#8217;il est impossible de fixer la tolérance du cluster à plus de 4 nœuds :</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha_settings.jpg" title="ha_settings" rel="lightbox[511]"><img class="size-medium wp-image-514 aligncenter" title="ha_settings" src="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha_settings-300x247.jpg" alt="" width="300" height="247" /></a></p>
<p style="text-align: justify;">Conséquence : En considerant un cluster de 32 nœuds répartis sur 2 châssis (16+16), il est probable que les 5 primary nodes soient dans le même châssis.</p>
<p style="text-align: justify;">le fichier /var/log/vmware/aam/aam_config_util_listnodes.log contient la liste des nœuds et leur type (primary ou secondary) :</p>
<p style="text-align: center;"><a href="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha_nodes.jpg" title="ha_nodes" rel="lightbox[511]"><img class="size-medium wp-image-513 aligncenter" title="ha_nodes" src="http://www.hypervisor.fr/wp-content/uploads/2009/02/ha_nodes-300x185.jpg" alt="" width="300" height="185" /></a></p>
<p style="text-align: justify;">La ré-élection d&#8217;un <em>primary node</em> étant aléatoire, jouer avec le <em>maintenance mode</em> risque de vous faire perdre la tête, même si c&#8217;est la seule solution pour forcer un changement de type.</p>
<p style="text-align: justify;">Ducan suggère une alternative plus sûre qui consiste à créer de plus petit clusters (dans notre cas, 4x 8 nœuds) et de les répartir sur les 2 châssis. Le but étant de diminuer la probabilité que plus de 4 nœuds &#8220;tombent&#8221; simultanément.</p>
<p style="text-align: justify;">ESX 4 nous fera peut etre grace d&#8217;une alternative plus techniquement correct&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=511</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>VMware DPM en Vidéo</title>
		<link>http://www.hypervisor.fr/?p=317</link>
		<comments>http://www.hypervisor.fr/?p=317#comments</comments>
		<pubDate>Thu, 06 Nov 2008 12:43:21 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[DPM]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[HA]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=317</guid>
		<description><![CDATA[yellow-bricks a déniché une vidéo sur la fonction (toujours en statut expérimental) Distributed Power Management. 55% d&#8217;économie d&#8217;énergie.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.yellow-bricks.com/2008/11/05/vmware-distributed-power-mgmt-dpm-lets-do-it/">yellow-bricks</a> a déniché une vidéo sur la fonction (toujours en statut expérimental) Distributed Power Management. 55% d&#8217;économie d&#8217;énergie.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/7CbRS0GGuNc&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/7CbRS0GGuNc&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=317</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VirtualCenter 2.5 Update 3 &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=184</link>
		<comments>http://www.hypervisor.fr/?p=184#comments</comments>
		<pubDate>Tue, 07 Oct 2008 22:35:56 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[ESX]]></category>
		<category><![CDATA[HA]]></category>
		<category><![CDATA[VirtualCenter]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=184</guid>
		<description><![CDATA[MAJ 11/10/2008 : VMware à corrigé sa page concernant l&#8217;option das.bypassNetCompatCheck mais ce paramettre ne semble pas être fonctionnelle. C&#8217;est d&#8217;autant plus gênant qu&#8217;avec un VC Update 1 le problème ne se posait pas. Par chance, Duncan Epping de chez VMware à accepté de nous prêter main forte&#8230; Wait &#38; See.
MAJ 20/10/2008 : L&#8217;erreur n&#8217;était [...]]]></description>
			<content:encoded><![CDATA[<p><em><span style="color: #ff0000;">MAJ 11/10/2008</span></em> <em>: VMware à corrigé sa page concernant l&#8217;option das.bypassNetCompatCheck mais ce paramettre ne semble pas être fonctionnelle. C&#8217;est d&#8217;autant plus gênant qu&#8217;avec un VC Update 1 le problème ne se posait pas. Par chance, <a href="http://www.yellow-bricks.com/">Duncan Epping</a> de chez VMware à accepté de nous prêter main forte&#8230; Wait &amp; See.</em></p>
<p><em><span style="color: #ff0000;">MAJ 20/10/2008</span></em> <em>: L&#8217;erreur n&#8217;était pas dans le paramettre mais dans la valeur, c&#8217;est &#8220;true&#8221; ou &#8220;false&#8221; qu&#8217;il faut utiliser. <a href="http://www.yellow-bricks.com/2008/10/07/release-notes-vc-u3/#comment-1299">Merci Peter <img src='http://www.hypervisor.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </a></em></p>
<p>VMware vient de rendre disponible l&#8217;Update 3 (build 119598) de VirtualCenter.</p>
<p>Entre autres correctif de bugs, cette update permettra de désactiver (via l&#8217;option <a href="http://www.yellow-bricks.com/2008/10/07/release-notes-vc-u3/">das.bypassNetCompatCheck</a> et non <del datetime="2008-10-09T17:56:04+00:00"><a href="http://www.vmware.com/support/vi3/doc/vi3_vc25u3_rel_notes.html">das.bypassNetworkVerification</a></del>) le &#8220;HA network compliance check&#8221; instauré par l&#8217;Update 2 forçant les membres d&#8217;un cluster HA à avoir une configuration réseau identique pour les Service Console.</p>
<p><a href="http://www.hypervisor.fr/wp-content/uploads/2008/10/dasbypassnetworkverification_true.jpg" title="dasbypassnetworkverification_true" rel="lightbox[184]"><img class="aligncenter size-medium wp-image-221" title="dasbypassnetworkverification_true" src="http://www.hypervisor.fr/wp-content/uploads/2008/10/dasbypassnetworkverification_true-242x300.jpg" alt="" width="242" height="300" /></a></p>
<p>Autre correctif intéressant, <a href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1006848">celui du bug de &#8220;Guest customization&#8221;</a> qui permet de lancer un sysprep sur environnement Windows après déploiement de template, clone ou P2V. En effet, un VC 2.5 mis à jour en Update 2 ne lançait plus le sysprep dans la vm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=184</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
