Betrifft: SQL Server 2008

Werbung
Ausführen von SQL Server 2008 in einer
Hyper-V-Umgebung
Best Practices und Überlegungen zur Leistung
Technischer Artikel zu SQL Server
Autoren: Lindsey Allen, Mike Ruthruff, Prem Mehra
Technische Lektoren: Cindy Gross, Burzin Patel, Denny Lee, Michael Thomassy,
Sanjay Mishra, Savitha Padmanabhan, Tony Voellm, Bob Ward
Veröffentlicht: Oktober 2008
Betrifft: SQL Server 2008
Zusammenfassung:
Hyper-V in Windows Server 2008 stellt eine leistungsfähige Virtualisierungstechnologie dar,
mit der die IT-Abteilungen von Unternehmen Server mit geringer Auslastung konsolidieren,
die Gesamtbetriebskosten senken und gleichzeitig die Quality of Service aufrechterhalten
und verbessern können. In diesem Dokument werden auf Grundlage von Testszenarien
für grundlegende Anwendungen von SQL Server Best Practices für die Ausführung von
SQL Server in einer Windows Hyper-V-Umgebung vorgestellt.
1
Copyright
Die Informationen in diesem Dokument stellen die zum Datum der Veröffentlichung aktuelle
Ansicht der Microsoft Corporation zu den erörterten Themen dar. Da Microsoft auf geänderte
Marktbedingungen reagieren muss, dürfen diese Informationen nicht als Verpflichtung von
Microsoft ausgelegt werden, und Microsoft kann nicht garantieren, dass alle Informationen
in dem Dokument nach dem Datum der Veröffentlichung noch genau zutreffen.
Dieses Whitepaper dient ausschließlich Informationszwecken. MICROSOFT ÜBERNIMMT
FÜR DIE INFORMATIONEN IN DIESEM DOKUMENT KEINE GEWÄHRLEISTUNG,
SEI SIE AUSDRÜCKLICH, KONKLUDENT ODER GESETZLICH.
Die Benutzer/innen sind verpflichtet, sich an alle anwendbaren Urheberrechtsgesetze zu halten.
Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf kein Teil
dieses Dokuments ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation für
irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder
darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen
Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen usw.) dies geschieht.
Es ist möglich, dass Microsoft Rechte an Patenten bzw. an angemeldeten Patenten, an Marken,
Urheberrechten oder sonstigem geistigen Eigentum besitzt, die sich auf den fachlichen Inhalt
dieses Dokuments beziehen. Die Bereitstellung dieses Dokuments gewährt Ihnen jedoch
keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderem geistigen
Eigentum, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit
der Microsoft Corporation vereinbart.
Die in den Beispielen verwendeten Namen von Firmen, Organisationen, Produkten, Domänen,
Personen, Orten, Ereignissen sowie E-Mail-Adressen und Logos sind frei erfunden, soweit
nichts anderes angegeben ist. Jede Ähnlichkeit mit tatsächlichen Firmen, Organisationen,
Produkten, Domänennamen, Personen, Orten, Ereignissen, E-Mail-Adressen und Logos
ist rein zufällig.
2
© 2008 Microsoft Corporation. Alle Rechte vorbehalten.
Microsoft, Hyper-V, SQL Server, Windows und Windows Server sind Marken der
Microsoft-Unternehmensgruppe.
Alle anderen Marken sind Eigentum ihrer jeweiligen Inhaber.
3
Inhalt
Einführung..................................................................................................................................................... 5
Setup und Konfigurationen von Hyper-V ...................................................................................................... 6
Prüfliste und Überlegungen vor der Installation von Hyper-V ................................................................. 6
Empfehlungen für die Speicherkonfiguration........................................................................................... 7
Methodik und Arbeitsauslastungen der Tests .............................................................................................. 8
Arbeitsauslastungen der Tests .................................................................................................................. 8
Überwachen von SQL Server in Hyper-V-Konfigurationen ..................................................................... 11
Testergebnisse, Beobachtungen und Empfehlungen ................................................................................. 14
Verarbeitungsaufwand bei der Ausführung von SQL Server in Hyper-V ................................................ 14
E/A-Aufwand von Pass-Through-Datenträgern – SQLIO..................................................................... 15
Verarbeitungsaufwand für virtuelle Computer: OLTP-Arbeitsauslastung .......................................... 17
Vergleich der Leistung von Berichtsabfragen ..................................................................................... 22
Datenbankvorgänge ............................................................................................................................ 23
Szenarien der SQL Server-Konsolidierung mit Hyper-V .......................................................................... 28
Vergleichen der Speicherkonfigurationen in einer Konsolidierungsumgebung ................................. 29
Skalierbarkeit der virtuellen Instanz ................................................................................................... 32
Leistung der virtuellen Instanz mit überlasteten CPU-Ressourcen .................................................... 34
Vergleichen von Konsolidierungsoptionen ......................................................................................... 35
Fazit ............................................................................................................................................................. 36
Beobachtungen ....................................................................................................................................... 37
Empfehlungen ......................................................................................................................................... 38
Weitere Informationen ........................................................................................................................... 39
4
Anhang 1: Architektur von Hyper-V ............................................................................................................ 40
Anhang 2: Hardwareanforderungen ........................................................................................................... 44
Arbeitsspeicher ....................................................................................................................................... 44
Prozessoren............................................................................................................................................. 45
Netzwerk ................................................................................................................................................. 45
Speicher .................................................................................................................................................. 46
Anhang 3: Hardwarekonfiguration ............................................................................................................. 47
Einführung
Das auf Hypervisortechnologie basierende Virtualisierungsfeature Hyper-V™ in
Windows Server® 2008 ist eine dünne Softwareschicht zwischen Hardware und
Betriebssystem, die das gleichzeitige Ausführen mehrerer Betriebssysteme ohne
Modifizierungen auf einem Hostcomputer ermöglicht. Hyper-V ist eine leistungsfähige
Virtualisierungstechnologie, mit der die IT-Abteilungen von Unternehmen Server mit
geringer Auslastung konsolidieren, die Gesamtbetriebskosten (Total Cost of Ownership,
TCO) senken und gleichzeitig die Quality of Service (QoS) aufrechterhalten und verbessern
können. Hyper-V ermöglicht eine größere Anzahl von Entwicklungs- und Testumgebungen,
die andernfalls durch die verfügbare Hardware eingeschränkt ist.
Bereits unter normalen Umständen ist es schwierig, Hardware so zu dimensionieren,
dass bestehende Arbeitsauslastungen konsolidiert werden können und Raum für Wachstum
bleibt. Wenn zusätzlich Virtualisierungstechnologie genutzt werden soll, erhöhen sich die
Anforderungen an die Kapazitätsplanung. Das vorliegende Dokument gibt Hilfestellung,
wie Sie diese Anforderungen erfolgreich meistern können. Hierzu werden zwei wichtige
Aspekte im Hinblick auf die Ausführung von Microsoft® SQL Server® in einer
Hyper-V-Umgebung behandelt:

Zusätzlicher Systemressourcenaufwand durch die Ausführung von SQL Server
in einer Hyper-V-Umgebung

Skalierbarkeit bei der Ausführung von SQL Server 2008 in Hyper-V
5
In diesem Whitepaper wird eine Reihe von Testkonfigurationen beschrieben, die erprobt
wurden und die verschiedene mögliche Szenarien für die Ausführung von SQL Server
in Hyper-V darstellen. Ferner werden die Ergebnisse und Beobachtungen erörtert und
Empfehlungen gegeben. Die Ergebnisse der Tests haben gezeigt, dass SQL Server 2008
in Hyper-V sehr gute Leistung und Skalierbarkeit bietet. Nach unserer Überzeugung ist
Windows Server 2008 Hyper-V bei entsprechender Arbeitsauslastung eine zuverlässige
Plattform für SQL Server 2008. Hyper-V-Umgebungen sind optimal für Produktionsszenarien
geeignet, sofern die Kapazität des virtuellen Hyper-V-Gastcomputers für die jeweilige
Arbeitsauslastung ausreicht.
Setup und Konfigurationen von Hyper-V
Dieser Abschnitt enthält eine vereinfachte Prüfliste für die Hyper-V-Installation. Weitere
Informationen über Hyper-V finden Sie am Ende dieses Whitepapers in der Liste zusätzlicher
Whitepaper sowie in Anhang 3, in dem die für die Tests verwendete Hardware beschrieben wird.
Prüfliste und Überlegungen vor der Installation von Hyper-V

Verwenden Sie einen Serverprozessor, der hardwaregestützte Virtualisierung unterstützt.
Es stehen zwei Optionen zur Auswahl:
o Intel VT
o AMD Virtualization (AMD-V)

Stellen Sie sicher, dass die hardwaregestützte Virtualisierung und
Datenausführungsverhinderung (Data Execution Prevention, DEP) vorhanden
und aktiviert sind. (Sie können dies in der BIOS-Einstellung überprüfen.)

Führen Sie die Hyper-V-Serverrolle nur in der Stammpartition des
Windows®-Betriebssystems aus.

Legen Sie Datenträger, die als Pass-Through-Datenträger für den virtuellen Gastcomputer
konfiguriert werden sollen, mit DISKPART oder der Volume-Verwaltung in der
Stammpartition als offline fest.

Stellen Sie sicher, dass die Integrationskomponenten (Optimierungen oder
„Enlightenments“) auf dem virtuellen Gastcomputer installiert sind.

Verwenden Sie eine Netzwerkkarte vom Typ „Netzwerkkarte“ statt vom Typ „ältere
Netzwerkkarte“, wenn Sie das Netzwerk für den virtuellen Computer konfigurieren.
6

Vermeiden Sie für SQL Server-Bereitstellungen nach Möglichkeit emulierte Geräte.
Diese können im Vergleich zu synthetischen Geräten einen erheblich höheren
CPU-Verarbeitungsaufwand verursachen.
Empfehlungen für die Speicherkonfiguration
Wie bei jeder SQL Server-Bereitstellung ist ein E/A-Durchsatz mit ordnungsgemäßer
Dimensionierung und Konfiguration von entscheidender Bedeutung für die Leistung.
Dies gilt ebenso beim Konfigurieren des Speichers in virtuellen Umgebungen. E/ADurchsatz und Speicherkapazität der Speicherhardware müssen für die aktuellen und
zukünftigen Anforderungen der geplanten virtuellen Computer ausreichen. Beachten Sie
beim Konfigurieren des Speichers alle Best Practices für die Speicherung vor der Bereitstellung.
Hyper-V unterstützt verschiedene Arten von Speicheroptionen. Jede Speicheroption
kann über einen IDE- oder SCSI-Controller zugeordnet werden. Für SQL Server-Datenund -Protokolldateien wurde die Konfigurationsoption für den virtuellen SCSI-Controller
verwendet. SQL Server ist E/A-intensiv, deshalb wird empfohlen, die Auswahl auf die
beiden Optionen mit der höchsten Leistung zu beschränken:


