Archive

Posts Tagged ‘Hyper-V’

Hyper-V 3.0: Kleines Script zum Aufräumen

March 17th, 2013 No comments

Je nachdem wie gründlich man seinen Hyper-V Server pflegt, kann es passieren, dass im Cluster Shared Volume (CSV) ein paar Leichen übrig bleiben, da beim Löschen einer Virtuellen Maschine (VM) nicht automatisch die zugehörigen Disks (VHD) gelöscht werden.

Daher habe ich für meine Demo-Umgebung ein kleines Powershell Script geschrieben, dass alle an im Cluster registrierten VMs angehängte Disks auflistet und diese mit den im Dateisystem vorhandenen VHD Dateien abgleicht. Das Ergebnis kann dann genutzt werden, um eventuelle Leichen zu entdecken.

$vms=get-cluster | Get-ClusterResource | where {$_.ResourceType -like 'Virtual Machine'} | get-vm
$arrFiles=@()
$vms | ForEach-Object {
  $vm=$_
  #Add Hard disks to array
  $vm.HardDrives | ForEach-Object {
    $arrFiles+=$_.Path
  }
  #add isos to array
  $vm.DVDDrives | ForEach-Object {
    $arrFiles+=$_.Path
  }
}
#$arrFiles
Get-ChildItem C:\ClusterStorage -Recurse -Include *.vhd,*.vhdx,*.iso | ForEach-Object {
$file=$_.FullName
if ($arrFiles -notcontains $file) {
    write-host $file 
 }
} 
Categories: Hyper-V, Powershell Tags: ,

SCOM 2012: Neue Management Packs Januar 2013

February 3rd, 2013 No comments

Neue Management Packs im Zeitraum zwischen 04.01.2013 und 03.02.2013

Im Monat Januar hat Microsoft neue Management Packs für folgende Produkte herausgegeben:

  • Active Directory
    • Product knowledge improvements
    • Excessive alert fixes
    • Script error fixes
    • Rule error fixes
  • Microsoft Dynamics NAV 2013
  • Hyper-V 2012
  • Windows Server 2012
    • IIS 9
    • Remote Access 2012
  • HPUX 11

Management Packs

Dokumentation

Read more…

Hyper-V 3.0: Measure und NetworkACL

September 30th, 2012 No comments

Nachdem im letzten Artikel eine riesige Auswahl von Neuerungen in Windows 2012 vorgestellt wurden, soll dieser Artikel auf zwei Spezialitäten eingehen, die momentan nur mit PowerShell zu aktivieren sind:

  • Network ACLs: pro Virtuellen Maschine (VM) auf Netzwerkebene definieren, auf welche Zielsysteme die VM zugreifen kann. Diese “Firewall”-Funktion wird direkt durch Hyper-V durchgeführt und ist vom in der VM eingesetzten Betriebssystem unabhängig
  • Metering von VMs: Mitprotokollieren von Verbrauchswerten einer VM

Network ACL

Read more…

Hyper-V 3.0

September 30th, 2012 No comments

Im Rahmen einer Vortragsserie haben ein Kollege und ich die Neuerungen in Windows Server 2012 vorgestellt.  In diesem Post möchte ich diese nochmal zusammenfassen und einige Details erklären:

In folgenden Bereichen sehe ich Neuerungen:

Limits

  • 64vCPUs per Guest
  • 4TB per Host
  • 320 logical CPUs pro Host
  • 1TB pro VM
  • 64 Cluster Nodes
  • 4000 VMs pro Cluster

Memory Read more…

SCVMM 2012: Neuerungen

March 26th, 2012 No comments

Im letzten Teil dieser Serie schauen wir uns den System Center 2012 Virtual Machine Manager (SCVMM) an. Hier gibt es wieder einige ganze Reihe von Verbesserungen. Die Verbesserungen teilen sich in zwei Hauptgebiete auf: Dienste und Cloud-Unterstützung und auf der anderen Seite Fabric Management.

Dienste und Cloud-Unterstützung:

  • Service Livecycle Management:
    • Dienste in SCVMM werden als Template definiert und darüber auch aktualisiert.
    • mit SCVMM 2012 können Serveranwendungen jetzt auch über Server App-V abstrahiert werden
    • Das komplette Deployment inkl. Load-Balancing, erstellen von VMs, Einbinden von SQL-Datenbanken, Rollout von Webanwendungen wird jetzt unterstützt
  • Cloud Verwaltung:
    • Clouds können erstellt werden und an Benutzer/Gruppen delegiert werden
    • Innerhalb der Cloud kann ein Benutzer die ihm erlaubten Rechte ausüben: z.B. VMs erstellen, löschen, Snapshots, …
    • Die Anzahl und Ausstattung der VMs kann wiederum über Quotas begrenzt werden

