Virtuelle IDE- und SCSI-Controller mit Hyper-V einsetzen

James Thew, 123RF

Virtuelle Kontrolle

Hardware-Zugriffe nehmen bei der Virtualisierung eine Sonderrolle ein. Das gilt auch für Festplatten-Controller; Hyper-V kommt sowohl mit IDE als auch mit SCSI zurecht, allerdings je nach Version in unterschiedlicher Weise.
Sicher verstaut - Deduplizierung spart Platz, Cloud-Backup für Windows, Areca sichert kostenlos. ADMIN 01/14 stellt Backups für Profis mit und ohne Cloud ... (mehr)

Windows Server 2012 hat mit der einhergehenden Hyper-V-Version einige neue Möglichkeiten virtualisierter Festplatten-Controller eingeführt. Bei der neueren Version Windows Server 2012 R2 hat Hersteller Microsoft hier nochmals nachgerüstet. Auch bei den Pro- und Enterprise-Varianten von Windows 8 und 8.1 stehen diese zur Verfügung. Die Unterschiede zwischen Server 2012 und 2012 R2 beziehungsweise Windows 8 und 8.1 betreffen vor allem die Einsatzmöglichkeiten von IDE- und SCSI-Controllern, wie dieser Artikel zeigt.

Grundlagen

In einer virtuellen Umgebung sind IDE-Controller zwar nicht langsamer als ihre SCSI-Pendants, dafür aber in den Möglichkeiten deutlich begrenzt. Das unterscheidet sie von den physischen Controllern, wo SCSI sich gegenüber IDE auch durch höhere Geschwindigkeit auszeichnet.

Der Funktionsumfang ist jedoch bei virtuellen IDE-Controllern gleichermaßen begrenzt. Die Hintergründe zu verstehen, hilft, den passenden Controller zu finden. In Windows Server 2012 und in den virtuellen Maschinen der ersten Generation von Windows Server 2012 R2 müssen virtuelle Server immer über einen IDE-Controller verfügen, an den das Bootlaufwerk angeschlossen ist, denn virtuelle Server booten erst ab der zweiten Generation mit Windows Server 2012 R2 von SCSI-Controllern.

Weder virtuelle IDE- noch SCSI-Controller stehen in direkter Verbindung zum physischen Controller. Sie stehen also ausschließlich der virtuellen Maschine zur Verfügung. Bei einem neuen virtuellen Server bindet Hyper-V automatisch zwei IDE- und einen SCSI-Controller ein; nur bei Gästen der zweiten Generation fehlen die virtuellen IDE-Controller.

Wie physische erlauben auch virtuelle IDE-Controller höchstens zwei angeschlossene Festplatten. Des Weiteren bietet ein virtueller Server mit Hyper-V Platz für maximal zwei IDE-Controller, während darin bis zu vier virtuelle SCSI-Controller unterkommen. Letztere bieten, wiederum sowohl in physischer als auch in virtueller Umsetzung, mehrere Kanäle mit zahlreichen Anschlussmöglichkeiten. Ein SCSI-Controller steuert bis zu 16 Festplatten, bei vier Controllern summiert sich die maximale Anzahl angeschlossener Geräte also auf 64 (siehe Abbildung 1 ).

Abbildung 1: SCSI- und IDE-Controller im Hardware-Assistenten.

Beim Booten greift ein virtueller Server der ersten Generation auf den IDE-Controller in der gleichen Weise wie auf ein physisches Gerät zu, reagiert also nicht gesondert auf die virtuelle Umgebung. Hyper-V schreibt die Befehle an den virtuellen IDE-Controller so um, dass die Zugriffe funktionieren. IDE-Festplatten stehen also auch dann zur Verfügung, wenn auf dem virtuellen Server die Integrationsdienste noch nicht gestartet sind. Sind diese dann geladen, stehen der virtuellen Maschine auch die speziellen Treiber für virtuelle IDE- und SCSI-Controller zur Verfügung.

Das ist bei den virtuellen Maschinen der zweiten Generation anders. Hier weiß das Betriebssystem bereits beim Start, dass es sich in einer virtuellen Umgebung befindet. Solche Gastsysteme unterstützen allerdings keinerlei emulierte Hardware, auch keine virtuellen IDE-Controller beim Booten. Sie fahren über das UEFI-System von virtuellen SCSI-Controllern hoch. Diese werden nicht emuliert, sondern sind als Treiber direkt in den Hypervisor integriert und dadurch schon beim Booten für den Gast direkt zugänglich. Sobald ein virtueller Server gestartet ist und die Integrationsdienste geladen sind, greifen die virtuellen Maschinen ebenfalls über Treiber mit dem Hypervisor auf den Controller zu. Ab diesem Moment gibt es keine Geschwindigkeitsunterschiede mehr zwischen virtuellen IDE- und SCSI-Controller, da beide über die gleiche Technik angebunden sind.

Virtuelle Maschinen der zweiten Generation setzen als Gast-Betriebssystem allerdings mindestens Windows Server 2012 oder Windows 8 voraus, da ältere Betriebssysteme den neuen Standard nicht unterstützen.

An virtuelle SCSI-Controller angeschlossene Festplatten lassen sich auch im laufenden Betrieb vom Server an- oder aushängen ( Abbildung 2 ). Das funktioniert sowohl mit virtuellen Festplatten als auch mit physischen, die über virtuelle SCSI-Controller angebunden sind. Bei virtuellen IDE-Controllern funktioniert dies nicht; darüber angeschlossene Festplatten lassen sich nur an- oder aushängen, wenn die virtuelle Maschine ausgeschaltet ist.

