LUN RoundRobin SwitchPath Zähler ändern mit Powershell

Nun beschleunigen wir den Wechsel des Device Adapters mit Powershell.

VMware wechselt bei RoundRobin standartmässig nach 1000 IOPS den Adapter, was bei grösseren Paketen ein gewisses Klumpenrisiko darstellen kann. Dell und auch viele andere Hersteller empfehlen deshalb, die Rate zu reduzieren. Einige Hersteller empfehlen den Wert von 1000 auf 1 zu setzen, bei Dell ist die Empfehlung von 1000 auf 3.

Da nimt man sich wieder mal die PowerCLI zur Hand.

Wieder binden wir die PowerCLI ein, wenn man mit dem ISE arbeiten möchte:

Import-Module VMware.VimAutomation.Core

Anschliessend verbinden wir uns auf den gewünschten Host:

Connect-VIServer 'HOSTNAME'

Um einen Überblick zu bekommen, welche Devices mit welchem Parameter ausgestattet ist, kann mit diesem Befehl eine Liste erzeugt werden:

Get-VMHost | Get-ScsiLun -LunType disk | Where-Object {$_.MultipathPolicy -eq 'RoundRobin'} | Select-Object CanonicalName,ConsoleDeviceName,LunType,CapacityGB,MultipathPolicy,CommandsToSwitchPath | FT

Das Ergebnis zeigt, sofern nichts geändert wurde, dass alle nach RoundRobin geänderten Devices nach 1000 IOPS den Pfad ändern.

Nun ändern wir auf den Devices den Wert für unser Equalogic von 1000 auf 3:

Get-VMHost | Get-ScsiLun -LunType disk | Where-Object {$_.MultipathPolicy -eq 'RoundRobin'} | Set-ScsiLun -CommandsToSwitchPath 3

Und schon fangen die Hosts an, häufiger den Pfad zu ändern, was man auch bei einem Blick auf die Netzwerkkarte im Serverraum gut beobachten kann.

Hier das Script am Stück:

Import-Module VMware.VimAutomation.Core
Connect-VIServer 'HOSTNAME'
Get-VMHost | Get-ScsiLun -LunType disk | Where-Object {$_.MultipathPolicy -eq 'RoundRobin'} | Set-ScsiLun -CommandsToSwitchPath 3

Macht das bitte nicht auf einem Host, der nicht im Wartungsmodus ist. Es funktioniert zwar, aber so vermeidet man sicher Seiteneffekte, die nicht erklärt werden können.


Drucken