Das Forum wurde aktualisiert. Wurde höchste Zeit. Wenn etwas nicht funktioniert, bitte gerne hier jederzeit melden.
(Das "alte Design" kommt wieder, wird ne Weile brauchen!)

VMware - Physical RAW Disk an VM - IsPerenniallyReserved per PowerCLI setzen oder löschen

Moderatoren: irix, continuum, Dayworker, Tschoergez

Benutzeravatar
Member
Beiträge: 3
Registriert: 09.11.2017, 18:15

VMware - Physical RAW Disk an VM - IsPerenniallyReserved per PowerCLI setzen oder löschen

Beitragvon emeriks » 09.11.2017, 18:41

Hi,
bin neu hier.

Diese Frage ist eine Kopie von meiner Frage auf administrator.de: https://www.administrator.de/content/detail.php?id=354260

Wir haben bei uns ESX 5.5 im Einsatz.
Blades von HP. Verschiedene Gerarationen (G6-G9)
SAN von EMC (VPLEX). Anbindung über FC.
(Falls noch detailiertere Info benötigt werden, dann einfach fragen. Ich liefere dann nach.)

Bekanntes Problem:
Wir haben mehrere MS Failovercluster als VM's laufen. Die Daten-LUN dafür sind als "Physical RAW" (RDM) an die VM's gehängt. Virtueller SCSI-Controller ist "Paravirtual" mit "gemeinsame Nutzung" auf "Physisch". Dadurch benötigen die ESX beim Booten extrem lange (teilweise Stunden), um die LUNs einzulesen, genauso beim erneuten Einlesen der LUN zur Laufzeit.

Bekannte Lösung:
Für diese LUN muss man auf allen beteiligten ESX jeweils das Flag "IsPerenniallyReserved" auf "true" setzen.
https://kb.vmware.com/s/article/1016106

Man kann das auch über Host-Profile auf die ESX verteilen, aber auch das bedeutet manuellen Eingriff.
Wenn man mal eine neue VM mit RDM versorgt und dann vergisst, diese LUN mit dem o.g. Flag zu versehen (im Profil wie "live" am ESX), dann hängt das Einlesen der LUN beim nächsten Mal wieder.

Um das halbwegs zu automatisieren, habe ich ein Powershell-Script geschrieben, welches über die VMware PowerCLI die ESX abfragt und ggf. das o.g. Flag setzt oder löscht. (PowerShell 4.0, PowerCLI 5.5)

Das Problem dabei:
Das Kommando zum Setzen oder Löschen des Flags

Code: Alles auswählen

$ESXCLI = Get-EsxCLI -VMhost 'servername'
# löschen
$ESXCLI.storage.core.device.setconfig($false, 'naa.xxxxxxxxxxxxx', $false)
# setzen
$ESXCLI.storage.core.device.setconfig($false, 'naa.xxxxxxxxxxxxx', $true)

sorgt dafür, dass die CPU des ESX (ich nehme an HA-Agent, Management Interface) hoch geht, wenn man zu viele solcher Kommandos hintereinander an einen ESX sendet (wir haben ESX mit bis zu 95 LUN). Das führt dann dazu, dass der ESX nicht mehr im Virtual Center reagiert, keine Performancedaten mehr aufgezeichnet und Alarme ausgelöst werden. Nach ein paar Minuten, teilweise über ein halbe Stunde, klinkt sich der ESX dann wieder ein.

Ich habe mir jetzt so abgeholfen, dass ich zwischen den LUN jeweils ein 20-s-Pause einlege. Das lindert. Der ESX liefert zwar trotzdem für ca. 5 min keine Performancedaten mehr, aber es werden keine Alarme wegen Last oder Nichtverfügbarkeit ausgelöst. Aber bei 95 LUN mit jeweils 20 s dazwischen dauert das natürlich ewig pro Host.

Kennt jemand dieses Problem oder hatte ähnliches bei anderen Kommandos in der VMware PowerCLI und weiß, wie man hier Abhilfe schaffen kann bzw. vorgehen muss, damit das nicht auftritt?

E.

Jenseits von Gut & Böse
Beiträge: 10996
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: VMware - Physical RAW Disk an VM - IsPerenniallyReserved per PowerCLI setzen oder löschen

Beitragvon irix » 09.11.2017, 19:08

Hmm... interessantes Problem!

Um einen Negativ Impact zu vermeiden die Frage ob das setzen des Wartungsmodus und dem Migrieren der VMs zumind. das "Problem" mit den Performance Daten umschifft.

Fragen:
- Ist die Dauer von der Anzahl der Gesamtanzahl der LUN abhaengig?
- Wuerde es schneller gehen wen man es ohne PSH, sprich mal mit esxcli direkt auf dem Host machen wuerde?
- Setzt du die Kommando einfach auf alle LUNs ab oder koenntest du es vorher ermitteln welche LUNs nur in Frage kommen wuerden?

Gruss
Joerg

Benutzeravatar
Member
Beiträge: 3
Registriert: 09.11.2017, 18:15

Re: VMware - Physical RAW Disk an VM - IsPerenniallyReserved per PowerCLI setzen oder löschen

Beitragvon emeriks » 09.11.2017, 19:47

- Ist die Dauer von der Anzahl der Gesamtanzahl der LUN abhaengig?

Ja. Je LUN muss ggf. solch ein Kommando abgesetzt werden. Also nimmt die Anzahl der Kommandos mit der Anzahl der LUN zu.
- Wuerde es schneller gehen wen man es ohne PSH, sprich mal mit esxcli direkt auf dem Host machen wuerde?

Keine Ahnung. Die Kommandos an sich sind ja schnell genug. Jedenfalls wird die PowerCLI diese schnell los, wenn sie diese an den ESX sendet.
Wenn ich diese Befehle direkt im excli des ESX OS absetzen würde, dann müsste ich das ja je ESX einrichten. Das PS-Script könnte ich in nur einer Instanz auf einem Windows Server - geplant ist der VC Servern - als Scheduled Task laufen lassen.
- Setzt du die Kommando einfach auf alle LUNs ab oder koenntest du es vorher ermitteln welche LUNs nur in Frage kommen wuerden?

Ja, so mache ich das jetzt schon. Zuerst ermittle ich alle RDM aller VM's des VC. Dann frage ich der Reihe nach die ESX ab (ca. 60), durchlaufe deren LUN, und wenn eine zuvor als RDM ermittelt wurde, dann prüfe ich, ob das Flag gesetzt ist. Nur wenn nicht, dann setze ich das Kommando ab. Umgekehrt, wenn diese LUN nicht als RDM ermittelt wurde, dann prüfe ich ob das Flag nicht gesetzt ist, und wenn doch, dann setze ich das entspechende Kommando ab. Dadurch wird im Normal-Fall an einem ESX gar kein Kommando abgesetzt, es sei denn er ist neu oder wurde neu installiert. Dann bekommt er für alle RDM von VM's des betreffenden Clusters solch ein Kommando gesendet. Und wenn mal eine RDM hinzukommt oder eine entfernt wird, dann bekommen eben alle ESX des betreffenden Cluster für diese 1, 2 LUN dieses Kommando gesendet. Also eigentlich alles entspannt. Nur haben wir hier über 40 RDM. Auf einen unserer Cluster entfallen davon ca. 33 Stk. Wenn dort ein neuer ESX dazu kommt und "von Null" mit diesen Flags "betankt" wird, dann geht er für ein paar Minuten "in die Knie".


Zurück zu „vSphere 5.5 / ESXi 5.5“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast