Script – PowerCLI SCSI UNMAP Funktion

In meinem Artikel Script – SCSI Unmap (VAAI UNMAP) habe ich ein Script für das Durchführen das SCSI UNMAP auf VMware ESXi Hosts veröffentlicht. In der Handhabung hat sich das Skript allerdings als etwas unpraktisch erwiesen, daher nun eine neue Variante als PowerCLI SCSI UNMAP bzw. VAAI UNMAP Funktion mit entsprechenden Input Parametern.

PowerCLI SCSI UNMAP Funktion

Ich habe bei der Überarbeitung auch die Gelegenheit genutzt, mit dem Parmeter -WhatIf in der neuen PowerShell Funktion zu experimentieren. Vielen Dank an Chris Wahl für den tollen Artikel zu dem Thema.

Beispiel des Dry-Run:

PowerCLI SCSI UNMAP Funktion -WhatIf

PowerCLI SCSI UNMAP Funktion  – Das Script

! Vorsicht ! Das Script setzt VMware PowerCLI 6.3 voraus, es wird „Get-ESXCLI -V2“ verwendet.

PowerCLI SCSI UNMAP Funktion – Das Vorgehen

#region: Get Cluster

Es wird versucht ein VMware vSphere Cluster mit dem gegebenen Namen zu finden. Wenn es kein Ergebnis gibt, läuft die Funktion auf einen Fehler.

#region: Get Hosts

Es werden alle Verbundenen und eingeschalteten Hosts in dem Cluster erfasst. Falls es kein Ergebnis gibt, läuft die Funktion auf einen Fehler.

#region: Get Datastores

Es werden alle Verbundenen Datastores in dem Cluster erfasst. Falls nicht mindestens einer gefunden wird, läuft die Funktion auf einen Fehler.

#region: Process Datastores

Für jeden Datastore wird ein zufälliger ESXi hosts gewählt. Auf diesem wird per ESXCLI der SCSI UNMAP Befehl ausgeführt.

PowerCLI SCSI UNMAP Funktion – Anmerkungen

Probleme

  • Wie auch in der Vorherigen Variante kommt es zu einem Timeout, wenn der UNMAP Prozess länger als 30 Minuten dauert

Handhabung

  • Modul Importieren
Import-Module C:\Scripts\vSphere-Modules\Start-UNMAP.psm1
  • vCenter verbinden
  • Funktion aufrufen
Start-UNMAP -ClusterName myCluster -DSWildcard *RAID5*

 

Leave a Reply