Download:
Hyper-V Server 2012 R2
PowerShell Script Backup Hyper-V
System Center Virtual Machine Manager 2008 R2
Windows Virtual PC
Windows XP Mode (für Windows 7)
Links:
System Center Virtual Machine Manager 2008 R2
Probleme bei der Nutzung von Teaming unter Windows Server 2012 R2
Remoteserver-Verwaltungstools für Windows (RSAT) auf dem Client installieren, der die Verwaltung des Servers übernehmen soll.
- Textkonsole Konfiguration aufrufen, um den Server zu konfigurieren.
C:\Windows\System32\sconfig.cmd
- Firewall Regeln die für die Verwaltung gesetzt werden, kann man auch über sconfig.cmd vornehmen.
netsh advfirewall firewall set rule group="Remotedesktop" new enable=yes netsh advfirewall firewall set rule group="Windows-Remoteverwaltung" new enable=yes netsh advfirewall firewall add rule name="ICMPv4 eingehend" dir=in action=allow protocol=icmpv4 netsh advfirewall firewall set rule group="Remotevolumeverwaltung" new enable=yes
netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes netsh advfirewall set allprofiles settings remotemanagement enable
- installierte Netzwerkkarten anzeigen
netsh interface ipv4 show interfaces
- Zugangsdaten für den Hyper-V-Server auf dem Verwaltungs-Client hinterlegen, wenn dieser nicht in einer Domain ist.
cmdkey /add:<Hyper-V-SRV> /user:Administrator /pass
Parameter
add: - Servername
user: - Benutzername
pass: - Passwortabfrage
list: - zeigt hinterlegte Server und Benutzer an
delete:<HOST> - löscht Eintragung zum angegebenen HOST
Zugriff zum Hyper-V-Server testen, ob die Authentifizierung funktioniert.
net use * \\<Hyper-V-SRV>\c$
auf dem Verwaltungsrechner ausführen, um den zu Hyper-V-Server als vertrauenswürdig zu setzen
winrm set winrm/config/client @{TrustedHosts="*"}
- eine Eingabeaufforderung auf dem Hyper-V-SRV öffnen, der Befehl wird auf dem Verwaltungsrechner eingegeben.
winrs -r:Hyper-V-SRV cmd.exe
Befehl | Beschreibung |
---|---|
sc query winrm | Status des Dienstes anzeigen |
winrm enumerate winrm/config/listener | anzeigen ob der Dienst Befehle entgegen nimmt |
winrm quickconfig | Dienst für den Fernzugriff vorbereiten |
set PROMPT=[%COMPUTERNAME%] $p$g | zeigt Computername im Prompt, am einfachsten unter Systemsteuerung\Alle Systemsteuerungselemente\System Erweitert | Umgebungsvariablen hinterlegen |
- wenn DNS nicht zur verfügung steht
# c:\windows\system32\drivers\etc\lmhosts 192.168.10.10 Hyper-V-SRV #pre 192.168.10.20 VerwaltungsPC #pre
- Kennworterneuerung (nach 42 Tagen) deaktivieren
net accounts /maxpwage:unlimited
- Informationen zum System anzeigen
systeminfo.exe
cmdkey /add:<Hyper-V-SRV> /user:Administrator /pass
winrs -r:<Hyper-V-SRV> cmd.exe cscript hvremote.wsf /add:<Hyper-V-SRV>\Administrator /mode:server
cscript hvremote.wsf /anondcom:grant /mode:client
- Wenn man einen zweiten virtuellen Domaincontroller installieren möchte, sollte man die Zeitsyncronisierung deaktivieren.
Hyper-V Managers | Verwaltung | Integrationsdienste
Zeitsyncronisierung: deaktivieren
Diese Funktion wird in der Domain vom Master PDC übernommen.
- Einstellungen für den virtuellen Domaincontroller (MASTER) anpassen.
Hyper-V Manager | Verwaltung | Automatische Startaktion
Virtuellen Computer immer automatisch starten: wählen
Dann wird der Master DC der Domain automatisch gestartet, wenn der Hyper-V Server gestartet wird. Bei den Mitgliedsservern der Domain sollte die Startverzögerung gesetzt werden, damit der Master DC zur Verfügung steht, wenn die untergeordneten Server hochfahren.
Hyper-V Manager | Verwaltung | Automatische Stoppaktion
Gastbetriebssystem herunterfahren: wählen
- für den Master DC und alle weiteren DCs, Festplatten mit Fester oder Dynamischer Grösse, keine differenzierenden Datenträger wählen.
Einführung in die Virtualisierung der Active Directory-Domänendienste
- Zähler zum Klonen von Domaincontrollern auf dem Hyper-V-Gast
Gerätemanager | Systemgeräte | Microsoft Hyper-V-Generierungszähler
- PDC Master darf nicht geklont werden
- testet den DC, ob ein klonen möglich ist (Powershell)
Get-ADDCCloningExcludedApplicationList
- Datei C:\Windows\System32\SampleDCCloneConfig.xml
kopieren und in DCCloneConfig.xml
umbenennen, dann die erforderlichen Einstellungen für den neuen DC setzen.
XML Schema Datei C:\Windows\System32\DCCloneConfigSchema.xsd
<-- DCCloneConfig.xml --> <ComputerName>dc03</ComputerName> <Address>192.168.2.3</Address> <SubnetMask>255.255.255.0</SubnetMask> <DefaultGateway>192.168.2.254</DefaultGateway> <DNSResolver>192.168.2.1</DNSResolver>
danach die Datei DCCloneConfig.xml
in das Verzeichnis C:\Windows\NTDS
einfügen.
- Verfügbarkeit des PDC Masters der Domain prüfen
dcdiag /test:LocatorCheck /v ... ......................... domain.tld hat den Test LocatorCheck bestanden.
- PDC Master prüfen
nltest /server:srv.domain.tld
- dsa.msc starten, zum Domaincontroller, der geklont werden soll wechseln, Eigenschaften | Mitglied von | Klonbare Domänencontroller hinzufügen.
- den Domaincontroller herunterfahren der geklont werden soll, danach im Hyper-V Manager den DC markieren, rechte Maus | Exportieren und neuen Ordner wählen.
- im Hyper-V Manager | Virtuellen Computer importieren, den soeben exportierten Gast wählen, als Importtyp den Virtuellen Computer direkt registrieren oder wenn es der gleiche Hyper-V-Host ist muss man Virtuellen Computer kopieren wählen.
- den geklonten Hyper-V-Gast starten und prüfen, ob der neue DC unter Active Directory-Benutzer und -Computer | Domain Controller und Active Directory-Standorte und -Dienste verfügbar ist. Danach kann man den Vorlagen DC des Klones starten.
Powershell Kommandos für Hyper-V
Befehl | Beschreibung |
---|---|
Get-Command -Module Hyper-V | alle Powershell Hyper-V Befehle anzeigen |
get-vmhost | Infos zum VMServer |
get-vm | Liste der VMGäste anzeigen |
get-vm |fl | formatierte Liste |
start-vm <VMGast-Name> | VMGast starten |
stop-vm <VMGast-Name> | VMGast stoppen (herunterfahren) |
restart-vm <VMGast-Name> | VMGast neustarten (herunterfahren/starten) |
suspend-vm <VMGast-Name> | VMGast anhalten (pausieren) |
resume-vm <VMGast-Name> | VMGast weiterlaufen lassen (pausierten VMGast weiterlaufen lassen) |
checkpoint-vm -vmname <VMGast-Name> | VMGast Snapshot erstellen (Interaktiv, danach Name des VMGastes oder Liste von VMGästen angeben) |
Get-VMSwitch |fl | Einstellungen der Virtuellen Switche |
Get-VMNetworkAdapter -vmname <VMGast-Name> | Infos zum Netzwerkadapther des VMGastes |
Get-VMIdeController -vmname <VMGast-Name> | Infos zum IDE-Controller des VMGastes |
Get-VMHardDiskDrive -vmname <VMGast-Name> | Infos zum den Virtuellen Festplatten des VMGastes |
Get-VMHardDiskDrive (get-vm) | Infos zum allen Virtuellen Festplatten die auf dem VMHost eingerichtet sind |
Performance Analysis of Logs (PAL) Tool
Microsoft Chart Controls für Microsoft .NET Framework 3.5
Hilfe
Wenn ein iSCSI Device in einer GastVM eingebunden ist, die repliziert werden soll, scheitert das beim Einrichten.
in den Einstellungen der GastVM Integrationsdienste | Sicherung (Volumenschattenkopie): deaktivieren
Anleitung Zertifikatserstellung
- Datei request.inf erstellen
;----------------- request.inf ----------------- [Version] Signature="$Windows NT$ [NewRequest] Subject = "CN=SERVER.DOMAIN.TLD" Exportable = TRUE ; Private key is exportable KeyLength = 2048 ; Valid key sizes: 1024, 2048, 4096, 8192, 16384 KeySpec = 1 ; Key Exchange KeyUsage = 0xA0 ; Digital Signature, Key Encipherment MachineKeySet = TRUE ProviderName = "Microsoft RSA SChannel Cryptographic Provider" ProviderType = 12 RequestType = CMC [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1 ;Server Authentication OID=1.3.6.1.5.5.7.3.2 ;Client Authentication ;-----------------------------------------------
- Zertifikatsanfrage erstellen
certreq -new replica.inf replica.req
- Zertifikatsanfrage an Zertifizierungsstelle übermitteln
certreq -submit -config "<DomainZertifizierungsstelle> replica.req replica.cer
Windows Software Development Kit (SDK)
Anleitung makecert.exe
bei der Installation des SDKs braucht man nur Windows Software Development Kit auszuwählen
aus dem SDK Programmverzeichnis C:\Program Files (x86)\Windows Kits\8.1\bin\x64\
die Datei makecert.exe auf allen Hyper-V-Hosts kopieren, auf denen die Replikation eingerichtet werden soll.
auf den Hyper-V Server 1
in einer Eingabeaufforderung/Powershell als Administrator starten
- Zertifikat der ersten Zertifizierungsstelle erstellen
.\makecert -pe -n "CN=PrimaryRootCA" -ss root -sr LocalMachine -sky signature -r "PrimaryRootCA.cer"
Das erstellte Zertifikat ist unter Zertifikate (Lokaler Computer) "Vertrauenswürdige Stammzertifizierungsstellen" zu finden.
- Zertifikat für den Hyper-V Server erstellen
.\makecert -pe -n "CN=<FQDN des Servers>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "PrimaryRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 PrimaryCert.cer
auf den Hyper-V Server 2
in einer Eingabeaufforderung/Powershell als Administrator starten
- Zertifikat der ersten Zertifizierungsstelle erstellen
.\makecert -pe -n "CN=SecondaryRootCA" -ss root -sr LocalMachine -sky signature -r "SecondaryRootCA.cer"
- Zertifikat für den Hyper-V Server erstellen
.\makecert -pe -n "CN=<FQDN des Servers>" -ss my -sr LocalMachine -sky exchange -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2 -in "SecondaryRootCA" -is root -ir LocalMachine -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 SecondaryCert.cer
auf den Hyper-V Server 1
Zertifikatsdatei SecondaryRootCA.cer der zweiten CA auf den ersten Hyper-V Server kopieren
- Zertifikat in den Zertifikatsspeicher importieren
certutil -addstore -f Root "SecondaryRootCA.cer"
auf den Hyper-V Server 2
Zertifikatsdatei PrimaryRootCA.cer der zweiten CA auf den ersten Hyper-V Server kopieren
- Zertifikat in den Zertifikatsspeicher importieren
certutil -addstore -f Root "PrimaryRootCA.cer"
Import prüfen mit certlm.msc
- Registry auf den Replikationsservern anpassen
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Replication" /v DisableCertRevocationCheck /d 1 /t REG_DWORD /f
- Ein Snapshot in eine VM einarbeiten, wenn Snapshots im Hyper-V Manager nicht mehr gelöscht werden können, sondern nur noch exportiert werden.
Get-VMSnapshot -VMName 192.168.20.2-EX00 VMName Name SnapshotType CreationTime ParentSnapshotName ------ ---- ------------ ------------ ------------------ 192.168.20.2-EX00 192.168.20.2-EX00 - (18.05.2018 - 00:00:00) Recovery 18.05.2018 19:36:04
Get-VMSnapshot -VMName 192.168.20.2-EX00 | Remove-VMSnapshot
Diese Snapshots bleiben gern mal bei Backup Programmen über, wenn das Backup ein Problem hat und abbricht. Vor dem Zusammenführen der .AVHDX mit der .VHDX die VM herunterfahren und Exportieren zur Sicherung.
Delegierung zwischen den Hyper-V Servern einrichten, dazu auf dem DC der Domain unter
Active Directory-Benutzer und -Computer | OU Computer der ersten Hyper-V-Host wählen | Eigenschaften | Delegierung
Computer bei Delegierung angegebener Dienste vertrauen: aktivieren
Nur Kerberos verwenden: aktiviern
Diensttyp hinzufügen: Dienste des jeweils anderen Hyper-V-Servers
cifs | Hyper-V-SRV2
Microsoft Virtual Console Service | Hyper-V-SRV2
Microsoft Virtual System Migration Service | Hyper-V-SRV2
das gleiche auf Hyper-V-SRV2 für Hyper-V-SRV1 einrichten.
Hyper-V-Manager | <Server> | Hyper-V-Einstellungen
Livemigration
Ein- und ausgehende Livemigrationen ermöglichen: aktivieren
Eingehende Livemigrationen
Diese IP-Adresse für die Livemigration verwenden:
Erweiterte Features
Kerberos verwenden: aktivieren
Komprimierung: aktivieren
- Livemigration über Powershell aktivieren
Enable-VMMigration Set-VMHost -VirtualMachineMigrationAuthenticationType Kerberos
- zugeordnete Delegierung zum Computerkonto anzeigen
setspn -l <Domain>\<Hyper-V-ServerName> Registrierte Dienstprinzipalnamen (SPN) für CN=HV200,OU=Server,OU=Computers,DC=domain,DC=tld Microsoft Virtual Console Service/HV200.domain.tld Microsoft Virtual Console Service/HV200 Microsoft Virtual System Migration Service/HV200.domain.tld Microsoft Virtual System Migration Service/HV200 Hyper-V Replica Service/HV200.domain.tld Hyper-V Replica Service/HV200
Beim Verschieben der VM ist darauf zu achten, das man das Verzeichnis in dem die VM auf den neuen Server gespeichert werden soll mit angibt. Die Ordner Virtual Hard Disks, Virtual Machines, Snapshots ... werden direkt im angegebenen Ziel-Ordner gespeichert.
- Fehler bei der Livemigration, da die Hardware auf dem Zielcomputer nicht mit den Hardwareanforderungen dieses virtuellen Computers kompatibel ist
Event-ID 21024
Event-Log unter Anwendungs- und Dienstprotokolle | Microsoft | Windows | Hyper-V VMMS | Admin
Wenn auf dem anderen Host ein Switch Embedded Teaming (SET) eingerichtet ist, kann es helfen, vor dem Verschieben die Netzwerkkarte in der VM deaktivieren. Dazu im
Hyper-V-Manager | Virtual Machine | Einstellungen | Netzwerkkarte
Virtueller Switch auf Nicht verbunden setzen und dann die VM verschieben.
Hyper-V-Manager | Virtual Machine | Einstellungen | Processor | Kompatibilität
Zu einem physischen Computer mit einer anderen Prozessorversion migrieren: aktivieren
Set-VMProcessor TestVM -CompatibilityForMigrationEnabled $true
prüfen ob die Ports TCP 6600 und 3343 (für Clustering) verfügbar sind
netstat -ano | findstr /I /C:"6600"
LBFO wurde mit dem Server 2012 eingeführt und wird unter Server 2022 nicht mehr für Hyper-V unterstützt.
Get-NetLbfoTeam Remove-NetLbfoTeam -Name "NIC Team"
oder
Get-NetLbfoTeam | Remove-NetLbfoTeam
# Konfiguration eines SET Switch embedded teams
New-VMSwitch -Name "extern Team" -NetAdapterName "Ethernet","Ethernet 2" ` -EnableEmbeddedTeaming $true -AllowManagementOS $true
- Get-VMSwitch - zeigt eingerichtete Virtuelle Netzwerk Teams an
Get-VMSwitch Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ extern Team External Teamschnittstelle
Get-NetAdapter
Get-NetAdapterRdma
- Prüfen auf welchem Softwarestand die Hyper-V Integration Services installiert ist. Powershell als Administrator ausführen (Offline Hosts können nicht geprüft werden)
Get-VM | ? State -eq "Running" | ft Name, IntegrationServicesVersion
Installation des Updates, durch einlegen des "Installationsdatenträgers für Integrationsdienste"
Bis Windows Server 2012 R2 gibt es ein ISO "C:\Windows\System32\vmguest.iso" für die Integrationsdienste und ein Verzeichnis "C:\Windows\vmguest" auf dem Hyper-V Server. Bei Windows Server 2016 wird alles über Windows Update installiert, dabei werden alte Systeme die aus dem Support rausgefallen sind nicht mehr berücksichtigt.
Failoverclustering in Windows Server
Installation und Konfiguration von einem Hyper-V Failover Cluster mit Windows Server 2016
- für die Verbindung zwischen den beiden Server, ein NIC-Team einrichten
- Hyper-V Manager und Failover Cluster Manager installieren
Install-WindowsFeature -Name Hyper-V, Failover-Clustering -IncludeAllSubFeature -IncludeManagementTools -Restart
- Cluster testen
Test-Cluster -Node Hv01, Hv02
- Netzwerke konfigurieren
Failovercluster-Manager | <ClusterName> | Netzwerke | Einstellung für Livemigration
als erstes das Netzwerk zwischen den Knoten wählen,
als zweites das Management netzwerk als Fallback
Test der Einstellungen, je kleiner die Metric, je höher die Priorität
Get-ClusterNetwork | ft Name, Metric, AutoMetric, Role
Wenn eine VM aus dem FailoverManager gelöscht wird, wird diese nur aus der Verwaltung des Clusters entfernt, sie bleibt auf dem Hyper-V Manager des Cluster-Node verfügbar. Die Einstellungen sind dann auch wieder im Hyper-V Manager zu erledigen, die Gruppierung wird aus den Einstellungen der VM entfernt. Wenn die VM unter der Cluster Verwaltung steht, sind die Änderungen an den Einstellungen nur im Clustermanager möglich.
Verwaltung des Clusters per Powershell
- Einen Node aus dem Cluster entfernen
Remove-ClusterNode -Name HyperV04 Remove-ClusterNode -Name HyperV04 -Force
- Cluster vom letzten Node entfernen
Import-Module FailoverClusters Remove-Cluster
- von einem verwaisten Node die Cluster-Einstellungen entfernen
Import-Module FailoverClusters Clear-ClusterNode oder Clear-ClusterNode node4 -Force
Clear-ClusterNode
Remove-Cluster
Danach kann auf dem Server das Feature "Failover Clustering" entfernt werden, der Server wird danach neu gestartet.
im Hyper-V Manager | Datenträger bearbeiten VHD Datei wählen | Konvertieren | VHDX
Powershell von VHD zu VHDX
Convert-VHD -path "disk.vhd" -DestinationPath "disk.vhdx"
von VHDX zu VHD
Convert-VHD -path "disk.vhdx" -DestinationPath "disk.vhd"
- verfügbare Hyper-V-Gäste anzeigen
Get-VM <Hyper-V-Host>
im Netzwerk
Get-VM -ComputerName <Hyper-V-Host>
- Snapshots/Prüfpunkte erstellen
checkpoint-vm -vmname <VMGast-Name>
im Netzwerk
checkpoint-vm -ComputerName <Hyper-V-Host> -vmname <VMGast-Name>
netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes netsh advfirewall set allprofiles settings remotemanagement enable
nach dem Upgrade von Win10 1511 auf 1607 läst sich auf manchen Rechnern kein Hyper-V Gast mehr starten, der Hyper-V Gast bleibt mit "wird getartet" hängen.
Fehlermeldung Ereignisanzeige
Protokollname: Microsoft-Windows-Hyper-V-VMMS-Admin
Quelle: Microsoft-Windows-Hyper-V-VMMS
Ereignis-ID: 19060
Ebene: Fehler
Schlüsselwörter:
Benutzer: SYSTEM
Beschreibung:
Fehler beim Ausführen des Vorgangs "Wird gestartet" durch "<Hyper-V-Gast". Der virtuelle Computer führt zurzeit folgenden Vorgang aus: "Wird gestartet". (ID des virtuellen Computers: <Hyper-V Gast ID>)
vmwp.exe
beendennet stop vmms net start vmms
Man kann unter Dienste, den Dienst "Hyper-V-Verwaltung für virtuelle Computer" auf Starttyp "Automatisch (Verzögerter Start)" setzen, dann kann man nach einem Neustart des Hyper-V-Host die VMs ohne Probleme starten.
Nach einiger Laufzeit des Rechners, tritt das Problem wieder auf, dann wie Beschrieben Prozess beenden und Dienst neu starten.