VMware vSphere vSwitch Portgruppe(n) und VLANs von einem Host auf einen anderen kopieren

Manchmal möchte man „einfach“ alle Portgruppen von einem vSwitch auf einen anderen kopieren. Entweder auf dem selben ESXi-Host, oder auch gleich auf einen neuen ESXi. Die Inbetriebnahme neuer VMware ESXi-Hosts wird dadurch merklich schneller möglich.

Lösung

Ohne PowerShell (PowerCLI) geht’s natürlich nicht, solange man keine Hostprofile nutzt.

Das Script benötigt das VMware PowerShell PowerCLI Modul:

Install-Module VMware.PowerCLI

Und natürlich eine funktionierende Verbindung zum vCenter Server:

Connect-VIServer <VCENTER-SERVER>

Dann lässt sich mit diesen Zeilen die Konfiguration schnell kopieren:

## ESXi source / destination
$esx_s = Get-VMHost vmware3.pmd5.org
$esx_d = Get-VMHost hhvmware3.pmd5.org

## vSwitch name source / destination
$vswitch_s = "vSwitch0"
$vswitch_d = "vSwitch0"

$portgroup = $esx_s | Get-VirtualSwitch -Name $vswitch_s | Get-VirtualPortGroup | Select-Object Name, vlanid
$vswitch = $esx_d | Get-VirtualSwitch -Name $vswitch_d 

foreach ($pg in $portgroup) {
    Write-Host "Erstelle Portgruppe {0} mit vlanid {1}" -f $pg.name, $pg.vlanid
    try {
        New-VirtualPortGroup -VirtualSwitch $vswitch -Name $pg.name -VlanId $pg.vlanid -ErrorAction Stop
    }
    catch {
        "Gibt es schon"
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.