Haftungsausschluss: Dies ist sicherlich keine unterstützte / empfohlene Methode. Mach das nicht auf einer Produktionskiste. Ich habe es aus Sicherheitsgründen mit ausgeschalteten VMs und getrennter vSphere-Verbindung gemacht.
Zunächst müssen Sie auf die ESXi-Konsole zugreifen . Dies kann dann einfach durch Bearbeiten erfolgen /etc/vmware/esx.conf
.
Für jeden vSwitch gibt es einen Eintrag wie:
/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/...
...
Sie können dort übrigens vSwitches umbenennen.
Die Portgruppen sind Knoten unter dem vSwitches :
/net/vswitch/child[0000]/portgroup/child[0000]/name = "Management Network"
/net/vswitch/child[0000]/portgroup/child[0000]/...
...
/net/vswitch/child[0000]/portgroup/child[0001]/name = "VM Network"
/net/vswitch/child[0000]/portgroup/child[0001]/...
...
Um eine zu bewegen Portgruppe von einem vSwitch zum anderem, ändern Sie einfach den /net/vswitch/child[XXXX]/
Knoten ist es unter, um sicherzustellen , zu respektieren , was portgroup
Kinder bereits vorhanden sind. Mit anderen Worten, wenn Sie eine bewegen Portgruppe auf eine andere vSwitch , müssen Sie möglicherweise seine Kind Nummer ändern.
Hinweis: Sie müssen alle relevanten Leitungen neu nummerieren (alle Leitungen, die dieser Portgruppe entsprechen).
Hinweis 2: Wenn teamPolicy
Einträge für eine Portgruppe vorhanden sind , müssen Sie möglicherweise sicherstellen, dass die zugehörigen uplinks[nnnn]/pnic =
Einstellungen mit den tatsächlichen Einstellungen vmnicN
für den vswitch übereinstimmen, auf den Sie ihn verschieben.
Nach dem Editieren der Datei, neu gestartet ich einfach den ESXi - Server: $ reboot
. Möglicherweise gibt es einen Dienst oder Prozess, der stattdessen neu gestartet werden könnte, aber ich dachte, ein Neustart ist der einfachste und sicherste Weg.
Beispiel
Angenommen, wir haben zwei vSwitches mit jeweils einem vmnic
Uplink und zwei Portgruppen :
vSwitch0 --> vmnic0
|--portGroupA
|--portGroupB
vSwitch1 --> vmnic1
|--portGroupC
|--portGroupD
Die entsprechenden Einträge in esx.conf
könnten ungefähr so aussehen 1 :
# vSwitch0
/net/vswitch/child[0000]/...
/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/numPorts = "128"
# vSwitch0->portGroupA
/net/vswitch/child[0000]/portgroup/child[0000]/name = "portGroupA"
/net/vswitch/child[0000]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch0->portGroupB
/net/vswitch/child[0000]/portgroup/child[0001]/name = "portGroupB"
/net/vswitch/child[0000]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
/net/vswitch/child[0000]/uplinks/child[0000]/pnic = "vmnic0"
# vSwitch1
/net/vswitch/child[0001]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/numPorts = "128"
# vSwitch1->portGroupC
/net/vswitch/child[0001]/portgroup/child[0000]/name = "portGroupC"
/net/vswitch/child[0001]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
# vSwitch1->portGroupD
/net/vswitch/child[0001]/portgroup/child[0001]/name = "portGroupD"
/net/vswitch/child[0001]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
/net/vswitch/child[0001]/uplinks/child[0000]/pnic = "vmnic1"
Jetzt wollen wir bewegen portGroupC
aus vSwitch1
zu vSwitch0
, so ist die Konfiguration wie folgt aus :
vSwitch0 --> vmnic0
|--portGroupA
|--portGroupB
|--portGroupC
vSwitch1 --> vmnic1
|--portGroupD
Um dies zu tun, wir:
- Identifizieren Sie alle
portGroupC
Zeilen, die mit beginnen /net/vswitch/child[0001]/portgroup/child[0000]
. Verschieben Sie diese Einträge mit der vSwitch0
Konfiguration nach oben (nicht erforderlich, macht die Bearbeitung jedoch übersichtlicher).
- Wechseln Sie
/net/vswitch/child[0001]
zu /net/vswitch/child[0000]
in jeder Zeile (da wir es auf diesen Schalter verschieben).
- Stellen Sie fest, dass bereits ein
/net/vswitch/child[0000]/portgroup/child[0000]
( portGroupA
) vorhanden ist, und wechseln Sie portGroupC
zu /portgroup/child[0002]
.
- Stellen Sie fest, dass unser Uplink für diese Portgruppe jetzt nicht mehr korrekt ist (falls angegeben), und ändern Sie ihn
uplinks[0000]/pnic =
von vmnic1
zu vmnic0
(da dies der vmnic ist, der diesen vSwitch bedient).
Die endgültige Konfiguration sollte folgendermaßen aussehen:
# vSwitch0
/net/vswitch/child[0000]/...
/net/vswitch/child[0000]/name = "vSwitch0"
/net/vswitch/child[0000]/numPorts = "128"
# vSwitch0->portGroupA
/net/vswitch/child[0000]/portgroup/child[0000]/name = "portGroupA"
/net/vswitch/child[0000]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch0->portGroupB
/net/vswitch/child[0000]/portgroup/child[0001]/name = "portGroupB"
/net/vswitch/child[0000]/portgroup/child[0001]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
# vSwitch1->portGroupC
/net/vswitch/child[0000]/portgroup/child[0002]/name = "portGroupC"
/net/vswitch/child[0000]/portgroup/child[0002]/teamPolicy/uplinks[0000]/pnic = "vmnic0"
/net/vswitch/child[0000]/uplinks/child[0000]/pnic = "vmnic0"
# vSwitch1
/net/vswitch/child[0001]/...
/net/vswitch/child[0001]/name = "vSwitch1"
/net/vswitch/child[0001]/numPorts = "128"
# vSwitch1->portGroupD
/net/vswitch/child[0001]/portgroup/child[0000]/name = "portGroupD"
/net/vswitch/child[0001]/portgroup/child[0000]/teamPolicy/uplinks[0000]/pnic = "vmnic1"
/net/vswitch/child[0001]/uplinks/child[0000]/pnic = "vmnic1"
Beachten Sie, dass ich auch portGroupD
von portgroup/child[0001]
nach geändert habe [0000]
(da es keinen 0-Eintrag mehr gab.)
1 - Die #
Kommentare sind nur zur Erklärung hier; Ich weiß nicht, ob sie in der realen Datei funktionieren und bei der nächsten Konfiguration sowieso weggeblasen werden.