Blackout-Time (VM Live Migration)
Aus Wiki-WebPerfect
Version vom 4. September 2017, 16:04 Uhr von Admin (Diskussion | Beiträge)
Ungültige Sprache.
Die gewünschte Sprache muss wie folgt definiert werden: <source lang="html4strict">...</source>
Unterstützte Sprachen für die Syntaxhervorhebung:
<# .SYNOPSIS Für Troubleshooting-Zwecke von Blackout-Zeiten während Live-Migrationen .DESCRIPTION Mit diesem Skript kann man alle Blackout-Zeiten während Live-Migrationen innerhalb eines Cluster filtern. .NOTES Author: Robin Hermann .LINK http://wiki.webperfect.ch .EXAMPLE Get-LiveMigrationBlackoutTime -Cluster <ClusterName> -EventLogAge -7 Dieses Beispiel zeigt alle Blackout-Zeiten während Live-Migrationen der letzten 7 Tage an. #> Function Get-LiveMigrationBlackoutTime { [CmdletBinding()] param( [Parameter(Position=0,mandatory=$true)][string] $Cluster, [Parameter(Position=1,mandatory=$true)][int] $EventlogAge ) process{ $events = (Get-ClusterNode -Cluster $Cluster).Name | foreach {Get-WinEvent -ComputerName $_ -FilterHashtable @{LogName = 'Microsoft-Windows-Hyper-V-VMMS-Admin'; ID = 20415}} | ? {$_.TimeCreated -ge ((get-date).AddDays($EventlogAge))} | select TimeCreated, Id, Message, MachineName $HyperVNode = $events.MachineName $table = New-Object system.Data.DataTable “$TableName” $spalte1 = New-Object system.Data.DataColumn VM,([string]) $spalte2 = New-Object system.Data.DataColumn BlackoutTime,([double]) $spalte3 = New-Object system.Data.DataColumn VMID,([string]) $spalte4 = New-Object System.Data.DataColumn HyperVNode,([string]) $spalte5 = New-Object System.Data.DataColumn TimeCreated,([string]) $table.columns.add($spalte1) $table.columns.add($spalte2) $table.columns.add($spalte3) $table.columns.add($spalte4) $table.columns.add($spalte5) foreach ($event in $events) { $EventMessageVM = $event.message -replace ".*\'(.*)\'.*blackout time of (.+) seconds \(VMID (.*)\).", '$1' $EventMessageBlackoutTime = $event.message -replace ".*\'(.*)\'.*blackout time of (.+) seconds \(VMID (.*)\).", '$2' $EventMessageVMID = $event.message -replace ".*\'(.*)\'.*blackout time of (.+) seconds \(VMID (.*)\).", '$3' $HyperVNode = $event.MachineName $TimeCreated = $event.TimeCreated $row = $table.NewRow() $row.VM = $EventMessageVM $row.BlackoutTime = $EventMessageBlackoutTime $row.VMID = $EventMessageVMID $row.HyperVNode = $HyperVNode $row.TimeCreated = $TimeCreated $table.Rows.Add($row) } $table | sort BlackoutTime -Descending | format-table -AutoSize } }