Pass-Through-Datenträger
Virtuelle Festplatten (Virtual Hard Disks, VHDs) mit fester Größe
Dynamische VHDs werden aus Leistungsgründen nicht empfohlen. Der Grund hierfür ist, dass
bei dynamischen VHDs die Blöcke auf dem Datenträger zunächst Nullblöcke sind, für diese
jedoch kein tatsächlicher Bereich in der Datei vorhanden ist. Lesevorgänge von diesen Blöcken
geben einen Block von Nullen zurück. Wenn das erste Mal in einen Block geschrieben wird,
muss der Virtualisierungsstapel einen Bereich für den Block in der VHD-Datei reservieren und
dann die Metadaten aktualisieren. Außerdem muss jedes Mal, wenn auf einen vorhandenen
Block verwiesen wird, die Blockzuordnung in den Metadaten gesucht werden. Hierdurch werden
sowohl die Anzahl der Datenträger-E/A-Operationen für Lese- und Schreibaktivitäten als auch
die CPU-Nutzung erhöht. Außerdem muss der Serveradministrator aufgrund des dynamischen
Wachstums die Datenträgerkapazität überwachen, um sicherzustellen, dass bei zunehmenden
Speicheranforderungen genügend Speicherplatz vorhanden ist.
VHDs fester Größe können bei Bedarf erweitert werden, jedoch muss hierfür der virtuelle
Gastcomputer während des Betriebs heruntergefahren werden.
7
In den Testszenarien für dieses Dokument wurden Speicherkonfigurationen für Pass-ThroughDatenträger und VHDs fester Größe verwendet. In allen Konfigurationen wurden synthetische
SCSI-Controller für die virtuellen Gastcomputer verwendet. Weitere Informationen zu der für
die Tests verwendeten Hardware finden Sie in Anhang 3. (Hinweis: Synthetische IDE-Controller
wurden nicht getestet.)
Methodik und Arbeitsauslastungen der Tests
Es wurde eine Reihe von Testszenarien gewählt, um Best Practices und Leistungsaspekte
für das Ausführen von SQL Server 2008-Anwendungen in einer Hyper-V-Umgebung zu
bestimmen. Mit der ersten Gruppe von Testszenarien sollten die Unterschiede zwischen
dem Verarbeitungsaufwand einer systemeigenen Umgebung und einer Hyper-V-Umgebung
mit virtuellem Gastcomputer ermittelt werden. Mit der zweiten Gruppe von Testszenarien
sollte die Skalierbarkeit eines virtuellen Gastcomputers auf einem einzelnen Hostserver
untersucht werden.
Arbeitsauslastungen der Tests
Zum Messen der Leistung der unterschiedlichen Szenarien wurden verschiedene
Arbeitsauslastungen verwendet. In diesem Whitepaper bezeichnet systemeigen eine
Windows-Installation ohne aktiviertes Hyper-V, Stamm bezeichnet die übergeordnete
Partition in einer Windows Hyper-V-Konfiguration mit aktiviertem Hyper-V, und
virtueller Gastcomputer bezeichnet den virtuellen Gastcomputer auf der Stammpartition
(bzw. übergeordneten Partition) von Windows.
Diese Szenarien dienten hauptsächlich den folgenden Zwecken:

Vergleichen der Leistung von SQL Server bei der Ausführung im Stamm mit der
Ausführung auf einem virtuellen Gastcomputer

Vergleichen der Leistung mehrerer SQL Server-Instanzen, die unter einer
systemeigenen Windows-Instanz ausgeführt werden, mit der Leistung von einzelnen
SQL Server-Instanzen, die auf mehreren virtuellen Gastcomputern ausgeführt werden

Beobachten der Skalierbarkeit des SQL Server-Auslastungsdurchsatzes bei
zunehmender Anzahl virtueller Gastcomputer, die in einer einzelnen Stammpartition
ausgeführt werden
8
Die für diese Tests verwendeten Arbeitsauslastungen, ihre Merkmale sowie die Szenarien
für die einzelnen Arbeitsauslastungen werden in der folgenden Tabelle beschrieben.
Tabelle 1: Arbeitsauslastungen und Szenarien
Arbeitsauslastung
Allgemeine Merkmale
Entsprechende Szenarien
SQLIO
Generieren der
E/A-Arbeitsauslastung

Vergleichen der E/A-Leistung
von systemeigener Instanz und
virtuellem Gastcomputer
OLTP-Arbeitsauslastung
OLTP-Arbeitsauslastung,
die eine Makleranwendung
für die Interaktion mit
Kunden simuliert.
Weitere Informationen
zur Hardwarekonfiguration
finden Sie in Anhang 3.

Vergleichen der Leistung von
Arbeitsauslastungen zwischen
systemeigener Instanz, Stamm
und virtuellem Gastcomputer
Vergleichen mehrerer
SQL Server-Instanzen, die unter
einer systemeigenen Instanz von
Windows ausgeführt werden,
mit mehreren virtuellen
Gastcomputern, die jeweils unter
einer einzelnen SQL ServerInstanz ausgeführt werden
Skalierung des
Arbeitsauslastungsdurchsatzes
bei zunehmender Anzahl von
Gastcomputern


Berichtsarbeitsauslastung Berichtsabfragen, die
umfangreiche CPU- und
E/A-Ressourcen nutzen

Vergleichen der Leistung von
Berichtsabfragen zwischen
systemeigener Instanz, Stamm
und virtuellem Gastcomputer
Betriebsbedingte
SQL ServerArbeitsauslastung

Vergleichen der Leistung von
Datenbankvorgängen zwischen
systemeigener Instanz, Stamm
und virtuellem Gastcomputer
Sicherung/Wiederherstellung,
Indexerstellung, DBCC
CHECKDB
Die folgende Liste enthält spezifischere Informationen über die Szenarios für die einzelnen
verwendeten Arbeitsauslastungen:

SQLIO-Test: SQLIO ist ein Tool, mit dem die E/A-Kapazität einer ausgewählten
Konfiguration bestimmt wird. Mit diesem Testszenario sollte die E/A-Kapazität
beim Ausführen eines virtuellen Gastcomputers bestimmt werden, wenn als
Speicherkonfiguration Pass-Through-Datenträger verwendet werden.
9

OLTP-Arbeitsauslastung. Merkmale dieses Testszenarios:
o Vergleich der Leistung von SQL Server unter einer systemeigenen Instanz
von Windows mit der Leistung bei der Ausführung auf einem virtuellen
Gastcomputer. Bei diesem Vergleich wurden für die systemeigene Instanz und
den virtuellen Gastcomputer äquivalente Hardwarekonfigurationen verwendet.
o Vergleich der Leistung von SQL Server unter Verwendung verschiedener
Speicherkonfigurationen für Daten- und Protokolldateien. Vergleiche der
Pass-Through-Datenträger-Konfigurationen mit VHD-Konfigurationen
sowie unterschiedlichen zugrunde liegenden Speicherarraykonfigurationen
(d. h. Vergleich der Konfiguration für freigegebenen Speicher mit der
Konfiguration für dedizierten Speicher).
o Vergleich der Leistung mehrerer SQL Server-Instanzen, die unter
einer systemeigenen Instanz von Windows ausgeführt werden, mit
einer entsprechenden Anzahl von virtuellen Gastcomputern, die jeweils
für eine einzelne Instanz von SQL Server konfiguriert sind.
o Beobachtung der Skalierung der Arbeitsauslastung, wenn der Stammpartition
eines einzelnen physischen Servers weitere virtuelle Gastcomputer hinzugefügt
werden. In diesem Fall wurden folgende Fälle betrachtet:
 Die Anzahl physischer CPU-Kerne entsprach der Summe logischer

CPU-Kerne für alle virtuellen Gastcomputer.
Die Anzahl physischer CPU-Kerne war kleiner als die Summe der
logischen CPU-Kerne aller virtuellen Gastcomputer (überlastete
CPU-Ressourcen).

Berichtsarbeitsauslastung: In diesem Szenario wird die Leistung von SQL Server unter
einer systemeigenen Windows-Instanz mit der Leistung von SQL Server auf einem
virtuellen Gastcomputer mit äquivalenter Hardwarekonfiguration verglichen.

Datenbankvorgänge: In diesem Szenario wird die Leistung von SQL Server unter einer
systemeigenen Windows-Instanz mit der Leistung von SQL Server auf einem virtuellen
Gastcomputer mit äquivalenter Hardwarekonfiguration verglichen.
In den Szenarien mit OLTP-Arbeitsauslastung wurden verschiedene Arbeitsauslastungsgrade
verwendet, um Verhaltensunterschiede bei unterschiedlicher CPU-Auslastung zu beobachten.
Details der unterschiedlichen Arbeitsauslastungsgrade werden weiter unten in diesem
Whitepaper erörtert.
10
Überwachen von SQL Server in Hyper-V-Konfigurationen
Wenn Sie mit Windows System Monitor („Perfmon“) die Leistung von SQL Server in
Hyper-V-Konfigurationen überwachen, ist Verschiedenes zu beachten. Um zuverlässige
Messungen der Ressourcennutzung zu erhalten, müssen Hyper-V-Leistungsindikatoren
verwendet werden, die von Windows in der Stammpartition verfügbar gemacht werden.
Eine ausführliche Erläuterung der Hyper-V-Überwachung würde den Rahmen dieses
Dokuments sprengen. Weitere Informationen finden Sie in Anhang 3.
Während der Tests ergaben sich unterschiedliche Erkenntnisse hinsichtlich der
Leistungsüberwachung. Die Mehrzahl der Überlegungen betrifft Messungen der CPU-Nutzung.
Wenn Sie die CPU-Auslastung auf einem Server überwachen, auf dem Hyper-V ausgeführt wird,
sollten Sie für die Stammpartition verfügbar gemachte Hyper-V-Prozessorleistungsindikatoren
verwenden. Hyper-V macht drei primäre Leistungsindikatoren bezüglich der CPU-Auslastung
verfügbar:

Logischer Prozessor für Hyper-V-Hypervisor: Liefert die präzisesten Daten zur
Summe der auf dem gesamten physischen Server genutzten CPU-Ressourcen.

Virtueller Prozessor des Hyper-V-Hypervisorstamms: Liefert das präziseste Maß
für die von der Stammpartition genutzten CPU-Ressourcen.

Virtueller Prozessor von Hyper-V-Hypervisor: Liefert das präziseste Maß der
CPU-Nutzung für bestimmte virtuelle Gastcomputer.
Die herkömmlichen Leistungsindikatoren vom Typ % Prozessorzeit können in der
Stammpartition überwacht werden. Da jedoch Virtualisierungsschichten vorhanden sind,
die nicht für diese Prozessorleistungsindikatoren verfügbar gemacht werden, stellen sie die
Nutzung der CPU-Ressourcen möglicherweise nicht präzise dar. Messen Sie zum Überwachen
der Leistung die CPU-Nutzung mit Hyper-V-Leistungsindikatoren auf jedem Server, auf dem
die Rolle für Hyper-V mit aktiviertem Hypervisor ausgeführt wird. Weitere Informationen finden
Sie im Blog von Tony Voellm zur Hyper-V-Leistungsüberwachung.
Die einzelnen Indikatoren werden in Abbildung 1 dargestellt. In dieser Abbildung wird die
obere Gruppe von Leistungsindikatoren (\\SQLBP08R900) in der Stammpartition überwacht,
und die untere Gruppe von Leistungsindikatoren (\\sqlhv1) wird aus der Perspektive des
Gastcomputers überwacht. Beachten Sie, dass in diesem Beispiel 16 physische CPU-Kerne
für die Stammpartition und vier logische CPU-Kerne für den virtuellen Gastcomputer sichtbar
sind. Beachten Sie außerdem, dass in der Stammpartition zwei virtuelle Gastcomputer ausgeführt
11
werden, in der Abbildung aus Platzgründen jedoch nur ein virtueller Gastcomputer gezeigt wird.
Die vier Leistungsindikatoren für die logischen Prozessoren des zweiten virtuellen Computers
nehmen die gesamte Breite der Abbildung ein.
Abbildung 1: Hyper-V-Leistungsindikatoren
Weitere Informationen zur Überwachung und zu diesen spezifischen Themen finden Sie im
Virtualisierungsabschnitt der Richtlinien für die Leistungsoptimierung von Windows Server
2008 und in den Blogs zu Hyper-V-Leistungsindikatoren.
Für die Überwachung von SQL Server müssen bei der Ausführung auf einem virtuellen
Gastcomputer keine besonderen Überlegungen berücksichtigt werden. Im Allgemeinen
messen SQL Server-Leistungsindikatoren entweder die Nutzung (SQL Server-spezifische
Ressourcen) oder den Durchsatz. Außerdem werden SQL Server-Leistungsindikatoren
nicht für die Stammpartition verfügbar gemacht, wenn sie auf einem virtuellen Gastcomputer
ausgeführt werden. Sie müssen auf dem virtuellen Gastcomputer überwacht werden.
Das Messen der E/A-Leistung erfolgt je nach Konfiguration des Gastcomputers auf
unterschiedliche Weise. Die Latenzzeit ist ein Maß für die verstrichene Zeit, und sie
kann vom Stamm oder vom Gastcomputer mit ausreichender Genauigkeit gemessen
werden. Es folgen einige allgemeine Überlegungen zur Überwachung der Datenträgerleistung:
12

