Microsoft SQL Server 2008 R2 stellt IT-Administratoren vor ein paar Schwierigkeiten, soll er in virtualisierten Umgebungen betrieben werden. Die Kollegen von TecChannel haben daher einige wichtige Fakten und Tipps für Sie zusammengetragen. Microsoft stellt eine voll funktionsfähige Testversion für 180 Tage bereit.
Zuerst einige Bemerkungen zur Neuinstallation in der Konsolidierungsumgebung - diese betreffen keineswegs die Migration in eine vorhandene IT-Infrastruktur:
-
SQL Server Virtual Machine (VM) werden am einfachsten für Private Cloud/Konsolidierungsumgebungen mittels VM-Vorlagen erstellt.
-
Ab Version SQL Server 2008 R2 kann SQL Server mithilfe des Hilfsprogramms SysPrep Templates anfertigen.
-
Um SysPrep verwenden zu können, bedarf es zwei Schritte: Vorbereiten eines Images und dessen Beendigung. Es ist wichtig, dass Sie sich an die Dokumentation halten. Einen ausführlichen Leitfaden gibt es bei msdn.
-
Sie müssen die aktuellsten Hyper-V-Integrationskomponenten oder die entsprechenden gleichwertigen Versionen für Ihre Cloud verwenden. Zudem sollten Sie auf emulierten Geräten keinen SQL Server betreiben.
-
Das MAP Toolkit Demo von Steffen Krause hilft dabei herauszufinden, welche SQL-Server-Instanzen in die Cloud migriert werden können.
Dynamic Memory
Unter Microsoft SQL Server 2008 R2 läuft Dynamic Memory von Hyper-V 2008 R2 SP1. Weitere Infos finden Sie im Workshop - Dynamic Memory beim Hyper-V einrichten von den TecChannel-Kollegen.
Wenn Sie Dynamic Memory einsetzen, sollten Sie die nachstehenden Hinweise berücksichtigen:
-
Das Recht Lock Pages in memory sollte im SQL-Server-Dienstkonto gesetzt sein.
-
Die Anzahl der Startup-Memory-Einstellungen sämtlicher VMs, die auf einem Host laufen können, müssen kleiner sein als der physikalische Speicher des Hosts. Zu der Summe der Einstellungen gehören auch ungeplante Failover.
-
Vor einer Live Migration einer SQL VM, auch einer beabsichtigten, sollte nach Möglichkeit der Hautspeicher vom SQL Server verringert werden. Dies geschieht mit sp_configure ‘max server. Nachdem die Live Migration beendet ist, wird der komplette Hauptspeicher freigegeben.
-
Die Priorität bei der Zuteilung des Hauptspeichers wird mittels Memory Weight reguliert.
Storage
Alle Best Practices für SQL Server Storage betreffen auch Virtualisierungsszenarien. Die nachfolgenden Punkte sollten Sie beachten:
-
Lastsysteme: Daten und Logs sollen auf separate LUNs, die auf verschiedene Platten verteilt sind, gespeichert werden.
-
Dynamische Disks für Daten und Logs sind unter allen Umständen zu vermeiden.
-
Eingesetzt werden entweder Passthrough Disks oder Virtual Hard Disks mit fester Größe.
CPU
Hyper-V assistiert maximal vier virtuelle Prozessoren pro Virtual Machine. Bei einer Virtualisierung des SQL Servers steigt der CPU-Bedarf leicht an. Daher virtualisieren Sie am besten nur Lasten, weniger als vier CPU-Kerne bedürfen.
Die Prozessoren werden weiter überlastet, wenn dem Server mehr virtuelle CPUs zugeteilt werden als in physischer Hinsicht tatsächlich vorhanden sind. Und der CPU-Verbrauch erhöht sich weiter. Aus diesem Grund ist overcommitment der Lastsysteme zu vermeiden. Dies betrifft vor allem CPUs, die ohne Second Level Address Translation (SLAT) auskommen. Der Prozessoren-Bedarf steigt auch durch eine hohe Netzwerk-Auslastung.
Hochverfügbarkeit
Sowohl Host-Clustering (mit Live Migration) als auch Guest Clustering (Windows/SQL Cluster in VMs) ist mit Hyper-V unterstützt (zu VMWare siehe unten). Beides kann für höchste Flexibilität und Ausfallsicherheit kombiniert werden.
Ebenso wird Database Mirroring und Log Shipping auch im virtualisieren Betrieb unterstützt.
Lizenzen
SQL Server Enterprise bzw. Datacenter können in Virtualisierungsszenarien durch die erweiterten Virtualisierungsrechte deutlich Kosten sparen. Details dazu finden Sie auf der SQL Server Lizenzierungs-Seite.
VMware und andere Hypervisor
Grundsätzlich werden VMware-Lösungen (und andere Hypervisor) als Virtualisierungsumgebung unterstützt, solange die konkrete VMWare- Version mit dem SVVP validiert ist. Details hierzu finden Sie hier.
Soll statt Hyper-V VMware eingesetzt werden so muss man sich insbesondere im Zusammenhang mit Clustern Gedanken machen. Man muss sich zwischen Host Clustering (vMotion) und Guest Clustering (SQL Server/Windows Server Cluster) entscheiden. Dies gilt es zu berücksichtigen, denn die beiden Technologien schützen gegen unterschiedliche Arten von Ausfällen. (mje)
Dieser Artikel basiert auf einem Beitrag unserer Schwesterpublikation TecChannel. (sjf)
Weiterführende Whitepaper
Zum Thema betrieb von SQL Server in Virtualisierungsumgebungen und Private Cloud Szenarien gibt es auf der SQL CAT Seite vier hilfreiche Whitepaper:
Running SQL Server 2008 in a Hyper-V Environment - Best Practices and Performance Recommendations oder die deutsche Übersetzung.
High Performance SQL Server Workloads on Hyper-V
Onboarding SQL Server Private Cloud Environment
Running SQL Server with Hyper-V Dynamic Memory - Best Practices and Considerations
Dieser Artikel basiert unter anderem auf einem Blogbeitrag von Steffen Krause aus dem SQL Server Team Deutschland Blog auf Microsofts TechNet.