<?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; SIOC</title>
	<atom:link href="http://www.hypervisor.fr/?feed=rss2&#038;tag=sioc" 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>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>vSphere 5.1 sans le webclient : automatic SIOC</title>
		<link>http://www.hypervisor.fr/?p=4264</link>
		<comments>http://www.hypervisor.fr/?p=4264#comments</comments>
		<pubDate>Sun, 07 Oct 2012 14:31:17 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[IORM]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[webclient]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=4264</guid>
		<description><![CDATA[Juste avant de s&#8217;envoler pour le vmworld 2012 EMEA avec LE vmdude (encore merci à VMware et John Troyer pour le blogger pass), nous vous lâchons un autre petit oneliner PowerCLI pour vous passer encore un peu plus du webclient. Aujourd&#8217;hui, il sera question du mode automatique de IORM SIOC :

Get-Datastore vsp50sas01&#124;Get-View&#124;?{$_.Summary.Accessible -eq $true -and $_.Capability.StorageIORMSupported -and [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Juste avant de s&#8217;envoler pour le vmworld 2012 EMEA avec LE <a href="https://twitter.com/#!/vmdude_fr" target="_blank">vmdude</a> (encore merci à VMware et <a href="https://twitter.com/jtroyer" target="_blank">John Troyer</a> pour le blogger pass), nous vous lâchons un autre petit oneliner PowerCLI pour vous passer encore un peu plus du webclient. Aujourd&#8217;hui, il sera question du mode automatique de <span style="text-decoration: line-through;">IORM</span> SIOC :</p>
<p><a href="http://files.hypervisor.fr/img/automatic_SIOC.png"><img class="aligncenter" src="http://files.hypervisor.fr/img/automatic_SIOC.png" alt="" width="527" height="363" /></a></p>
<pre class="brush: powershell; title: ; notranslate">Get-Datastore vsp50sas01|Get-View|?{$_.Summary.Accessible -eq $true -and $_.Capability.StorageIORMSupported -and $_.Summary.MultipleHostAccess}|%{(Get-View (Get-View ServiceInstance).Content.StorageResourceManager).ConfigureDatastoreIORM_Task($_.MoRef, (New-Object VMware.Vim.StorageIORMConfigSpec -Property @{enabled=&quot;1&quot;; congestionThresholdMode=&quot;automatic&quot;; percentOfPeakThroughput=&quot;90&quot;; statsAggregationDisabled=&quot;0&quot;; statsCollectionEnabled=&quot;1&quot;}))}</pre>
<p style="text-align: justify;">Ce oneliner permet, en plus <a href="http://www.hypervisor.fr/?p=3014" target="_blank">d&#8217;activer SIOC</a> en mode automatique, de jouer sur la proprieté &#8220;percentOfPeakThroughput&#8221; (90% par défaut), décrite dans le &#8220;<a href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vSphere-51-Storage-Technical-Whitepaper.pdf" target="_blank">What’s New in VMware vSphere 5.1 – Storage</a>&#8221; :</p>
<p style="text-align: justify;"><img class="aligncenter" src="http://files.hypervisor.fr/img/SIOC_peak.png" alt="" width="181" height="322" /></p>
<blockquote>
<p style="text-align: justify;">The latency threshold is set to the value determined by the I/O injector (a part of SIOC). When the I/O injector calculates the peak throughput, it then finds the 90 percent throughput value and measures the latency at that point to determine the threshold.</p>
</blockquote>
<p style="text-align: justify;">De plus, dans la GUI, &#8220;Exclude I/O statistics from SDRS&#8221; correspond à la propriété &#8220;<a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vim.StorageResourceManager.IORMConfigInfo.html#statsAggregationDisabled" target="_blank">StatsAggregationDisabled</a>&#8220;. Et &#8220;<a href="http://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/vim.StorageResourceManager.IORMConfigInfo.html#statsCollectionEnabled" target="_blank">StatsCollectionEnabled</a>&#8221; vous permettra de désactiver le mode &#8220;stats only&#8221; si vous êtes certain que le datastore ne fera jamais parti d&#8217;un <span style="text-decoration: line-through;">storage POD</span> datastore cluster et que vous souhaitez alléger votre VCDB.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=4264</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PSH] Les alarmes de datastore qui manquent à vCenter (par cluster)</title>
		<link>http://www.hypervisor.fr/?p=4039</link>
		<comments>http://www.hypervisor.fr/?p=4039#comments</comments>
		<pubDate>Fri, 10 Aug 2012 07:09:04 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[SAN]]></category>
		<category><![CDATA[SIOC]]></category>
		<category><![CDATA[vCenter]]></category>
		<category><![CDATA[VMFS]]></category>

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

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3683</guid>
		<description><![CDATA[/!\ Attention /!\ : Ce post comporte des oneliner de plusieurs milliers de caractères qui pourraient heurter la sensibilité des jeunes scripteurs.
Ceux qui, comme nous, espéraient la voir arriver avec vSphere 5 ont été déçu. L&#8217;alarme de latence de datastore n’existe pas encore, pas en GUI du moins. Et pour cause, les compteurs de latence ne sont disponibles qu&#8217;au travers [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong>/!\ Attention /!\ : Ce post comporte des oneliner de <strong><span style="color: #ff0000;">plusieurs milliers de caractères</span></strong> qui pourraient heurter la sensibilité des jeunes scripteurs.</strong></p>
<p style="text-align: justify;">Ceux qui, comme nous, espéraient la voir arriver avec vSphere 5 ont été déçu. <strong>L&#8217;alarme de latence de datastore n’existe pas encore</strong>, pas en GUI du moins. Et pour cause, <a href="http://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.wssdk.apiref.doc_50/datastore_counters.html" target="_blank">les compteurs de latence ne sont disponibles qu&#8217;au travers des objets VirtualMachine ou HostSystem (et HostSystem uniquement pour les compteurs SIOC)</a>. Nous vous avions proposé <a href="http://www.hypervisor.fr/?p=2468" target="_blank">une solution de contournement</a>, en PowerCLI évidement, grâce au compteur maxTotalLatency mais il restait encore à trouver quel datastore avait déclenché l&#8217;alarme.</p>
<p style="text-align: justify;">Aujourd&#8217;hui nous vous proposons une série de oneliner qui vont créer (si elles n’existent pas déjà, ce qui veut dire que vous pouvez les utiliser en tache planifiée) <strong>des alarmes pour chaque datastore </strong><strong>(instance = UUID)</strong><strong> qui se déclencheront si les seuils de latence fixés sont atteint sur un ESX</strong>. Attention ça pique.</p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé NFS</strong>, yellow 300ms/5min et red 500ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.nas})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore RW latency&quot;;Description = &quot;Custom alarm to monitor NFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;300&quot;;YellowInterval = &quot;300&quot;;Red = &quot;500&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) RW latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_nfs_latency.png" alt="" width="462" height="90" /></a></p>
<p>Alarme de <strong>latence Read ou Write pour datastore partagé VMFS</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.info.vmfs})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore RW latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore RW latency&quot;;Description = &quot;Custom alarm to monitor VMFS $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) read or write latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalReadLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;});(New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;totalWriteLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) RW latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p>Alarme de <strong>latence SIOC Normalized Latency pour datastore partagé</strong>, yellow 30ms/5min et red 40ms/3min (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($dsname in (Get-View -ViewType datastore|?{$_.summary.Accessible -and $_.summary.MultipleHostAccess -and $_.IormConfiguration.Enabled})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$($dsname.name) datastore SIOC Normalized Latency&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$($dsname.name) datastore SIOC Normalized Latency&quot;;Description = &quot;Custom alarm to monitor $($dsname.name) ($($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)) datastore SIOC Normalized Latency&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;datastore&quot;}|?{$_.nameinfo.key -match &quot;sizeNormalizedDatastoreLatency&quot;}|?{$_.RollupType -match &quot;average&quot;}).key;Instance = ($dsname|%{$_.Host}|%{$_.MountInfo.Path.split(&quot;/&quot;)[-1]}|sort -unique)});Operator = &quot;isAbove&quot;;Yellow = &quot;30000&quot;;YellowInterval = &quot;300&quot;;Red = &quot;40000&quot;;RedInterval = &quot;180&quot;;Type = &quot;HostSystem&quot;}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$($dsname.name) SIOC Normalized Latency&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $false}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_SIOC_latency.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_SIOC_latency.png" alt="" width="514" height="194" /></a></p>
<p>Bonus : Alarme de <strong>Disk Command aborts pour datastore VMFS partagé</strong>, en cas de défaillance/saturation DAS/SAN/iSCSI (mailto:admin@vmware.local) :</p>
<pre class="brush: powershell; title: ; notranslate">foreach ($diskname in (Get-View -ViewType datastore|?{$_.info.vmfs -and $_.summary.Accessible -and $_.summary.MultipleHostAccess}|%{$_.info.vmfs.extent}|%{$_.diskname})){if (!((Get-View AlarmManager).GetAlarm((Get-Folder -NoRecursion |Get-View).moref)|?{(get-view $_).info.name -match &quot;$diskname Disk Command aborts&quot;})){(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = &quot;$diskname Disk Command aborts&quot;;Description = &quot;Custom alarm to monitor $diskname Disk Command aborts&quot;;Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = (New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match &quot;disk&quot;}|?{$_.nameinfo.key -match &quot;commandsAborted&quot;}|?{$_.GroupInfo.Key -ne &quot;virtualDisk&quot;}|?{$_.RollupType -match &quot;summation&quot;}).key;Instance = $diskname});Operator = &quot;isAbove&quot;;Yellow = &quot;1&quot;;Red = &quot;2&quot;;Type = &quot;HostSystem&quot;})});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = &quot;admin@vmware.local&quot;;Subject = &quot;$diskname Disk Command aborts&quot;;CcList = &quot;&quot;;Body = &quot;&quot;});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;green&quot;;FinalState = &quot;yellow&quot;;Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = &quot;yellow&quot;;FinalState = &quot;red&quot;;Repeats = $true}))})});ActionFrequency = &quot;1800&quot;}))}}</pre>
<p style="text-align: center;"><a href="http://files.hypervisor.fr/img/oneliner/alarm_command_abort.png" target="_blank"><img class="aligncenter" src="http://files.hypervisor.fr/img/oneliner/alarm_command_abort.png" alt="" width="482" height="246" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3683</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>[PSH] OneLiner pour activer Storage IO Control &#8211; MAJ</title>
		<link>http://www.hypervisor.fr/?p=3014</link>
		<comments>http://www.hypervisor.fr/?p=3014#comments</comments>
		<pubDate>Sun, 29 May 2011 22:33:20 +0000</pubDate>
		<dc:creator>NiTRo</dc:creator>
				<category><![CDATA[Kb]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[IORM]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[PowerCLI]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[SIOC]]></category>

		<guid isPermaLink="false">http://www.hypervisor.fr/?p=3014</guid>
		<description><![CDATA[MAJ 21/12/2011 : Rajout des filtres &#8220;Accessible&#8221; et &#8220;IormConfiguration.Enabled&#8221;
MAJ 01/06/2011 : Rajout du filtre &#8220;MultipleHostAccess&#8221; pour éviter l&#8217;activation de SIOC sur du DAS
Si vous devez activer Storage I/O Control (aka IORM) sur les datastores d&#8217;un cluster, vous ne sauriez opérer autrement qu&#8217;avec un bon script ou mieux, avec un petit oneliner bien mijoté (et comme souvent, inspiré d&#8217;un post [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 21/12/2011</span> : Rajout des filtres &#8220;Accessible&#8221; et &#8220;IormConfiguration.Enabled&#8221;</em></p>
<p style="text-align: justify;"><em><span style="color: #ff0000;">MAJ 01/06/2011</span> : Rajout du filtre &#8220;MultipleHostAccess&#8221; pour éviter l&#8217;activation de SIOC sur du DAS</em></p>
<p style="text-align: justify;">Si vous devez activer <a href="http://www.vmware.com/files/pdf/techpaper/VMW-vSphere41-SIOC.pdf" target="_blank">Storage I/O Control</a> (aka IORM) sur les datastores d&#8217;un cluster, vous ne sauriez opérer autrement qu&#8217;avec un bon script ou mieux, avec un petit oneliner bien mijoté (et comme souvent, <a href="http://www.lucd.info/2010/10/20/automate-sioc/" target="_blank">inspiré d&#8217;un post de Luc</a>) :</p>

<div class="wp_syntax"><div class="code"><pre class="powershell" style="font-family:monospace;">Get<span style="color: pink;">-</span>VMHost <span style="color: pink;">-</span>location <span style="color: #800000;">&quot;MonBeauCluster&quot;</span><span style="color: pink;">|</span>Get<span style="color: pink;">-</span>Datastore<span style="color: pink;">|</span>Get<span style="color: pink;">-</span>View<span style="color: pink;">|?</span><span style="color: #000000;">&#123;</span><span style="color: #000080;">$_</span>.Summary.Accessible <span style="color: #FF0000;">-eq</span> <span style="color: #800080;">$true</span> <span style="color: #FF0000;">-and</span> <span style="color: #000080;">$_</span>.Capability.StorageIORMSupported <span style="color: #FF0000;">-and</span> <span style="color: #000080;">$_</span>.Summary.MultipleHostAccess <span style="color: #FF0000;">-and</span> <span style="color: #000080;">$_</span>.IormConfiguration.Enabled <span style="color: #FF0000;">-ne</span> <span style="color: #800080;">$true</span><span style="color: #000000;">&#125;</span><span style="color: pink;">|%</span><span style="color: #000000;">&#123;</span><span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>View <span style="color: #000000;">&#40;</span>Get<span style="color: pink;">-</span>View ServiceInstance<span style="color: #000000;">&#41;</span>.Content.StorageResourceManager<span style="color: #000000;">&#41;</span>.ConfigureDatastoreIORM_Task<span style="color: #000000;">&#40;</span><span style="color: #000080;">$_</span>.MoRef<span style="color: pink;">,</span><span style="color: #000000;">&#40;</span><span style="color: #008080; font-weight: bold;">New-Object</span> VMware.Vim.StorageIORMConfigSpec <span style="color: #008080; font-style: italic;">-Property</span> <span style="color: pink;">@</span><span style="color: #000000;">&#123;</span>enabled<span style="color: pink;">=</span><span style="color: #800000;">&quot;1&quot;</span>;congestionThreshold<span style="color: pink;">=</span><span style="color: #800000;">&quot;25&quot;</span><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#125;</span></pre></div></div>

<p style="text-align: justify;">La valeur par défaut de la variable <strong>congestionThreshold </strong>est &#8220;30&#8243; mais peut être tuné en fonction de la nature du stockage (fixée à &#8220;25&#8243; dans notre oneliner), comme détaillé dans le pdf linké en début de post.</p>
<p style="text-align: justify;">Et pour ceux que ça intéresse, la kb <a href="http://kb.vmware.com/kb/1022091" target="_blank">Troubleshooting Storage I/O Control</a> précise quelques points importants (ainsi que le la façon d&#8217;obtenir les logs de SIOC) :</p>
<ul>
<li>Before enabling SIOC, ensure that datastores are managed by a single vCenter Server.</li>
<li>[...] <strong>if the number of hosts connected to the datastore has changed since enabling SIOC</strong> [...]</li>
</ul>
<p style="text-align: center;"><a href="http://www.vmware.com/products/storage-io-control/overview.html"><img class="aligncenter" src="http://www.vmware.com/files/images/storageio-diagram-large.jpg" alt="" width="384" height="288" /></a></p>
<p style="text-align: left;">Et pour ceux qui veulent savoir comment ça marche, direction les sessions Technology and Architecture du vmworld 2010 : <a href="http://www.vmworld.com/docs/DOC-5117" target="_blank">Prioritizing Storage Resource Allocation in ESX Based Virtual Environments Using Storage I/O Control</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hypervisor.fr/?feed=rss2&amp;p=3014</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