Sie können die E/A-Leistung mit Indikatoren für logische oder physische Datenträger
auf dem virtuellen Gastcomputer überwachen. Es wurden äußerst geringe Unterschiede
zwischen den Werten der Leistungsindikatoren beobachtet, die von der Stammpartition
und vom virtuellen Gastcomputer gemessen wurden. Jedoch wurden bei der
Überwachung vom virtuellen Gastcomputer geringfügig höhere Latenzzeitwerte
(„Mittlere Sek./Lesevorgänge“ und „Mittlere Sek./Schreibvorgänge“) als bei der
Überwachung vom Stamm beobachtet. Der Grund hierfür ist, dass der Abschluss von
E/A-Vorgängen aus der Perspektive des virtuellen Computers möglicherweise etwas
länger dauert.

Wenn der Speicher des virtuellen Gastcomputers als Pass-Through-Datenträger
konfiguriert ist, ist der Datenträger auf der Ebene der Stammpartition offline, und
er wird von den Leistungsindikatoren des logischen Datenträgers in der Stammpartition
nicht erfasst. Zum Überwachen der Leistung von Pass-Through-Datenträgern in der
Stammpartition müssen die Leistungsindikatoren für physische Datenträger verwendet
werden. Zum Zeitpunkt der Tests gab es bekannte Probleme bei Windows Server 2008Leistungsindikatoren für physische Datenträger, wenn Multipfadlösungen verwendet
wurden. Die Probleme wurden mit der neuesten allgemeinen Vertriebsversion von
System Center Virtual Machine Manager behoben.

Wenn virtuelle Gastcomputer so konfiguriert sind, dass für die Speicherung
VHD-Dateien verwendet werden, und diese VHD-Dateien auf gewöhnlichen
physischen Datenträgern gespeichert werden, liefert die Überwachung der
Datenträgerleistungsindikatoren vom virtuellen Gastcomputer aus Detailinformationen
zum E/A-Verhalten für die jeweilige VHD. Die Überwachung des Volumes in
der Stammpartition, das alle VHD-Dateien enthält, liefert Aggregatwerte für alle
E/A-Vorgänge, die für den Datenträger oder das Volume ausgegeben werden.
In Tabelle 2 werden die Typen von Leistungsindikatoren gezeigt, deren Werte während
Arbeitsauslastungen für den die OLTP-Arbeitsauslastung betreffenden Teil der Tests erfasst
wurden. Sie veranschaulicht die Unterschiede bei den Werten der Leistungsindikatoren bei
Überwachung vom virtuellen Gastcomputer im Vergleich zur Überwachung der Stammpartition.
13
Tabelle 2: Leistungsindikatoren und Arbeitsauslastungen
Ausgangspunkt
der
Indikatormessung
Virtueller
Gastcomputer
Stammpartition
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Transactions/sec
352
546
658
Batches/sec
565
897
1075
% Processor Time
34,2
65,3
84,2
% Privilege Time
5,1
8
8,4
Logical - Avg. Disk sec/Read (_Total)
0,005
0,006
0,007
Logical - Disk Reads/sec (_Total)
1053
1597
1880
% Processor Time
4,9
7,8
11,2
% Privilege Time
Hyper-V Logical Processor – %Hypervisor
Run Time
Hyper-V Logical Processor – %Total Run
Time
Hyper-V Logical Processor – %guest virtual
machine Run Time
3,6
6,1
7,3
4
4,8
4,3
39,1
68,7
86,5
35,1
63,9
82,1
Physical – Avg. Disk sec/Read (_Total)
0,005
0,006
0,006
Physical – Disk Reads/sec (_Total)
1053
1597
1880
Batches per CPU % (Batches/sec / %Guest
virtual machine Run Time)
16,1
14
13,1
Leistungsindikator
Hinweis: In der Stammpartition gemessene Hyper-V-Leistungsindikatoren sind die
Aggregation aller ausgeführten virtuellen Gastcomputer.
Testergebnisse, Beobachtungen und Empfehlungen
In diesem Abschnitt werden die Testergebnisse beschrieben und analysiert. Er enthält
außerdem Empfehlungen und Beobachtungen zum Ausführen von SQL Server in einer
virtuellen Umgebung. Der Abschnitt besteht aus zwei Teilen: Im ersten Teil wird der
grundlegende Ressourcenaufwand erläutert, der durch Ausführen von SQL Server
in einer Hyper-V-Umgebung verursacht wird, und im zweiten Teil werden die
Auswirkungen des Konsolidierens von SQL Server als virtuelle Instanzen erläutert.
Verarbeitungsaufwand bei der Ausführung von SQL Server in Hyper-V
Mit der ersten Gruppe von Testszenarien sollte der Verarbeitungsaufwand bei der Ausführung
von SQL Server in einer sicheren Hyper-V-Umgebung ermittelt werden. Es wurden drei Typen
von Basistests ausgeführt: in einer systemeigenen Windows-Umgebung mit deaktiviertem
14
Hyper-V, in der Stammpartition mit aktiviertem Hyper-V und auf einem einzelnen virtuellen
Gastcomputer. In allen Fällen wurde die gleiche Hardwarekonfiguration verwendet.
Hinweis: Systemeigene Instanz bezeichnet eine SQL Server-Instanz, die in einer systemeigenen
Windows-Umgebung ausgeführt wird, und virtuelle Instanz bezeichnet eine SQL Server-Instanz,
die auf einem virtuellen Gastcomputer ausgeführt wird.
Dieser Abschnitt enthält die folgenden Testszenarien:

Bestimmen des E/A-Aufwands von Pass-Through-Datenträgern mithilfe von SQLIO

Vergleichen der Leistung der OLTP-Arbeitsauslastung in einer einzelnen systemeigenen
Instanz und einer virtuellen Instanz

Vergleichen der Leistung von Berichtsabfragen in einer systemeigenen Instanz und einer
virtuellen Instanz