Abbildung 2: Virtuelle Platten können an mehreren Servern hängen.

Seit Windows Server 2012 R2 und Windows 8.1 bietet Hyper-V zudem die Möglichkeit, auch die Größe virtueller Festplatten im laufenden Betrieb zu ändern. Dazu müssen die Festplatten jedoch an einem virtuellen SCSI-Controller angeschlossen sein.

Die beiden aktuellen Windows-Versionen weisen optional außerdem virtuelle Festplatten, die an virtuellen SCSI-Controllern angeschlossen sind, mehreren virtuellen Servern zu (Shared VHDX). Das ist vor allem für virtuelle Cluster auf Hyper-V-Hosts sinnvoll. Diese Einstellung findet sich in den erweiterten Features bei den Festplatten des virtuellen Servers.

Bei virtuellen IDE- und SCSI-Controllern lassen sich Dienstqualität und Bandbreite virtueller Festplatten gleichermaßen begrenzen, allerdings ebenfalls erst ab der Windows-Server-Version 2012 R2 oder Windows 8.1 als Hyper-V-Host. Eine Kombination mit Shared-VHDX-Festplatten erlaubt diese Konfiguration bislang aber nicht.

Virtuelle SCSI-Controller

Egal, ob eine virtuelle Maschine läuft – im Fall eines SCSI-Controllers – oder nicht, eine neue Festplatte fügt die Hyper-V-Manager im grafischen Frontend nach einem Rechtsklick auf den gewünschten virtuellen Server im »Einstellungen« -Menü hinzu. In der Folge wählt man dort den passenden Controller und »Festplatte | Hinzufügen« ( Abbildung 3 ).

Abbildung 3: Virtuelle Festplatten emuliert Hyper-V sowohl für IDE- als auch für SCSI-Controller.

Anschließend wird eine neue Festplatte über »Virtuelle Festplatte | Neu« angelegt. Es folgt die Auswahl des Formats: Zur Verfügung stehen hierbei VHD und VHDX, die sich in ihrer Maximalgröße von zwei beziehungsweise 64 TByte deutlich unterscheiden. Die Option »Dynamische Größe« statt »Feste Größe« ermöglicht dem virtuellen Laufwerk, erst bei zunehmender Auslastung mitzuwachsen.

»Differenzierung« erzeugt die neue Platte auf Basis einer bereits vorhandenen. Auf diese Weise lässt sich eine Festplatte – empfohlenerweise mit eingeschaltetem Schreibschutz – als Basisinstallation für mehrere Gastsysteme verwenden. Die Differenzplatte enthält nur die im Gastsystem vorgenommenen Änderungen, indem alle Schreibzugriffe auf die Differenzplatte umgeleitet werden. Bei Lesezugriffen kombiniert der Hypervisor den Inhalt der Differenzfestplatte und den Inhalt der zugrunde liegenden virtuellen Festplatte, ohne dass der Gast etwas davon bemerkt. Die zugrunde liegende Festplatte wird nicht mehr verändert, und die Differenzfestplatte bleibt relativ klein, da sie nur Änderungen enthält. So spart diese Methode viel Zeit und Platz im Vergleich zu mehreren Klonen derselben Maschine.

All diese Festplattenvarianten stehen übrigens für alle Controller  – egal ob IDE oder SCSI – zur Wahl.

Alternativ zum grafischen Frontend im Hyper-V-Manager steht auch die Powershell zur Änderung der Festplattenkonfiguration von virtuellen Maschinen zur Verfügung. Zunächst zeigt der folgende Befehl die bereits vorhandenen SCSI-Controller an:

Get-VMScsiController -VMname <Name der VM>

Um eine neue Festplatte hinzuzufügen, geben Sie folgenden Befehl ein:

Add-VMHardDiskDrive -VMname <Name der VM> -Path <Pfad zur VHDX-Datei> -ControllerType SCSI -ControllerNumber <Nummer>

Das Kommando »CMDlet Add-VMScsiController« fügt anschließend einem virtuellen Server einen SCSI-Controller hinzu.

Windows Server 2012 R2 hat auch die Möglichkeit eingeführt, den physischen Speicherort virtueller Festplatten auf einem Hyper-V-Host sogar im laufenden Betrieb zu ändern. Das ist zum Beispiel sinnvoll, um einen Datenträger zu vergrößern oder virtuelle Datenträger auf ein NAS oder SAN auszulagern. Auch diese Option steht für beide Controller-Varianten, IDE und SCSI, zur Verfügung.

Im Hyper-V-Manager genügt dafür ein Klick mit der rechten Maustaste auf einen virtuellen Server, die Wahl von »Verschieben« und im folgenden Assistenten »Speicher des virtuellen Computers verschieben« . Bei Bedarf landen Konfiguration, Snapshots, virtuelle Festplatten und Smart-Paging-Dateien in verschiedenen Zielordnern.

Smart Paging kommt zum Einsatz, um virtuellen Maschinen beim Start die Nutzung der Host-Festplatte als Arbeitsspeicher zu erlauben, falls andere Maschinen bei dynamischer Speicherverteilung (Dynamic Memory) den vorhandenen Speicher bereits vollständig verwenden. Nach dem erfolgreichen Start wird der Festplattenplatz wieder freigegeben und der virtuelle Server erhält seinen Speicher.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023