Fabric Management:

  • Infrastruktur:
    • Erweitertes Powershell
    • VMM Server kann geclustered werden
    • automatisierte Updateinstallation von Hyper-V Servern (Live Migration, Updates installieren, Neustart, Kontrolle, Live Migration, …)
  • Ressourcenoptimierung:
    • verbesserte dynamische Optimierung des Hyper-V Clusters
    • Power Optimization: Herunterfahren von Hyper-V Knoten bei geringer Last
    • für das Monitoring ist jetzt kein SCOM mehr notwendig. Auslastung der Knoten wird jetzt direkt vom VMM Agent gemessen
  • Fabric Management
    • Unterstützung von XenServer 6.0+
    • Bare Metal Provisionierung von Hyper-V Clustern (Anschalten neuer HW per BMC, PXE Boot in WinPE, Download VHD mit Hyper-V Image, bootfähig machen, Integration von weiteren Treibern, Aufnahme in das AD, Aufnahme in einen Cluster, …)
    • Verbessertes Netzwerkmanagement mit VLAN Unterstützung
    • Verbessertes Storagemanagement durch Unterstützung der SMI-S Schnittstelle

SCDPM 2012: Neuerungen

March 25th, 2012 No comments

Auch im Bereich System Center 2012 Data Protection Manager gibt es keine lange Liste von Neuerungen. Aber  es sind einige relevante Veränderungen dabei:

  • Zentrale Konsole (integriert sich in SCOM)
  • Rollenbasierte Administration (basierend auf SCOM Rolensystem, z.B. Tape Operator, Tape Admin, DPM Admin, …)
  • Direkte Fehlerbehebung aus der SCOM Konsole bei einem Event (z.B. Neusynchronisierung)
  • einfaches Resume DPM Backup abstrahiert Komplexität der darunterliegenden Datenquellen
  • Durch SCOM Integration automatisch auch Integration ins Ticketsystem

Read more…

Hyper-V: Extra Rechte auf Hyper-V für Nicht-Adminuser einrichten

January 22nd, 2012 No comments

user-adminGrundsätzlich darf auf einen Hyper-V Server nur ein Administrator zugreifen (Mitglied der lokalen Administratorengruppe). Setzt man den System Center Virtual Machine Manager (SCVMM) ein, so ermöglicht dieser einem u.a. ein rollenbasiertes Management. Dabei erfindet er das Rad nicht neu, sondern setzt ein Feature des Hyper-Vs ein, dass in meinen Augen zwar gut dokumentiert aber relativ unbekannt ist.

Dazu verwendet Hyper-V das rollenbasierte Accessmanagement (RBAC) und die dafür verfügbare GUI AzMan. Die Konfigurationsinformationen werden in einer XML Datei unter ProgramData\Microsoft\Windows\Hyper-V\InitialStorage.xml abgelegt. Achtung: Verwendet man den VMM Agent, so wird der Ort der XML Datei auf ProgramData\microsoft\Virtual Machine Manager\HyperVAuthStore.xml geändert!

Ich beschreibe hier die Vorgehensweise, wie man einer zusätzlichen benutzergruppe das Recht einräumen kann auf die Konsole der Virtuellen Maschinen zugreifen zu können:

Zuerst startet man die AzMan Konsole:

image

Read more…

SCVMM: Remove an Alias or Konflikt mit Hyper-V Powershell

December 29th, 2011 No comments

Wer die Powershell Module von SCVMM und die Community Module zu Hyper-V gleichzeitig benutzen will, bekommt bei einigen Funktionen einen Konflikt.

Eigentlich sind alle Funktionen vom SCVMM eindeutig mit einem SC bezeichnet. So heißt die Funktion, um das Objekt einer Virtuellen Maschine zu erhalten get-SCVirtualMachine. Wahrscheinlich aus historischen Gründen gibt es aber eine Alias namens “get-VM” auf diese Funktion.

Die CodePlex Hyper-V Funktionen haben keinen gesonderten Namensraum. Hier heißt die Funktion für die Virtuelle Maschine einfach get-VM. Dies wäre nicht so schlimm, wenn die Funktion nicht auch intern fleißig genutzt wird. Möchte man die CodePlex Funktionen nutzen, um Differenzielle Disks zu erstellen (etwas  was der SCVMM auch in 2012 nicht anbietet), so funktioniert dies nicht mehr, wenn beide Module geladen sind.