Beobachtungen der Auswirkungen der Virtualisierung auf häufige Datenbankvorgänge:
o Komprimierte Datensicherung und Wiederherstellung
o Indexerstellung
o DBCC CHECKDB
E/A-Aufwand von Pass-Through-Datenträgern – SQLIO
Der E/A-Aufwand stellte bislang in virtuellen Umgebungen ein Problem dar. Er konnte bei
E/A-intensiven Anwendungen wie SQL Server Fehler bei der Ausführung verursachen. Für
Hyper-V wird eine andere Technologie verwendet. Um den optimalen Fall zu untersuchen,
wurde im ersten Testszenario der E/A-Aufwand der besten E/A-Konfiguration ermittelt, d. h.
mit dedizierten Pass-Through-Datenträgern. Die Konfiguration mit Pass-Through-Datenträgern
wurde gewählt, weil diese den kürzesten Codepfad vom Host zum E/A-Subsystem aufweist.
In den Tests wurde der Stammpartition und dem virtuellen Gastcomputer dieselbe Anzahl
physischer Spindeln zugeordnet. Wiederholte Tests verschiedener nach dem Zufallsprinzip
ausgewählter sowie sequenzieller E/A-Anforderungen ergaben, dass bei Verwendung von
Hyper-V mit Pass-Through-Datenträgern nahezu kein zusätzlicher E/A-Aufwand auftritt.
Weitere Informationen, einschließlich einer detaillierten Leistungsanalyse von Pass-ThroughDatenträgern und virtuellen Festplatten, finden Sie in dem Whitepaper „Windows Server 2008
Hyper-V Virtual Hard Disk and Pass-through Disk Performance“ (Leistung von Windows
15
Server 2008 Hyper-V mit virtuellen Festplatten und Pass-Through-Datenträgern), das in
Kürze veröffentlicht wird. Weitere Informationen zur Analyse der Speicherleistung von
Hyper-V finden Sie außerdem hier
(http://blogs.msdn.com/tvoellm/archive/2008/09/24/what-hyper-v-storage-is-best-for-you-show-methe-numbers.aspx).
Speicherkonfiguration
Die Konfiguration der Pass-Through-Datenträger für den Stamm und den virtuellen
Computer war identisch. Jede Konfiguration wurde mit logischen Gerätenummern
(Logical Unit Numbers, LUNs) aus dem Speicherarray dargestellt, in dem die gleiche
Anzahl von physischen Datenträgerressourcen verwendet wurde. Die LUNs waren nicht
auf Datenträgerebene freigegeben, d. h., für die LUNs waren keine Spindeln freigegeben.
In Abbildung 2 wird die jeweilige Konfiguration dargestellt.
Abbildung 2: Speicherkonfiguration für Pass-Through-Datenträger
Leistung der Pass-Through-Konfiguration
Um eine Basislinie des Durchsatzes zu bestimmen, wurden für alle virtuellen Gastcomputer
und den Stamm die gleichen SQLIO-Tests durchgeführt. In Abbildung 3 und 4 werden
die Ergebnisse der Tests für nach dem Zufallsprinzip ausgewählte und sequenzielle E/AAnforderungen mit SQLIO veranschaulicht. Für dieses Testszenario wurden die beiden
üblichen SQLIO-Werte (8.000 und 64.000) verwendet.
16
8.000 nach Zufallsprinzip – Stamm und VC
E/A pro Sekunde
4,000
3,500
3,000
Systemeigenes BS
2,500
2,000
VC
1,500
1,000
500
0
Schreiben
Lesen
Abbildung 3: Pass-Through mit 8.000 nach dem Zufallsprinzip ausgewählten E/A-Anforderungen
SQLIO, 64.000 sequenziell – Stamm und VC
10,000
8,000
Systemeigenes BS
6,000
VC
4,000
2,000
0
Schreiben
Lesen
Abbildung 4: Pass-Through mit 64.000 sequenziellen E/A-Anforderungen
Verarbeitungsaufwand für virtuelle Computer: OLTP-Arbeitsauslastung
Mit diesem Testszenario sollten die Auswirkungen der Ausführung von SQL Server 2008
auf einem virtuellen Computer gemessen werden. Hierfür wurde eine OLTP-Arbeitsauslastung
verwendet, die eine Makleranwendung simuliert. Informationen zu der für diesen Test
verwendeten Hardwarekonfiguration finden Sie in Anhang 3. Es wurden drei
17
Arbeitsauslastungsgrade für die Basislinie, den Stamm und den virtuellen Gastcomputer
ausgeführt. Bei der Basislinie handelt es sich um das Ausführen der SQL Server-Instanz auf
dem systemeigenen Server mit deaktiviertem Hyper-V. Zu diesem Zweck wurde die Einstellung
„hypervisorlaunchtype off“ („bcdedit /set hypervisorlaunchtype off“) verwendet. Damit diese
Einstellung wirksam wird, ist ein Neustart von Windows erforderlich. Die Belastungsgrade
des Testszenarios wurden anhand des Prozentsatzes der CPU-Auslastung definiert. Da in
Produktionsumgebungen normalerweise keine vollständige CPU-Sättigung eintritt, wurde
für die CPU-Belastung ein Zielbereich von 20 % bis 80 % festgelegt. Die Zielwerte der
CPU-Auslastung für die einzelnen Arbeitsauslastungsgrade sind in Tabelle 3 definiert.
Tabelle 3: Zielwerte der CPU-Auslastung
Testarbeitsauslastung
OLTP – niedrig
OLTP – mittel
OLTP – hoch
Ungefährer CPU-Zielwert
30 %
50 % - 60 %
80 %
Da die virtuellen Hyper-V-Gastcomputer bis zu vier logische Prozessoren unterstützen,
wurde zum direkten Vergleich der Host über die BIOS-Einstellung für die Verwendung
von vier Kernen konfiguriert (NUMPROC=4). Um die Auswirkungen der Speicherkonfiguration
zu ermitteln, wurden zwei virtuelle Computer mit den beiden für SQL Server-Arbeitsauslastung
empfohlenen Typen der Hyper-V-Speicherkonfiguration (Pass-Through-Datenträger und VHDs
fester Größe) konfiguriert.
Auswirkungen auf Durchsatz und Prozessor
Die Basistests mit drei Arbeitsauslastungsgraden wurden in einer systemeigenen Windows
Server 2008-Umgebung mit deaktivierter Hyper-V-Rolle ausgeführt. Der gleiche Satz von
Arbeitsauslastungen wurde für die Stammpartition mit aktiviertem Hyper-V, für einen mit
Pass-Through-Datenträgerspeicherung konfigurierten Gastcomputer und anschließend für
einen virtuellen Gastcomputer mit VHD-Speicher fester Größe ausgeführt.
18
In Tabelle 4 werden die Batchanforderungen im Verhältnis zum CPU-Prozentwert sowie
der Aufwand für alle Testfälle gezeigt. In allen Testfällen dieses Szenarios war die
Skalierbarkeit des Systems sehr gut. Jede Konfiguration erzielte den gleichen Durchsatz,
wobei der virtuelle Computer einen höheren CPU-Aufwand zum Erreichen des gleichen
Durchsatzes verursachte. Pass-Through-Datenträger und VHDs mit fester Größe wiesen
bei Abweichungen des Aufwands von unter 1 Prozent eine nahezu gleiche Leistung auf.
In Tabelle 4 wird der durch Ausführen der OLTP-Arbeitsauslastung auf dem virtuellen
Computer verursachte CPU-Verarbeitungsaufwand dargestellt. Der Prozentsatz des
Verarbeitungsaufwands war bei der geringeren Arbeitsauslastung höher. Dem virtuellen
Computer ist ein bestimmter fester Umfang an Arbeits- und CPU-Auslastung zugeordnet.
Wenn dieser Umfang auf eine geringere Arbeitsauslastung verteilt wird, ist der Prozentsatz des
Verarbeitungsaufwands höher. Als Maß für die Leistung wurde die folgende Formel verwendet:
Batch/CPU% = Batchanforderungen/Sekunde dividiert durch den Prozentsatz der
CPU-Auslastung
Tabelle 4: CPU-Verarbeitungsaufwand des virtuellen Computers beim Ausführen von
OLTP-Arbeitsauslastungen
Niedrig
Basislinie1
2
Stamm
VC_PT
3
VC_VHD
1.
4
Mittel
Batchanf./s
Batch/
CPU%
566
19,2
0,00 %
908
16
566
17,5
8,85 %
907
565
16,1
16,15 %
563
15,7
18,23 %
Aufwand
Batchanf./s
Batch/
CPU%
0,00 %
1069
14,8
0,00 %
14,8
7,50 %
1113
13,5
8,78 %
897
14
12,50 %
1075
13,1
11,49 %
876
13,9
13,13 %
1029
13,2
10,81 %
Batchanf./s
Batch/
CPU%
Hoch
Aufwand
Aufwand5
Basislinie: Eine systemeigene Windows Server 2008-Umgebung mit deaktivierter Hyper-V-Rolle.
Der virtuelle Netzwerkswitch ist nicht deaktiviert.
2.
Stammpartition: Eine Stammpartition in Windows Server 2008 mit aktiviertem Hyper-V.
3.
VC_PT: Ein virtueller Gastcomputer, der mit Pass-Through-Datenträgern, vier logischen Prozessoren und
14 GB RAM konfiguriert ist.
19
4.
VC_VHD: Ein virtueller Gastcomputer, der mit VHDs fester Größe, vier logischen Prozessoren und 14 GB
RAM konfiguriert ist.
5.
Der Aufwand wird durch Vergleichen mit der Basislinie berechnet ((Basislinienbatches/CPU – VCBatches/CPU)/Basislinienbatches/CPU)
Relativer Durchsatz (Batches/s/% Prozessorzeit)
Relativer Durchsatz – Batches pro CPU%
(Batches pro Sekunde / Summe % Prozessorzeit)
20.0
18.0
16.0
14.0
Systemeigenes BS –
Hyper-V deaktiviert
12.0
Stammpartition –
Hyper-V aktiviert
10.0
8.0
Einzelner VC (PassThrough-Datenträger)
6.0
Einzelner VC (VHD
fester Größe)
4.0
2.0
0.0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 5: Relativer Durchsatz – Batchanforderung pro CPU%
Speicherkonfiguration und Leistung
Beide virtuellen Gastcomputer wiesen die gleiche zugrunde liegende Datenträgerkonfiguration
für SQL Server-Daten- und -Protokolldateien auf, daher sind diese direkt vergleichbar. (Die
Details der jeweiligen physischen Konfiguration werden weiter oben in diesem Dokument
beschrieben. Sie sind mit der für die SQLIO-Tests verwendeten Konfiguration identisch.)
Bei Verwendung von VHD-Dateien waren diese die einzigen Dateien auf den physischen
Datenträgern, die in der Stammpartition verfügbar gemacht wurden. Wenn für die Speicherung
von SQL Server-Daten- und -Protokolldateien VHDs verwendet wurden, wurde eine geringfügig
20
höhere Latenzzeit beobachtet, die sich geringfügig auf den Arbeitsauslastungsdurchsatz
auswirkte, wie in Abbildung 5 gezeigt.
Die Verwendung von VHDs als Konfiguration für virtuelle Gastcomputer bietet Vorteile bei
der Bereitstellung und Verwaltung. Bei geringer Belastung weisen Pass-Through-Datenträger
und VHDs fester Größe keinen Unterschied hinsichtlich Durchsatz/Leistung auf. Bei zunehmender
Arbeitsauslastung ist ein geringer Leistungsvorteil von Pass-Through-Datenträgern zu beobachten.
In Abbildung 6 wird die in diesem OLTP-Testszenario aufgezeichnete Leseleistung dargestellt.
Lesevorgänge pro Sekunde für Datenmengen
2000
1800
Datenträger-Lesevorgänge/s
1600
1400
Systemeigenes BS –
Hyper-V deaktiviert
Stammpartition –
Hyper-V aktiviert
Einzelner VC (PassThrough-Datenträger)
Einzelner VC (VHD
fester Größe)
1200
1000
800
600
400
200
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 6: Datenmengen (Lesevorgänge pro Sekunde)
In Abbildung 7 wird die durchschnittliche Datenträgerlatenzzeit aller ausgeführten Tests gezeigt.
Erwartungsgemäß weisen VHDs die größte Latenzzeit auf, während die Latenzzeit der PassThrough-Datenträger gleich der Latenzzeit des systemeigenen Speichers ist. Die Werte für
die Datenträgerlatenzzeit der VHDs wurden von den Leistungsindikatoren der virtuellen
Gastcomputer gemeldet. Es wurden jedoch keine Unterschiede zwischen diesen Werten
und den von der Stammpartition gemeldeten Werten festgestellt.
21
Durchschnittliche Datenträgerlatenzzeit in Sekunden
0.009
Mittlere Sek./Lesevorgänge
0.008
Systemeigenes BS –
Hyper-V deaktiviert
0.007
0.006
Stammpartition –
Hyper-V aktiviert
0.005
0.004
Einzelner VC (PassThrough-Datenträger)
0.003
0.002
Einzelner VC (VHD
fester Größe)
0.001
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 7: Durchschnittliche Datenträgerlatenzzeit
Vergleich der Leistung von Berichtsabfragen
Berichtsabfragen sind im Allgemeinen lesende Abfragen mit langer Ausführungszeit, die
umfangreiche CPU- und E/A-Ressourcen nutzen. Normalerweise ist die Benutzerparallelität
bei der Ausgabe von Abfragen dieses Typs im Vergleich zu OLTP-Arbeitsauslastungen
gering. In diesem Testszenario wurden vier Berichtsabfragen sequenziell ausgeführt, um
die Ressourcennutzung und die Zeit bis zum Abschluss des Vorgangs zu messen. Die vier
Abfragen waren E/A-intensiv und verursachten aufgrund von Aggregationen eine hohe
CPU-Last. Die sp_configure-Einstellung „Max. Grad an Parallelität“ war auf 0 festgelegt,
sodass alle verfügbaren CPU-Ressourcen von den Abfragen genutzt wurden.
22
Bei der Ausführung der Abfragen auf virtuellen Gastcomputern, in systemeigenen Instanzen
und in der Stammpartition wurden nur minimale Unterschiede festgestellt. Bei den virtuellen
Gastcomputern wurde eine relativ geringe Zunahme des Verarbeitungsaufwands beobachtet.
In Abbildung 8 werden die Ausführungszeit und die CPU-Nutzung der Abfragen dargestellt.
700
70
650
60
600
550
600
605
620
630
50
40
500
30
450
400
20
350
10
300
% Gastlaufzeit
Zeit bis zum Abschluss (Sekunden)
Berichtsabfragen mit MAXDOP 0
Gesamtzeit und % genutzte CPU-Ressourcen
Gesamtzeit
(Sekunden)
Hyper-V – %
Gastlaufzeit
0
Systemeigenes Stammpartition
BS – Hyper-V
– Hyper-V
deaktiviert
aktiviert
Gast (PassThrough)
Gast (VHD)
Abbildung 8: Leistung von Berichtsabfragen
Datenbankvorgänge
Einige Datenbankvorgänge sind relativ CPU-intensiv. Die Testergebnisse in diesem Abschnitt
betreffen die Auswirkungen der Virtualisierung auf Datenbankvorgänge, z. B. Sichern und
Wiederherstellen mit Komprimierung, Indexerstellung und DBCC CHECKDB.
Sichern und Wiederherstellen
Bei den Sicherungs- und Wiederherstellungsvorgängen wurde eine Dateifreigabe auf einem
anderen physischen Server als Ziel für die Sicherungsdateien verwendet. In diesem Fall
war die Sicherung und Wiederherstellung durch die Bandbreite des Netzwerks und nicht
durch den Datenträger oder den Prozessor beschränkt. Für den Test des Sicherungsvorgangs
wurde die systemeigene Sicherungskomprimierung von SQL Server 2008 verwendet.
23
Im Vergleich zu dem gleichen Vorgang in einem systemeigenen Betriebssystem wies der
Durchsatz bei der Sicherung eine um 10-15 % geringere Leistung bei beachtlicher Zunahme
der CPU-Auslastung auf. Beim Durchsatz der Wiederherstellung wurde ein vergleichbarer
Leistungsabfall beobachtet. Die Verringerung des Durchsatzes wird durch die Netzwerkbelastung
verursacht, die auftritt, wenn Vorgänge auf dem virtuellen Gastcomputer in großem Umfang
Netzwerkressourcen nutzen. In den Tests erwies sich dies bei Betrachtung des Aufwands, der
durch die Ausführung von SQL Server auf einem virtuellen Hyper-V-Gastcomputer verursacht
wird, als der gravierendste Faktor. Er war weitaus signifikanter als jeder für E/A- oder
CPU-Vorgänge festgestellte Aufwand.
In diesem Testszenario wurde während der Sicherung und Wiederherstellung ein
Netzwerkdurchsatz von 50-60 MB pro Sekunde beobachtet. Sowohl der für SQL Server
verwendete Server als auch der Server, auf dem die Netzwerk-Dateifreigabe für das
Sicherungsziel verfügbar gemacht wurde, verfügten über eine Netzwerkkarte mit 1 GB/s.
Der Durchsatz bei Sicherung und Wiederherstellung betrug ca. 100 MB pro Sekunde. Die
Werte stammen aus der Ausgabe der Sicherung und Wiederherstellung von SQL Server. Bei
diesem Vorgang wurde die Komprimierung verwendet. Aus diesem Grund ist der gemeldete
Durchsatz weitaus höher als der Netzwerkdurchsatz, den die Netzwerkkonfiguration ermöglicht.
In Abbildung 9, 10 und 11 wird der Durchsatz von Sicherung und Wiederherstellung der
systemeigenen Instanz, der Stammpartition und der virtuellen Computer gezeigt, die mit
Pass-Through-Datenträgern und VHDs fester Größe konfiguriert sind. Der relative Durchsatz
auf der y-Achse wird berechnet, indem die Summe von Megabytes pro Sekunde durch den
Mittelwert der gesamten CPU-Prozentwerte dividiert wird. Die Ursache für den geringfügig
höheren Durchsatz der Wiederherstellung ist die Schreibleistung der Zieldateifreigabe
(die Schreibleistung dieser Freigabe ist etwas höher, weil RAID 5 verwendet wird).
24
Relativer Durchsatz – Datensicherung und Wiederherstellung
(Summe MB pro Sekunde / Summe Durchschnitt CPU%)
Relativer Durchsatz
6.00
Systemeigenes BS –
Hyper-V deaktiviert
5.00
4.00
Stammpartition –
Hyper-V aktiviert
3.00
Gast (Pass-Through)
2.00
1.00
Gast (VHD)
0.00
Sicherung
Wiederherstellung
Abbildung 9: Vergleich des Durchsatzes von Sicherung und Wiederherstellung
Sicherung – Netzwerkdurchsatz und CPU
70,000,000
60,000,000
100
64,175,343
56,608,244
56,353,835
56,084,247
90
80
50,000,000
70
60
40,000,000
50
30,000,000
40
30
20,000,000
Netzwerkschnittstelle,
gesendete Bytes/s
Summe % CPU-Zeit
20
10,000,000
10
0
0
Systemeigenes BS Stammpartition –
– Hyper-V
Hyper-V aktiviert
deaktiviert
Gast (PassThrough)
Gast (VHD)
Abbildung 10: Netzwerkauslastung und CPU-Auslastung bei der Sicherung
25
Wiederherstellung – Netzwerkauslastung und CPU
90,000,000
85,472,730
100
75,673,694
80,000,000
70,000,000
90
61,530,273
60,000,000
80
59,206,576
70
60
50,000,000
50
40,000,000
Netzwerkschnittstelle,
empfangene Bytes/s
40
30,000,000
30
20,000,000
20
10,000,000
10
0
Summe % CPU-Zeit
0
Systemeigenes BS Stammpartition –
– Hyper-V
Hyper-V aktiviert
deaktiviert
Gast (PassThrough)
Gast (VHD)
Abbildung 11: Netzwerkauslastung und CPU-Auslastung bei der Wiederherstellung
Tabelle 5 enthält die im Testszenario gesammelten Daten.
Tabelle 5: Durchsatz von Sicherung und Wiederherstellung
Stammpartition
Virtueller
Gastcomputer
(Pass-Through)
181,00
764,00
241,00
158,00
875,00
218,00
154,00
874,00
173,00
157,00
874,00
167,00
573
634
799
824
Basislinie
Durchsatz der Sicherung (MB/s)
Gesamtzeit für Sicherung (Sekunden)
Durchsatz der Wiederherstellung (MB/s)
Gesamtzeit für Wiederherstellung
(Sekunden)
Virtueller
Gastcomputer
(VHD fester Größe)
Indexerstellung
Die Indexerstellung ist ein sehr häufiger Datenbankvorgang, der CPU- und E/A-intensiv ist. Mit
diesem Testfall sollten die Auswirkungen der Virtualisierung auf den Indexerstellungsvorgang
ermittelt werden. Es wurden drei umfangreiche Indizes sequenziell neu erstellt, wobei PAGEKomprimierung (ein neues Feature von SQL Server 2008, mit dem die Datenseiten in einem
Index komprimiert werden) aktiviert war. Der Index wurde mit PAGE-Komprimierung erstellt,
um die CPU-Auslastung zu erhöhen. Es wurden die Ressourcennutzung und die Zeit bis zum
Abschluss aufgezeichnet.
26
Bei Ausführung des gleichen Vorgangs auf den virtuellen Computern wurde ein äußerst geringer
Aufwand beobachtet. Abbildung 12 zeigt Indexerstellungszeit und Prozentsatz der CPU-Zeit für
das systemeigene Betriebssystem, die Stammpartition und die virtuellen Gastcomputer.
2500
100
2400
90
2300
2200
2160
2176
2220
2220
80
70
2100
60
2000
50
1900
40
1800
30
1700
20
1600
10
1500
% Gast-CPU-Zeit
Zeit bis zum Abschluss (Sekunden)
Antwortzeit Indexerstellung und % CPU
Gesamtzeit
(Sekunden)
Hyper-V – %
Gastlaufzeit
0
Stamm BS –
Hyper-V
deaktiviert
Stamm BS –
Hyper-V aktiviert
Gast (PassThrough)
Gast (VHD)
Abbildung 12: Drei mit PAGE-Komprimierung sequenziell neu erstellte Indizes
DBCC CHECKDB
DBCC CHECKDB, ein weiterer CPU- und E/A-intensiver Vorgang, wurde ebenfalls getestet.
Die Ausführung des Vorgangs dauerte auf dem virtuellen Gastcomputer länger als unter dem
Basisbetriebssystem. In Abbildung 13 werden die Zeit bis zum Abschluss und die Summe der
durch den Vorgang genutzten CPU-Ressourcen dargestellt. Wie bei den Indexerstellungstests
wurde eine relativ geringe Zunahme der Zeit bis zum Abschluss festgestellt.
27
2000
100
1900
90
1800
1680
1700
1600
1560
1700
80
70
1590
60
1500
50
1400
40
1300
30
1200
20
1100
10
1000
% Gast-CPU-Zeit
Zeit bis zum Abschluss (Sekunden)
DBCC CHECKDB mit MAXDOP 0
Gesamtzeit und % CPU
Gesamtzeit
(Sekunden)
Hyper-V – %
Gastlaufzeit
0
Stamm BS – Hyper-V Stamm BS – Hyper-V Gast (Pass-Through)
deaktiviert
aktiviert
Gast (VHD)
Abbildung 13: DBCC CHECKDB mit MAXDOP 0
Szenarien der SQL Server-Konsolidierung mit Hyper-V
Mit dieser Gruppe von Testszenarien sollten einige der wichtigsten Fragen zur Konsolidierung
von SQL Server in einer Hyper-V-Umgebung beantwortet werden:

Leistungsauswirkungen der Speicherkonfiguration für mehrere Instanzen
Mit diesem Testszenario sollten die Leistungsauswirkungen von dediziertem
und freigegebenem Speicher in einer Konsolidierungsumgebung ermittelt werden.

Skalierbarkeit der virtuellen Instanz
Mit diesem Testszenario sollte die Skalierbarkeit der virtuellen Instanz ermittelt werden,
wenn die Leistung des physischen Prozessors für eine 1:1-Zuordnung zu dem für den
virtuellen Gastcomputer konfigurierten logischen Prozessor ausreicht.

Leistung der virtuellen Instanz mit überlasteten CPU-Ressourcen
28
Mit diesem Testszenario sollten die Auswirkungen auf die Leistung ermittelt werden,
wenn die Gesamtzahl der für die virtuellen Instanzen konfigurierten logischen
Prozessoren größer als die Gesamtzahl der auf dem Server verfügbaren physischen
Prozessoren ist.
Vergleichen der Speicherkonfigurationen in einer Konsolidierungsumgebung
In den vorherigen Abschnitten wurde ermittelt, dass sich Pass-Through-Datenträger und
VHDs fester Größe gut als Speicherkonfigurationen für SQL Server-Arbeitsauslastungen
eignen. Um die Auswirkungen dieser beiden unterschiedlichen Speicherkonfigurationen
auf die OLTP-Arbeitsauslastung zu ermitteln, wurden zwei Gruppen von Tests zum
Vergleichen der folgenden Speichermethoden eingerichtet:

Dedizierter Speicher (d. h. keine Freigabe auf Datenträgerebene) mit
Pass-Through-Datenträgern

Ein gemeinsamer Pool von Datenträgerressourcen mit VHD-Dateien für
SQL Server-Daten- und -Protokolldateien
In der ersten Speicherkonfiguration wurden Pass-Through-Datenträger mit dediziertem Speicher
für die einzelnen virtuellen Computer verwendet, wie in Abbildung 14 gezeigt. Jeder virtuelle
Gastcomputer wurde mit dieser Konfiguration implementiert, die aus zwei LUNs (150 GB) für
Datendateien und einem LUN (50 GB) für das Protokoll bestand. Die LUNs waren nicht für die
virtuellen Gastcomputer auf der Ebene des physischen Datenträgers freigegeben, und jede LUN
verfügte über einen Satz dedizierter physischer Datenträger.
Abbildung 14: Datenträgerkonfiguration pro virtuellen Computer/Stamm
29
Für die zweite Speicherkonfiguration wurde ein gemeinsamer Pool von Datenträgern verwendet,
wie in Abbildung 15 gezeigt. In diesem Fall wurden ein einzelner Pool von Datenträgerdateien
für VHD-Dateien mit SQL Server-Datendateien und ein eigener Pool von Datenträgerressourcen
für VHD-Dateien mit SQL Server-Protokolldateien verwendet. Diese Konfiguration bietet eine
höhere Flexibilität für virtuelle Speicherumgebungen.
Abbildung 15: Einzelne Pools
Anschließend wurde für jede der beiden Konfigurationen die gleiche OLTP-Arbeitsauslastung
mit unterschiedlichen Durchsatzraten ausgeführt. In Abbildung 16 und 17 wird der Vergleich
von E/A-Durchsatz und Latenzzeit der Konfiguration mit dediziertem Speicher unter
Verwendung von Pass-Through-Datenträgern mit der Konfiguration mit freigegebenem
Speicher unter Verwendung von VHD-Dateien dargestellt.
30
Dedizierte Pass-Through-Datenträger und VHDs mit freigegebenem
Speicher
Gesamte E/A pro Sekunde und Datenträgerlatenzzeit
7,000
6,425
5,828 5,697
Datenträger-Lesevorgänge/s
6,000
6,151
0.009
Gesamte Lesevorgänge/s
(dedizierte LUNs)
0.008
0.007
5,000
Gesamte Lesevorgänge/s
(gemeinsames Volume
mit VHDs)
0.006
4,178 4,047
4,000
0.005
3,000
0.004
Durchschnittliche
Leselatenzzeit (dedizierte
LUNs)
0.003
2,000
0.002
1,000
Durchschnittliche
Leselatenzzeit
(gemeinsames Volume
mit VHDs)
0.001
0
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 16: Vergleich von E/A-Durchsatz und Latenzzeit mit Pass-Through-Datenträgern
und VHDs fester Größe
Dedizierter Speicher und VHDs mit freigegebenem Speicher
4,000
3,612
3,245 3,173
Batches/s
3,500
3,444
Summe Batches/s 4
VCs (dedizierte
LUNs)
3,000
2,500
2,244 2,182
2,000
Summe Batches/s 4
VCs (gemeinsames
Volume mit VHDs)
1,500
1,000
500
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 17: Vergleich des Durchsatzes von LUNs mit dediziertem Speicher auf
Pass-Through-Datenträgern mit VHDs fester Größe auf freigegebenen Datenträgern
31
Beide Speicherkonfigurationen wiesen einen ähnlichen Durchsatz auf. Die durchschnittliche
Leistung der Konfiguration mit VHDs fester Größe war ca. 3,5 % geringer als die Leistung
der Konfiguration mit dedizierten Pass-Through-Datenträgern. Wenn E/A-Leistung und
Berechenbarkeit von wesentlicher Bedeutung für eine Anwendung sind, wird empfohlen,
Pass-Through-Datenträger auf dedizierten Datenträgerressourcen zu verwenden. Diese
Konfiguration bietet jedoch nicht die Flexibilität von VHD-Dateien.
Skalierbarkeit der virtuellen Instanz
Im häufigsten Bereitstellungsszenario werden mehrere virtuelle Computer auf demselben
Host ausgeführt. Dieses Testszenario wurde aufgenommen, um die Eigenschaften der
Skalierung der Datenbankauslastung mit virtuellen Computern zu untersuchen.
Der für dieses Testszenario verwendete Dell R900 verfügt über 16 physische Kerne. Es
wurden zwei Gruppen von Testfällen ausgeführt. Die erste Gruppe wurde für die Verwendung
von 8 Kernen konfiguriert (NUMPROC=8). Die zweite Gruppe wurde für die Verwendung
von allen 16 Kernen konfiguriert (NUMPROC=16). Alle virtuellen Gastcomputer wurden
mit vier logischen Prozessoren und 14 GB RAM konfiguriert. SQL Server wurde für die
Verwendung von 12 GB konfiguriert, sodass 2 GB für das Betriebssystem übrig blieben.
Zwei parallele virtuelle Gastcomputer
In diesem Testfall wurden zwei virtuelle Computer parallel auf dem Host ausgeführt, der mit
acht physischen Prozessoren konfiguriert war. Jeder virtuelle Computer war mit vier logischen
Prozessoren konfiguriert. Die virtuellen Computer wurden mit identischem zugrunde liegendem
Speicher konfiguriert.
Das Ergebnisdiagramm in Abbildung 18 zeigt, dass die Konfiguration sehr gut entsprechend
der zunehmenden Arbeitsauslastung skalierbar ist.
32
Aggregierte Batches/s und Gastlaufzeit von 2 VCs
100
90
2000
Batches/s
80
70
1500
60
50
1000
1647
1884
40
30
500
1080
Summe
Batches/s alle
VCs
Hyper-V – %
Gastlaufzeit
Hyper-V – %
Gesamtlaufzeit
20
10
0
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 18: Skalierbarkeit von parallelen virtuellen Gastcomputern
Vier parallele virtuelle Gastcomputer
Dieser Test wurde ausgeführt, um die Skalierbarkeit virtueller Computer mit OLTPArbeitsauslastung zu ermitteln, wenn die Prozessorressourcen ausreichen, um die 1:1-Zuordnung
von physischen Prozessoren zu logischen Prozessoren zu unterstützen. Auf dem Host waren
16 CPUs verfügbar, und jeder virtuelle Computer war mit vier logischen Prozessoren
konfiguriert. Der zugrunde liegende Speicher war für alle vier virtuellen Computer identisch.
Die in Abbildung 19 dargestellten Ergebnisse zeigen eine sehr gute Skalierbarkeit der virtuellen
Computer, wenn die CPUs nicht überlastet sind. Bei vier parallelen virtuellen Gastcomputern
kann aufgrund der erhöhten Parallelität ein größerer Verarbeitungsaufwand als bei zwei
parallelen virtuellen Gastcomputern auftreten.
33
Aggregierte Batches/s und Gastlaufzeit von 2 bis 4 VCs
4000
3,612
3500
90
3,245
Batches/s
3000
2500
2,244
1500
2102
1779
2000
100
80
Summe Batches/s
2 VCs
70
Summe Batches/s
4 VCs
60
50
1128
1000
40
Hyper-V – %
Gastlaufzeit (4 VCs)
30
Hyper-V – %
Gesamtlaufzeit
20
500
10
0
Hyper-V – %
Gastlaufzeit (2 VCs)
Hyper-V – %
Gesamtlaufzeit
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 19: Skalierbarkeit von virtuellen Computern ohne überlastete CPUs
Leistung der virtuellen Instanz mit überlasteten CPU-Ressourcen
Hyper-V unterstützt die Überlastung von CPUs bis zu einer Zuordnung von logischen zu virtuellen
Prozessoren im Verhältnis 1:8. Überlastete Prozessoren können bei der Konsolidierung zum Maximieren
der auf dem physischen Server verfügbaren CPU-Ressourcen verwendet werden. Dieses Verfahren
verursacht jedoch beträchtlichen zusätzlichen CPU-Verarbeitungsaufwand. Mit den in diesem Abschnitt
beschriebenen Tests wurden die Auswirkungen der Ausführung von SQL Server in einer virtuellen
Umgebung mit überlasteten CPU-Ressourcen untersucht.
Vier parallele virtuelle Gastcomputer mit überlasteten CPU-Ressourcen
In dem Szenario mit überlasteten Prozessoren wurden vier virtuelle Gastcomputer für
die parallele Ausführung konfiguriert. Jeder virtuelle Computer wurde mit vier logischen
Prozessoren, 14 GB RAM und 12 GB für SQL Server konfiguriert. Der zugrunde liegende
Speicher war für alle vier virtuellen Computer identisch.
In Abbildung 20 wird die Skalierbarkeit bei zunehmender Arbeitsauslastung gezeigt.
Die Skalierungskurve ist recht flach, und bei etwa 90 % ist sie nahezu waagerecht.
Das Ausführen von vier virtuellen Computern mit jeweils vier virtuellen Prozessoren
34
führte zu einer CPU-Überlastung: Die CPU-Ressourcen von 16 virtuellen Prozessoren
mit nur 8 physischen CPU-Kernen wurden eingeschränkt.
Hyper-V macht auf der Ebene der virtuellen Computer Optionen für die CPURessourcenverwaltung verfügbar, die in diesen Typen von Szenarien verwendet werden
können. Diese Optionen werden in einem später zu veröffentlichenden Dokument erörtert.
Aggregierte Batches/s und Gastlaufzeit von 4 VCs
2500
100
90
Batches/s
2000
2203
2104
80
70
1893
1500
60
50
1000
Summe
Batches/s alle
VCs
Hyper-V – %
Gastlaufzeit
40
30
500
20
Hyper-V – %
Gesamtlaufzeit
10
0
0
Geringe OLTPArbeitsauslastung
Mittlere OLTPArbeitsauslastung
Hohe OLTPArbeitsauslastung
Abbildung 20: Skalierbarkeit von vier parallelen virtuellen Gastcomputern mit überlasteten CPUs
Vergleichen von Konsolidierungsoptionen
In Konsolidierungsszenarien bietet die Virtualisierung viele Vorteile. Einer der wichtigsten
Vorteile ist, dass virtuelle Computer mehrere isolierte Umgebungen auf demselben
Hostcomputer bereitstellen. Die resultierende Leistung variiert je nach Anwendung,
Arbeitsauslastung und Hardware. Die Vor- und Nachteile der Verwendung einer systemeigenen
und einer virtuellen Instanz für ein Konsolidierungsprojekt müssen gründlich getestet und
sorgfältig abgewogen werden. In Tabelle 6 werden die Optionen für systemeigene und virtuelle
Instanzen hinsichtlich der Konsolidierung verglichen.
35
Tabelle 6: Konsolidierungsoptionen
Mehrere SQL Server-Instanzen
Mehrere virtuelle Computer
Isolation
Freigegebene Windows-Instanz
Dedizierte Windows-Instanz
CPU-Ressourcen
Anzahl der für die WindowsInstanz sichtbaren CPUs
Maximum
• Windows 2008 – bis zu 4 virtuelle CPUs
• Windows 2003 – bis zu 2 virtuelle CPUs
Arbeitsspeicher
Flexibler Servergrenzwert
(max. Serverarbeitsspeicher)
Statische Reservierung des virtuellen Computers
• Nur Offlineänderungen
• Keine Möglichkeit zur Überlastung von
Speicherressourcen
64-GB-Grenzwert pro virtuellen Gastcomputer
2-TB-Grenzwert (Terabyte) pro Host
Speicher
SQL Server-Datendateien mit
Standardspeicheroptionen
SQL Server-Datendateien mit
Pass-Through-Datenträgern oder virtuellen
Festplatten, die für den virtuellen Computer
verfügbar gemacht werden
Ressourcenverwaltung
WSRM (Prozessebene)
Virtueller Hyper-V-Gastcomputer
Anzahl von Instanzen
50
Tatsächlicher Grenzwert hängt von physischen
Ressourcen ab
Unterstützung
Es gelten die üblichen Regeln.
SQL Server 2008 und SQL Server 2005
Hohe Verfügbarkeit
Es gelten die üblichen Regeln.
Gastcomputercluster werden unterstützt
Datenbankspiegelung, Protokollversand
(unterstützt)
Fazit
Hinsichtlich der Leistung ist Hyper-V eine geeignete Option für SQL ServerKonsolidierungsszenarien. SQL Server bietet in einer virtuellen Hyper-V-Umgebung
im Vergleich zur entsprechenden systemeigenen Windows Server 2008-Umgebung
eine zufriedenstellende Gesamtleistung.
Bei angemessener E/A-Kapazität und -Konfiguration ist der E/A-Aufwand minimal.
Eine optimale Leistung wird erzielt, wenn eine für die Anzahl der auf dem Server
konfigurierten virtuellen Prozessoren ausreichende Anzahl physischer Prozessoren
36
vorhanden ist, um eine Überlastung der CPU-Ressourcen zu vermeiden. Wenn
die CPU-Ressourcen überlastet sind, erhöht sich der CPU-Verarbeitungsaufwand
beträchtlich. Sie müssen jede Anwendung unbedingt gründlich testen, bevor Sie
sie in einer Hyper-V-Produktionsumgebung bereitstellen.
Es folgen einige allgemeine Überlegungen und Empfehlungen für die Ausführung von
SQL Server in Hyper-V-Umgebungen.
Beobachtungen
•
Virtuelle Hyper-V-Gastcomputer sind auf vier CPU-Kerne beschränkt. Daher sollten
Sie nur dann SQL Server auf virtuellen Hyper-V-Gastcomputern ausführen, wenn
die Arbeitsauslastung von maximal vier CPUs verarbeitet werden kann.
•
Auf einem virtuellen Gastcomputer lässt sich der gleiche Durchsatz wie
bei systemeigenen Konfigurationen mit vergleichbaren Hardwareressourcen
erzielen, allerdings mit geringfügig höherer CPU-Auslastung. Mit Hyper-V
können CPU-Ressourcen überlastet werden, wenn die Gesamtzahl der für alle
virtuellen Gastcomputer konfigurierten logischen CPU-Kerne die Anzahl der
auf dem Server verfügbaren physischen CPU-Kerne überschreitet. In diesen
Fällen wurden beim Ausführen von SQL Server-Arbeitsauslastungen eine
höhere CPU-Auslastung und ein höherer Verarbeitungsaufwand beobachtet.
Eine angemessene Dimensionierung der Hardware ist für die Leistung von
SQL Server von ausschlaggebender Bedeutung. Stellen Sie sicher, dass die
Summe der physischen CPU-Ressourcen für die Anforderungen der virtuellen
Gastcomputer ausreicht, indem Sie die Arbeitsauslastung in der geplanten
virtuellen Umgebung testen.
•
Bei netzwerkintensiven Arbeitsauslastungen erhöhen sich der
CPU-Verarbeitungsaufwand und somit auch die Leistungsbeeinträchtigung.
•
Die bisher dargestellten Informationen betreffen Leistungsaspekte. Berücksichtigen
Sie für die Bereitstellung auch Funktionsaspekte (unterstützte Konfigurationen,
Optionen zum Erreichen hoher Verfügbarkeit usw.). Die Anhänge dieses
Dokuments enthalten weitere Informationen zu allgemeinen Hyper-V-Funktionen
37
und aktuellen Unterstützungsrichtlinien für das Ausführen von SQL Server in
Hyper-V-Konfigurationen.
•
Beim Ausführen von SQL Server auf einem virtuellen Gastcomputer wurde
ein minimaler E/A-Verarbeitungsaufwand festgestellt. Die Konfiguration mit
Pass-Through-Datenträgern lieferte die beste E/A-Leistung, jedoch wurde bei
der Ausführung mit VHDs fester Größe ein minimaler zusätzlicher E/A-Aufwand
festgestellt. Die zu verwendende Speicherkonfiguration sollte entsprechend der
jeweiligen Bereitstellung ausgewählt werden. Virtuelle Computer mit VHDs können
leichter migriert werden als virtuelle Computer mit Pass-Through-Datenträgern.
•
Bei Konsolidierungsszenarien hängt die Entscheidung vom Umfang der verfügbaren
Speicherressourcen und vom Szenario ab. In den durchgeführten Tests war die
Leistung sowohl in den Konfigurationen mit freigegebenem Speicher als auch in
den Konfigurationen mit dediziertem Speicher akzeptabel. In beiden Fällen sollten
Sie bei der Festlegung der Speichergröße die Anforderungen an die Arbeitsauslastung
und die Antwortzeit berücksichtigen. Beachten Sie in Hyper-V-Umgebungen
genauso wie bei einer SQL Server-Bereitstellung immer die Best Practices
bezüglich des zugrunde liegenden Speichers. Weitere Informationen finden Sie unter
Predeployment I/O Best Practices for SQL Server (Best Practices für SQL Server vor
der Bereitstellung des E/A-Systems, auf Englisch).
Empfehlungen

Verwenden Sie für den Speicher des virtuellen Gastcomputers Pass-ThroughDatenträger oder VHDs fester Größe. Diese sind unter Leistungsaspekten die besten
Optionen, und sie bieten die besten Ergebnisse für SQL Server-Arbeitsauslastungen.
Dynamische VHDs werden aus Leistungsgründen nicht empfohlen.

Verwenden Sie keine emulierten Geräte. Stellen Sie stattdessen sicher, dass
Integrationskomponenten für Hyper-V installiert wurden und dass für E/A,
Netzwerk usw. synthetische Geräte verwendet werden. Synthetische Geräte
bieten die beste Leistung mit geringstem CPU-Verarbeitungsaufwand.
38

Die Möglichkeit einer Verwendung einiger dieser Verfahren hängt von den
Hardwarefunktionen ab.

Informieren Sie sich über Arbeitsauslastungen mit intensiver Nutzung von
Netzwerkressourcen in den Richtlinien für die Leistungsoptimierung von Windows
Server 2008 in den Abschnitten zu Virtualisierung und Netzwerk über Best Practices
zum Optimieren des Netzwerks für die spezifische Konfiguration. Testen Sie die
Leistung mit der von Ihnen verwendeten Arbeitsauslastung, da die Merkmale von
Arbeitsauslastungen erheblich variieren können.
Weitere Informationen

Windows Server Hyper-V (auf Englisch)

Hyper-V Deployment and Planning Guide (Bereitstellungs- und Planungshandbuch
für Hyper-V, auf Englisch)



Microsoft Assessment and Planning Toolkit 3.1 for Hyper-V (auf Englisch)
Erste Schritte mit Hyper-V
Performance Tuning Guidelines for Windows Server 2008 (Richtlinien für die
Leistungsoptimierung von Windows Server 2008, Abschnitt zur Virtualisierung, auf
Englisch)


Hyper-V Performance FAQ (auf Englisch)
Hyper-V Monitoring (Hyper-V-Überwachung, Windows-Team – alle Themen des
Blogs zur Leistung, auf Englisch)

Supportrichtlinie für Microsoft SQL Server-Produkte, die in einer Umgebung mit
Hardware-Virtualisierung ausgeführt werden (maschinell übersetzt)

Predeployment I/O Best Practices for SQL Server (Best Practices für SQL Server vor
der Bereitstellung des E/A-Systems, auf Englisch)

Microsoft System Center Virtual Machine Manager
39
Anhang 1: Architektur von Hyper-V
Hyper-V ist eine hypervisorbasierte Virtualisierungstechnologie für Windows Server 2008.
Der Hypervisor ist die prozessorspezifische Virtualisierungsplattform, die die gemeinsame
Nutzung einer einzelnen Hardwareplattform durch mehrere isolierte Betriebssysteme ermöglicht.
Hyper-V unterstützt Isolierung in Form einer Partitionierung. Eine Partition ist eine vom
Hypervisor unterstützte logische Isolationseinheit, in der Betriebssysteme ausgeführt
werden. Der Microsoft-Hypervisor muss über mindestens eine übergeordnete Partition
bzw. Stammpartition verfügen, in der eine 64-Bit-Edition von Windows Server 2008
ausgeführt wird. Der Virtualisierungsstapel wird in der übergeordneten Partition ausgeführt
und verfügt über direkten Zugriff auf die Hardwaregeräte. Die Stammpartition erstellt dann
die untergeordneten Partitionen, die die Gastbetriebssysteme hosten. Die untergeordneten
Partitionen werden von der Stammpartition mit der Hypercall-API (Application Programming
Interface, Anwendungsprogrammierschnittstelle) erstellt.
Partitionen haben keinen Zugriff auf den physischen Prozessor, und sie behandeln keine
Prozessorinterrupts. Stattdessen verfügen sie über eine virtuelle Sicht des Prozessors,
und sie werden in einem virtuellen Arbeitsspeicheradressbereich ausgeführt, der für jede
Gastpartition privat ist. Der Hypervisor behandelt die Interrupts des Prozessors und leitet
sie an die entsprechende Partition um. Hyper-V kann auch die Hardwarebeschleunigung
verwenden, um die Adressübersetzung zwischen den Adressbereichen verschiedener
virtueller Gastcomputer zu beschleunigen. Dies erfolgt mithilfe einer IOMMU (Input
Output Memory Management Unit, E/A-Speicherverwaltungseinheit), die unabhängig
von der Speicherverwaltungshardware arbeitet, die von der CPU verwendet wird.
Mithilfe einer IOMMU werden die physischen Speicheradressen den von den
untergeordneten Partitionen verwendeten Adressen neu zugeordnet.
Untergeordnete Partitionen haben ebenfalls keinen direkten Zugriff auf andere
Hardwareressourcen, und diese werden für sie in einer virtuellen Sicht als virtuelle
Geräte (VDevs) dargestellt. Anforderungen an die virtuellen Geräte werden über den
VMBus oder den Hypervisor an die Geräte in der übergeordneten Partition umgeleitet,
die die Anforderungen behandelt. Der VMBus ist ein logischer Kommunikationskanal
zwischen Partitionen. Die übergeordnete Partition hostet VSPs (Virtualization Service
40
Providers, Virtualisierungsdienstanbieter), die über den VMBus kommunizieren, um
Gerätezugriffsanforderungen von untergeordneten Partitionen zu behandeln. Untergeordnete
Partitionen hosten VSCs (Virtualization Service Consumer, Virtualisierungsdienstclients),
die Geräteanforderungen über den VMBus an VSPs in der übergeordneten Partition umleiten.
Der gesamte Vorgang ist für das Gastbetriebssystem transparent.
Virtuelle Geräte können außerdem ein Windows Server-Virtualisierungsfeature mit dem
Namen „Optimierte E/A“ („Enlightened“ E/A) für Speicher, Netzwerk, Grafiken und
Eingabesubsysteme nutzen. „Optimierte E/A“ ist eine spezielle virtualisierungsfähige
Implementierung allgemeiner Kommunikationsprotokolle (z. B. SCSI), die den VMBus
unter Umgehung von Geräteemulationsebenen direkt nutzen. Dies erhöht die Effizienz der
Kommunikation, erfordert jedoch einen optimierten Gast, der Hypervisor- und VMBus-fähig
ist. Optimierte Hyper-V-E/A und ein Hypervisor-fähiger Kernel werden mit der Installation
von Hyper-V-Integrationsdiensten bereitgestellt. Integrationskomponenten, die VSC
(Virtual Server Client)-Treiber enthalten, sind auch für andere Clientbetriebssysteme
verfügbar. Hyper-V erfordert einen Prozessor mit hardwaregestützter Virtualisierung,
die mit Intel VT oder AMD-V-Technologie (AMD Virtualization) bereitgestellt wird.
Die folgende Abbildung bietet eine allgemeine Übersicht über eine Hyper-V-Umgebung
unter Windows Server 2008.
41
Übersicht über die Hyper-V-Architektur
Die in der Abbildung verwendeten Akronyme und Begriffe werden im Folgenden beschrieben:
APIC – Advanced Programmable Interrupt Controller (erweiterter programmierbarer
Interruptcontroller) – Ein Gerät, das es ermöglicht, den Interruptausgaben
Prioritätsebenen zuzuweisen.
Untergeordnete Partition – Partition, die ein Gastbetriebssystem hostet – Alle Zugriffe
einer untergeordneten Partition auf physischen Speicher und Geräte werden über den Bus
des virtuellen Computers (Virtual Machine Bus, VMBus) oder den Hypervisor bereitgestellt.
Hypercall – Schnittstelle für die Kommunikation mit dem Hypervisor – Die
Hypercallschnittstelle bietet Zugriff auf die vom Hypervisor bereitgestellten Optimierungen.
Hypervisor – Eine Softwareschicht zwischen der Hardware und einem oder mehreren
Betriebssystemen. Seine wichtigste Aufgabe ist die Bereitstellung isolierter
Ausführungsumgebungen, die als Partitionen bezeichnet werden. Der Hypervisor steuert und
vermittelt den Zugriff auf die zugrunde liegende Hardware.
IK – Integrationskomponente – Komponente, die untergeordneten Partitionen die Kommunikation
mit anderen Partitionen und dem Hypervisor ermöglicht.
E/A-Stapel – Eingabe-/Ausgabestapel.
MSR – Memory Service Routine (Speicherdienstroutine).
Stammpartition– Verwaltet Funktionen auf Computerebene, z. B. Gerätetreiber, Energieverwaltung
und das Hinzufügen/Entfernen von Geräten während des Betriebs. Die Stammpartition (bzw.
übergeordnete Partition) ist die einzige Partition mit direktem Zugriff auf physischen
Arbeitsspeicher und physische Geräte.
42
VID – Virtualization Infrastructure Driver (Virtualisierungsinfrastrukturtreiber) – Stellt
Partitionsverwaltungsdienste, Verwaltungsdienste für virtuelle Prozessoren und
Arbeitsspeicher-Verwaltungsdienste für Partitionen bereit.
VMBus – Kanalbasierter Kommunikationsmechanismus, der in Systemen mit mehreren aktiven
virtuellen Partitionen für die Kommunikation zwischen Partitionen und die Geräteenumeration
verwendet wird. Der VMBus wird mit Hyper-V-Integrationsdiensten installiert.
VMMS – Virtual Machine Management Service (Verwaltungsdienst für virtuelle Computer) –
Verantwortlich für die Verwaltung des Status aller virtuellen Computer in untergeordneten
Partitionen.
VMWP – Virtual Machine Worker Process (Arbeitsprozess für virtuelle Computer) – Eine
Benutzermoduskomponente des Virtualisierungsstapels. Vom Arbeitsprozess werden
Verwaltungsdienste für virtuelle Computer von der Windows Server 2008-Instanz in der
übergeordneten Partition für die Gastbetriebssysteme in den untergeordneten Partitionen
bereitgestellt. Der Verwaltungsdienst für virtuelle Computer erzeugt für jeden ausgeführten
virtuellen Computer einen eigenen Arbeitsprozess.
VSC – Virtualization Service Client (Virtualisierungsdienstclient) – Eine synthetische Geräteinstanz
in einer untergeordneten Partition. VSCs nutzen Hardwareressourcen, die von VSPs (Virtualization
Service Providers, Virtualisierungsdienstanbietern) in der übergeordneten Partition bereitgestellt
werden. Sie kommunizieren mit den entsprechenden VSPs in der übergeordneten Partition über
den VMBus, um die E/A-Anforderungen für ein Gerät der untergeordneten Partition zu bedienen.
VSP – Virtualization Service Provider (Virtualisierungsdienstanbieter) – Befindet sich in der
Stammpartition und unterstützt über den VMBus (Virtual Machine Bus) synthetische Geräte
für untergeordnete Partitionen.
WinHv – Windows Hypervisor-Schnittstellenbibliothek – WinHv stellt eine Brücke zwischen den
Treibern eines partitionierten Betriebssystems und dem Hypervisor dar, die Treibern den Aufruf
des Hypervisors mit Windows-Standardaufrufkonventionen ermöglicht.
WMI – Der Verwaltungsdienst für virtuelle Computer macht eine Gruppe von WMI-basierten
(Windows Management Instrumentation) APIs zum Verwalten und Steuern von virtuellen
Computern verfügbar.
43
Anhang 2: Hardwareanforderungen
Hyper-V erfordert spezifische Hardware. Sie können Systeme identifizieren, die die x64Architektur und Hyper-V unterstützen, indem Sie im Windows Server-Katalog unter „Additional
Qualifications“ auf „Hyper-V“ klicken (siehe http://go.microsoft.com/fwlink/?LinkId=111228).
Zum Installieren und Verwenden der Hyper-V-Rolle benötigen Sie folgende Elemente:
x64-basierter Prozessor. Hyper-V ist in 64-Bit-Editionen von Windows Server 2008 verfügbar, d. h.
in den 64-Bit-Editionen von Windows Server 2008 Standard, Windows Server 2008 Enterprise und
Windows Server 2008 Datacenter. Für 32-Bit-Editionen (x86) oder Windows Server 2008 für
Itanium-basierte Systeme ist Hyper-V nicht verfügbar. Die Hyper-V-Verwaltungstools sind jedoch
für 32-Bit-Editionen verfügbar.
Hardwareunterstützte Virtualisierung. Diese ist in Prozessoren verfügbar, die eine
Virtualisierungsoption enthalten, insbesondere in Prozessoren mit Intel Virtualization Technology
(Intel VT) oder AMD Virtualization-Technologie (AMD-V).
Durch die Hardware erzwungene Datenausführungsverhinderung (Data Execution Protection,
DEP) muss verfügbar und aktiviert sein. Das heißt, Sie müssen das Intel XD-Bit (Execute DisableBit) bzw. AMD NX-Bit (No Execute-Bit) aktivieren.
Tipp
Die Einstellungen für hardwaregestützte Virtualisierung und durch die Hardware erzwungene
Datenausführungsverhinderung sind im BIOS verfügbar. Die Namen der Einstellungen können
jedoch von den oben genannten Namen abweichen. Weitere Informationen zur Unterstützung
von Hyper-V durch ein bestimmtes Prozessormodell erhalten Sie vom Computerhersteller.
Wenn Sie die Einstellungen für hardwareunterstützte Virtualisierung oder durch Hardware
erzwungene Datenausführungsverhinderung ändern, sollten Sie die Stromversorgung des
Computers ausschalten und anschließend wieder einschalten. Durch einen einfachen Neustart
des Computers werden die geänderten Einstellungen möglicherweise nicht übernommen.
Arbeitsspeicher
Der maximale verwendbare Arbeitsspeicher richtet sich wie folgt nach dem Betriebssystem:
Für Windows Server 2008 Enterprise und Windows Server 2008 Datacenter kann der physische
Computer mit maximal 2 TB physischem Speicher konfiguriert werden. Virtuelle Computer, auf
denen eine dieser Editionen ausgeführt wird, können mit maximal 64 GB Speicher pro virtuellen
Computer konfiguriert werden.
Für Windows Server 2008 Standard kann der physische Computer mit bis zu 32 GB an physischem
Speicher konfiguriert werden. Virtuelle Computer, auf denen eine dieser Editionen ausgeführt wird,
können mit bis zu 31 GB Speicher pro virtuellen Computer konfiguriert werden.
44
Prozessoren
Hyper-V wird auf physischen Computern mit bis zu 16 logischen Prozessoren mit der Hyper-v
RTM-Version und 64 logischen Prozessoren mit der Hyper-v R2-Version unterstützt. Bei einem
logischen Prozessor kann es sich um einen Kernprozessor oder um einen Prozessor mit
Hyperthreadingtechnologie handeln. Sie können auf einem virtuellen Computer bis zu 4 virtuelle
Prozessoren konfigurieren. Jedoch ist möglicherweise die von einem Gastbetriebssystem
unterstützte Anzahl virtueller Prozessoren geringer. Weitere Informationen finden Sie unter
Grundlegendes zu virtuellen Computern und Gastbetriebssystemen.
Im Folgenden sind einige Beispiele für unterstützte Systeme und die Anzahl der von ihnen
bereitgestellten logischen Prozessoren aufgeführt:
Ein Einzelprozessor/Zweikern-System stellt 2 logische Prozessoren bereit.
Ein Einzelprozessor/Vierkern-System stellt 4 logische Prozessoren bereit.
Ein Doppelprozessor/Zweikern-System stellt 4 logische Prozessoren bereit.
Ein Doppelprozessor/Vierkern-System stellt 8 logische Prozessoren bereit.
Ein Vierfachprozessor/Zweikern-System stellt 8 logische Prozessoren bereit.
Ein Vierfachprozessor/Zweikern-System mit Hyperthreading stellt 16 logische Prozessoren bereit.
Ein Vierfachprozessor/Vierkern-System stellt 16 logische Prozessoren bereit.
Netzwerk
Hyper-V bietet folgende Netzwerkunterstützung:
Jeder virtuelle Computer kann mit maximal 12 virtuellen Netzwerkkarten konfiguriert werden, 8
davon vom Typ „Netzwerkkarte“ und 4 vom Typ „ältere Netzwerkkarte“. Der Typ „Netzwerkkarte“
ermöglicht eine bessere Leistung und erfordert einen Treiber für virtuelle Computer, der in den
Paketen für die Integrationsdienste enthalten ist.
Jede virtuelle Netzwerkkarte kann mit einer statischen oder dynamischen MAC-Adresse
konfiguriert werden.
Jede virtuelle Netzwerkkarte bietet integrierte Unterstützung für virtuelle lokale Netzwerke (Virtual
Local Area Networks, VLANs), und ihr kann ein eindeutiger VLAN-Kanal zugewiesen werden.
Sie können eine beliebige Anzahl von virtuellen Netzwerken mit einer unbegrenzten Anzahl von
virtuellen Computern pro virtuelles Netzwerk verwenden. Weitere Informationen über virtuelle
Netzwerke finden Sie unter Konfigurieren virtueller Netzwerke.
Hinweis
Ein virtuelles Netzwerkwerk kann nicht mit einer Drahtlosnetzwerkkarte verbunden werden.
Daher können für virtuelle Computer keine Drahtlosnetzwerkfunktionen bereitgestellt werden.
45
Speicher
Hyper-V unterstützt eine Vielzahl von Speicheroptionen. Sie können auf einem Server mit
Hyper-V die folgenden Typen von physischem Speicher verwenden:
Direkt angeschlossener Speicher: Sie können SATA (Serial Advanced Technology Attachment),
eSATA (external Serial Advanced Technology Attachment), PATA (Parallel Advanced Technology
Attachment), SAS (Serial Attached SCSI), SCSI, USB und Firewire verwenden.
SANs (Storage Area Networks): Sie können die Technologien iSCSI (Internet SCSI), Fibre Channel
und SAS verwenden.
NAS (Network Attached Storage).
Virtuelle Computer können für die Verwendung folgender Typen von virtuellem Speicher
konfiguriert werden:
Virtuelle Festplatten mit bis zu 2040 GB. Sie können virtuelle Festplatten mit fester Größe,
dynamisch erweiterbare virtuelle Festplatten und differenzierende Datenträger verwenden.
Virtuelle IDE-Geräte. Jeder virtuelle Computer unterstützt bis zu 4 IDE-Geräte. Der Startdatenträger
muss an eines der IDE-Geräte angeschlossen sein. Beim Startdatenträger kann es sich um eine
virtuelle Festplatte oder um einen physischen Datenträger handeln.
Virtuelle SCSI-Geräte. Jeder virtuelle Computer unterstützt bis zu 4 virtuelle SCSI-Controller,
von denen jeder bis zu 64 Datenträger unterstützt. Somit kann jeder virtuelle Computer mit
256 virtuellen SCSI-Datenträgern konfiguriert werden.
Physische Datenträger. Für physische Datenträger, die direkt an einen virtuellen Computer
angeschlossen sind (auch als Pass-Through-Datenträger bezeichnet), richtet sich die
Größenbeschränkung lediglich nach der vom Gastbetriebssystem unterstützten Größe.
Speicherkapazität virtueller Computer. Mit virtuellen Festplatten werden auf jedem virtuellen
Computer bis zu 512 TB an Speicher unterstützt. Mit physischen Datenträgern ist diese Zahl,
abhängig von der Unterstützung durch das Gastbetriebssystem, noch höher.
Snapshots virtueller Computer. Hyper-V unterstützt bis zu 50 Snapshots pro virtuellen Computer.
Hinweis
Zwar muss das Gastbetriebssystem auf einem virtuellen Computer mithilfe eines virtuellen IDEGeräts als Startdatenträger gestartet werden, jedoch stehen Ihnen viele Optionen bei der Auswahl
des physischen Geräts zur Verfügung, das den Speicher für das virtuelle IDE-Gerät bereitstellt.
Beispielsweise können Sie jeden der in der vorangehenden Liste angegebenen Typen von
physischem Speicher verwenden.
46
Anhang 3: Hardwarekonfiguration
Testkonfiguration für SQL Server in Hyper-V
Prozessor
Server
Dell R900
Speicher
HDS
AMS1000
Cache
Arbeitsspeicher
HBA
Betriebssystem
Netzwerk
Daten
Protokoll
Sicherung
Betriebssystem
Intel Quad-Core-Prozessor mit 4 Sockets, 2,40 GHz,
1066-MHz-Bus
6-MB-L2-Cache
64 GB physischer Arbeitsspeicher
2 x 4 GB/s Dual-Port Emulex
Windows Server 2008 SP1
2 x Broadcom BCM5708C NetXtreme II GigE
8 x 8 Spindeln (4+4) (RAID 1+0)
4 x 4 Spindeln (2+2) (RAID 1+0)
6 Spindeln (5+1) (RAID 5)
4 x Datenträger (1+1) (RAID 1+0)
47
Herunterladen