nach einem Netzwerkausfall einen iSCSI-Datenspeicher im ESXI-Host erneut mounten

nach einem Netzwerkausfall einen iSCSI-Datenspeicher im ESXI-Host erneut mounten

Ich verwende ESXI 5.1 und alle meine virtuellen Maschinen befinden sich in einem NAS, das vom iSCI-Datenspeicher zugeordnet ist.

Mein Router ist kaputtgegangen und offensichtlich wurden alle VMs von ihren Festplatten getrennt.

Ich verstehe das so: Wenn ein solches Ereignis eintritt, stoppt ESXi alle E/A-Vorgänge von VMs und versucht, die Verbindung zum Datenspeicher wiederherzustellen. Wenn dies nach einer bestimmten Zeit nicht möglich ist, wird der Datenspeicher demontiert, da er möglicherweise für immer verloren ist ...

Ich habe einen neuen Switch angeschlossen und dann meinen ESXI neu gestartet. Ich kann sehen, dass der Datenspeicher in der Datencenter-Ansicht von vCenter online angezeigt wird (aber wenn ich ihn durchsuche, wird nichts angezeigt, ich kann nicht einmal einen neuen Ordner erstellen ...) und in der Speicheransicht meines Hosts wird der Datenspeicher nicht angezeigt ... Wenn ich versuche, dem Host einen neuen Datenspeicher hinzuzufügen und iSCSI/LUN auswähle, wird auch nichts angezeigt.

Außerdem kann ich auf dem NAS (einer Synology) sehen, dass auf meinem LUN keine aktive Verbindung besteht ...

Die große Frage ist also: Wie bekomme ich meinen Datenspeicher und alle meine VMs zurück?

Antwort1

Stellen Sie über SSH/die lokale Konsole eine Verbindung zu ESX her und versuchen Sie Folgendes:

esxcfg-volume -l
esxcfg-volume -m <datastorename>

Der erste listet Ihre Datenspeicher und deren Status auf, der zweite mountet sie

Antwort2

Ungeachtet der Netzwerkkonfiguration, die zu dieser Situation geführt hat, bleibt dies eine berechtigte Frage: Was ist der beste Weg, um einen ESXi-Host dazu zu bringen, seinen iSCSI-Speicher ohne Neustart wieder zu sehen?

Hinweis: Ich konnte das nicht zum Laufen bringen, weil mein gesamter Netzwerk-Stack kaputt war und ich ESXi sowieso neu starten musste, um es wiederherzustellen. Ich poste das als Antwort, weil das, was ich herausgefunden habe, für diejenigen, die diese Frage in Zukunft finden, nützlich sein könnte.

Der nützlichste Link ist dieser VMware KB-Artikel mit dem TitelNach einem ungeplanten dauerhaften Geräteverlust (PDL) kann ein Datenspeicher nicht erneut bereitgestellt werden (2014155)

Die Funktion „Kommt nicht zurück“ scheint eine Funktion zu sein, die dem Datenschutz dient. Alle VMs, die den verschwundenen Speicher verwendet haben, sind erledigt, egal wie vorübergehend der „permanente“ Geräteverlust auch gewesen sein mag.Alle VMs, die den verschwundenen Speicher verwendet haben, müssen heruntergefahren (falls möglich) oder ausgeschaltet (wahrscheinlicher) werden..

Bevor Sie versuchen, Ihren ESXi-Server dazu zu bringen, den Speicher wieder zu erkennen, stellen Sie sicher, dass er tatsächlich vorhanden ist. Verwenden Sie dazu den Prozess im VMware-KB-Artikel mit dem TitelBeheben von iSCSI-LUN-Konnektivitätsproblemen auf ESX/ESXi-Hosts (1003681)Möglicherweise stellen Sie dabei fest, dass Ihr gesamter Netzwerkstapel durcheinander geraten ist. Mir ist das passiert ...

Aus dem ersten VMware KB-Artikel:

(Hinweis: Bei iSCSI sind die Geräte möglicherweise keine „naa“-IDs, sondern sehen stattdessen wie „t10.IET_“ aus. Ich empfehle dringend, diese Monstrositäten per Ausschneiden und Einfügen einzugeben, anstatt zu versuchen, sie von Hand einzutippen.)

Der Befehl zum Suchen der IDs war wenig hilfreich in der Mitte des Originalartikels versteckt – hier ist er zu Ihrer Information, da Sie ihn zweifellos benötigen werden, um das richtige Argument für die -dOption in zu finden esxcli storage core device world list -d <ID>:

#esxcfg-scsidevs --uids

Dies zeigt die „t10“-IDs wie folgt an:

Primäre UID Andere UID
mpx.vmhba45:C0:T0:L0 vml.0005000000766d68626135353a313a31
naa.60022190becbe0003b3e818108cdf2d5 vml.0200000000600221c0becce0001b3b918108cdf2c550455e4320c6
t10.IET_____000100000000000000000000000000000000000000000000000 vml.010c000000202020202020202020202020202020202020202020202020202020202020202020626561663e30436e6e7f726f
t10.IET_____000100010000000000000000000000000000000000000000000 vml.01000100002020202020202020202020202020202020202020202020202020202020202020202020626561693131464952545541

Führen Sie diesen Befehl aus, um die Welt anzuzeigen, in der das Gerät für die LUN geöffnet ist:

#esxcli storage core device world list -d <t10_id>

Zum Beispiel:

#esxcli storage core device world list -d t10.IET_____000100010000000000000000000000000000000000000000

Die Ausgabe ähnelt der folgenden:

Gerät Welt-ID Anzahl der Öffnungen Weltname
------------------------------------------------------------ -------- ---------- ----------
t10.IET_____00010001000000000000000000000000000000000000000000000 2060 1 Leerlauf0

Wenn ein VMFS-Volume das Gerät indirekt verwendet, enthält der World-Name die Zeichenfolge idle0. Wenn eine virtuelle Maschine das Gerät als RDM verwendet, wird die World-ID der virtuellen Maschine angezeigt. Wenn ein anderer Prozess das Raw-Gerät verwendet, werden die entsprechenden Informationen angezeigt.

Anmerkungen:

Wenn der Host nicht antwortet, führen Sie den Befehl aus, esxcfg-scsidevs –-listum den entsprechenden Datenspeichernamen abzurufen. Stellen Sie sicher, dass für alle auf dem Datenträger registrierten virtuellen Maschinen in einem PDL-Zustand keine weiteren Schritte erforderlich sind. Wenn Sie eine virtuelle Maschine in diesem Zustand haben, wird beim Versuch, einen Vorgang zu wiederholen oder abzubrechen, die World-ID der virtuellen Maschine nicht zurückgegeben. Klicken Sie auf „Abbrechen“, da der Vorgang „Wiederholen“ nur erfolgreich sein kann, wenn der Datenträger erneut bereitgestellt wird.

Führen Sie diesen Befehl aus, um alle auf dem ESXi 5.x-Host ausgeführten virtuellen Maschinen aufzulisten und die auf dieser LUN registrierte virtuelle Maschine zu identifizieren:

#esxcli vm process list

Um die World ID der virtuellen Maschine zu beenden, führen Sie diesen Befehl aus:

#esxcli vm process kill --type=force --world-id=World ID

Zum Beispiel:

#esxcli vm process kill --type=force --world-id=12131

Scannen Sie den Speicher mit diesem Befehl erneut:

#esxcfg-rescan -u vmhba#

Führen Sie diesen Befehl aus, um den Gerätestatus anzuzeigen:

#esxcli storage core device list -d <t10-id>

Wenn das Problem weiterhin besteht, starten Sie den ESXi 5.x-Host neu, auf dem die virtuelle Maschine registriert wurde.

verwandte Informationen