Die direkte Lösung wäre daher, den Alias auf get-SCVirtualMachine wieder zu entfernen.   Neue Aliase sind einfach per “new-Alias” erstellbar. Eine Funktion namens “remove-Alias” existiert aber nicht, da ein Alias für die aktuelle Sitzung definiert und dort auch bis zum Ende bestehen bleibt.

Trotzdem kann man einen Alias mit der generischen Funktion remove-item entfernen. Hier heißt der Alias “Alias:get-VM”. D.h. wie bei der Bezeichnung “ftp:sdfsdf” oder “c:\get-vm” steht Alias: für das Protokoll bzw. den Namensraum, damit die Funktion weiß, an welches Modul sie den Löschbefehl weitergeben muss. Hier ein Beispiel:

$alias= Get-Alias | where {$_.name -eq "Get-VM"}
if ($alias -ne $null) {
   $itemName=$alias.CommandType.ToString()+":"+$alias.name
   Remove-Item $itemName
}

SCVMM: mit Powershell Teil 1

December 4th, 2011 No comments

Ich habe gerade das Glück etwas mehr mit Powershell und System Center Virtual Machine Manager 2012 (SCVMM, RC) zu arbeiten. Daher werde ich hier wieder ein paar Codesnippsel posten, um bestimmte Funktionen zu automatisieren:

die erste Funktion soll eine neue Cloud für Hyper-V erzeugen . Zusätzlich wird ein neue Rolle für diese Cloud angelegt, die nur VMs verwalten darf.

#creates a new cloud and a corresponding usergroup
function createCloud([string]$name,[string]$hostgroupname)
{
   #retrieving first GUID for creating the new cloud
     $job= ([System.Guid]::NewGuid().toString())
   #define Cloud limitations (here: no limit)
     Set-SCCloudCapacity -JobGroup $job -UseCustomQuotaCountMaximum $true -UseMemoryMBMaximum $true -UseCPUCountMaximum $true -UseStorageGBMaximum $true -UseVMCountMaximum $true
   #setting the used network (here: the network has the same name as the cloud)
     $resources = @()
     $resources += Get-SCLogicalNetwork -Name $Name
   #defining that the cloud can be used on hyper-v server
     $addCapabilityProfiles = @()
     $addCapabilityProfiles += Get-SCCapabilityProfile -Name "Hyper-V"
   #adding the settings to the cloud with the defined GUID
     Set-SCCloud -JobGroup $job -RunAsynchronously -AddCloudResource $resources -AddCapabilityProfile $addCapabilityProfiles
   #adding the cloud to the hostgroup
     $hostGroups = @()
     $hostGroups += Get-SCVMHostGroup -Name $hostgroupname
   #creating the cloud and the rest from the first job :-) 
     New-SCCloud -JobGroup $Job -VMHostGroup $hostGroups -Name $Name -RunAsynchronously

#creating the usergroup
   #GUID for the second job
     $job= ([System.Guid]::NewGuid().toString())
   #the roleis for the newly created cloud
     $scopeToAdd = @()
     $scopeToAdd += Get-SCCloud -name $name
   #the user of this role can start, stop and shutdown virtual machines in the cloud and start a remote control
     Set-SCUserRole -JobGroup $job -AddScope $scopeToAdd -Permission @("RemoteConnect", "Shutdown", "Start", "Stop") -ShowPROTips $false
     $cloud = Get-SCCloud -Name $name
   #add all settings to the role
     Set-SCUserRoleQuota -Cloud $cloud -JobGroup $job -QuotaPerUser -UseCPUCountMaximum -UseMemoryMBMaximum -UseStorageGBMaximum -UseCustomQuotaCountMaximum -UseVMCountMaximum
   #create the role with the job guid
     New-SCUserRole -Name $name -UserRoleProfile "SelfServiceUser" -Description "" -JobGroup $job
}

Die Funktion kann einfach per


createCloud "MeineCloud" "Alle Hosts"

aufgerufen werden.

EventID 21502 im Hyper-V Cluster

August 11th, 2011 No comments

Als Ergänzung vom Blog-Eintrag Re-Import von VMs folgt eine Lösung, wenn nach einem Re-Import die Maschine im Cluster nicht startbar ist. Die Detailansicht im Cluster-Manager sieht wie im nachfolgenden Bild aus:

image001-hv

Die Konfiguration sollte eigentlich immer Online sein. Sie steht für die Registrierung der Virtuellen Maschine auf dem jeweiligen Hyper-V Knoten.
Read more…

Categories: Deutsch, Hyper-V Tags: , ,