Einen vSphere Distributed Switch inkl. LACP/LAG mit PowerCLI anlegen

Alle 60 Tage darf ich meine vSphere-Testumgebungen neu aufsetzen. Die Evaluationslizenzen laufen periodisch ab und ich habe keine freien Mittel in meinem Budget, Lizenzen für die Testumgebungen zu kaufen.

Eine Teilaufgabe ist, die vSphere Distributed Switches nach bestimmten Vorgaben einzurichten. Üblicherweise ist das eine gute Fingerübung für unsere Auszubildenden…

Doch heute war unsere Lehrtochter ausser Haus. Sie durfte an einem Feiertag nicht arbeiten, also musste ich selber ‘ran.

Wie üblich bin ich aber zu faul, so etwas händisch auf mehreren Systemen durchzuführen. Also habe ich etwas Hirnschmalz investiert, zweimal schief in die Überwachungskamera gelinst und ein PowerShell-Modul zum Anlegen von vSphere Distributed Switches mit LACP inkl. Portgruppen entwickelt.

Du kannst das Modul so importieren:

Import-Module DRIVE:\Path\to\Create-VDSwitch.psm1

Das Modul stellt ein Cmdlet namens ‘Create-VDSwitch’ zur Verfügung. Ein Beispiel:

Create-VDSwitch `
  -VIServer vc01.fexlab.local `
  -Credential (Get-Credential) `
  -Datacenter 'datacenter01' `
  -VdsLinkDiscoveryProtocol CDP `
  -VdsLinkDiscoveryProtocolOperation Both `
  -VdsNumUplinkPorts 2 `
  -VdsVersion 6.0.0 `
  -VdsName 'vDs1' `
  -LagName 'lag0' `
  -LagUplinkNum 4 `
  -LagMode active `
  -PortGroups @( `
    @{ `
      'Suffix'='Mgmt'; `
      'NumPorts'=4; `
      'VlanId'=702 `
    }, `
    @{ `
      'Suffix'='ActiveDirectory'; `
      'NumPorts'=4; `
      'VlanId'=814 `
    } `
  )

Eigentlich sollte das Script selbsterklärend sein. Du findest die Dokumentation wie immer im Header oder kannst sie folgendermassen abrufen:

Get-Help Create-VDSwitch -Full

Schau Dir unbedingt den param()-Block im Modul an. Ich habe diverse Werte so voreingestellt, wie ich sie meistens brauche.

Wie immer: ein kurzer Hinweis auf diese Seite wäre nett…

So, und nun ohne weitere Umschweife: Create-VDSwitch.psm1

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.