Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Technisches Informationsblatt zur Dell XC Serie Angesichts der zunehmenden Virtualisierung kritischer Anwendungen wie Microsoft SQL Server hat sich der Begriff Hyperkonvergenz im Rechenzentrum etabliert. In diesem technischen Informationsblatt werden die Leistungsvorteile konvergenter Infrastruktur für Microsoft SQL Server sowie Best Practices erläutert. SQL Server auf konvergenter Infrastruktur Hyperkonvergenz ist der Technologietrend schlechthin, der das Enterprise-Rechenzentrum genauso wie Flash revolutioniert. Konvergenz ist das Konzept, bei dem Speicher und Computing (CPU und RAM) in einem einzigen Paket bereitgestellt und über Ethernet-Standardnetzwerke miteinander verbunden werden. In diesem technischen Informationsblatt werden zentrale Leistungsaspekte von Microsoft SQL Server sowie die Vorteile der Verwendung konvergenter Dell XC Appliances auf Basis von Nutanix für kritische SQL Server-Rechenlasten erläutert. Die Dell XC Appliance ist eine speziell entwickelte Infrastrukturlösung für Virtualisierungs- und Cloudumgebungen. Sie kombiniert die vielen Vorteile und die Wirtschaftlichkeit der Web-ScaleArchitekturen von Unternehmen wie Google, Facebook, und Amazon und stellt Unternehmen diese über das Nutanix Distributed File System (NDFS) bereit. Die Dell XC Lösung umfasst Speicher und Serverdatenverarbeitung (CPU und Arbeitsspeicher) mit hoher Dichte in einer einzigen Plattform. Jede Komponente basiert auf der branchenüblichen und hoch leistungsfähigen Intel Prozessor-/ Servertechnologie und bietet eine einheitliche, skalierbare Shared-Nothing-Architektur ohne Single Point of Failure (SPOF). Was Dell XC von anderen Speicherlösungen unterscheidet, ist ihre kompromisslose Einfachheit. Diese Einfachheit zeigt sich nicht nur in der einfachen Bereitstellung (30 Minuten) und den einfachen Prozessen, etwa bei der dynamischen Steigerung der Systemgröße, sondern auch in der Einfachheit von Entwurf und Architektur für erfolgreiche Lösungen, auch für geschäftskritische Anwendungen wie Microsoft SQL Server. Die gesamte Speicherverwaltung ist VM-zentriert und erfolgt mittels virtueller Laufwerke. Der Speicher-E/A eines virtuellen Laufwerks wird als das erkannt, was er ist, und von NDFS optimiert. Es gibt einen einzigen freigegebenen Speicherpool über eine verteilte Dell XC Umgebung hinweg, der Flash-basierte SSDs zur Bereitstellung einer hohen Leistung und niedrigen Latenz und HDDs mit hoher Kapazität zur Bereitstellung kostengünstiger Kapazitäten umfasst. Die verschiedenen Arten von Speichergeräten im Speicherpool werden automatisch mittels intelligenter Algorithmen in Schichten angeordnet, um sicherzustellen, dass die am häufigsten verwendeten Daten im Arbeitsspeicher oder Flash verfügbar sind. Abbildung 1 bietet einen Überblick über die XC Serie, einschließlich jedes Hypervisor-Hosts (VMware ESXi oder Microsoft Hyper-V), Microsoft SQL Server-VMs (Benutzer-VMs), Storage Controller-VM (Nutanix Controller VM) und der lokalen Festplatten. Jede Controller-VM ist direkt mit dem lokalen Speichercontroller und den entsprechenden Festplatten verbunden. Durch die Verwendung lokaler Speichercontroller auf jedem ESXi-Host erfolgt der Zugriff auf Daten über NDFS lokal. Es müssen nicht immer Daten über das Netzwerk übertragen werden, was die Latenzzeit verbessert. NDFS sorgt dafür, dass Schreibvorgänge repliziert werden. Dabei werden Daten für Resilienz innerhalb der Plattform verteilt. Der lokale Speichercontroller auf jedem Host sorgt dafür, dass Speicherleistung und Speicherkapazität erhöht werden, wenn der Dell XC Serie zusätzliche Knoten hinzugefügt werden. Benutzer-VM(s) Hypervisor SCSI-Controller VM-E/A ControllerVM Benutzer-VM(s) Hypervisor SCSI-Controller VM-E/A ControllerVM Benutzer-VM(s) Hypervisor SCSI-Controller E/S da VM VM-E/A ControllerVM NDFS Skalierung Abbildung 1: Die Dell XC Serie kann problemlos ohne die Einschränkungen herkömmlicher Speichersysteme skaliert werden. 2 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Auch wenn der Speicher für die einzelnen Knoten in der verteilten skalierbaren Architektur lokal organisiert ist, wird er dem Hypervisor als gemeinsamer Speicher angezeigt und ist daher perfekt mit der Virtualisierungsschicht integriert. Im Fall von VMware vSphere umfasst dies VMware DRS, VMware High Availability und VMware Fault Tolerance. Die Kombination von lokalem SSD- und HDD-Speicher zusätzlich zur intelligenten automatisierten Anordnung in Schichten sorgt für ein Gleichgewicht von Kosten und Leistung, während die Stabilisierungstechniken von NDFS die Leistungseinbußen eliminieren, die mit RAID verbunden sind. Die lokale Speicherung von Daten stellt die Leistung und die Quality of Service sicher, die für die einzelnen Hosts bereitgestellt werden müssen. Problematische VMs können sich daher nicht in erheblichem Umfang auf die Leistung benachbarter VMs auswirken. Dies ermöglicht große gemischte vSphere-Workloadcluster, die hinsichtlich Kapazität und Leistung effizienter und weniger fehleranfällig sind. Zum Zeitpunkt der Veröffentlichung dieses Berichts beträgt die typische Leistung mittelgroßer Modelle mit vier Knoten über 8 Rackeinheiten bis zu insgesamt 100 KB 4-KB-Random-Lese-E/A, 50 KB 4-KBRandom-Schreib-E/A und 1,4 GB/s sequenziellem Schreibdurchsatz und 3 GB/s sequenziellem Lesedurchsatz. Die Einfachheit der Dell XC Architektur und des NDFS vereinfachen das Speicherlayout. Abbildung 3 zeigt ein Beispiellayout, das in einer Dell XC Umgebung Standard ist. Es besteht aus einem einzelnen NFS-Datenspeicher (oder im Fall von Hyper-V einer einzelnen SMB 3.0-Freigabe) und einem einzelnen Speicherpool. Man braucht sich über mehrere LUNs oder verknüpfte Warteschlangentiefen keine Gedanken zu machen. Die nächsten Schritte beziehen sich auf VMware vSphere, können aber auch auf Microsoft Hyper-V angewendet werden. [Daten/Protokoll] N DBLog nGB-VMDK nGB-VMDK nGB-VMDK nGB-VMDK nGB-VMDK 80-GB-VMDK DBData TempDB-Daten PV-SCSI-Controller PV-SCSI-Controller 80-GB-VMDK TempDB-Protokoll Festplatten für SQL-DB Auslagerungsdatei OS+SQL SQL-VM NFS-Datenspeicher RF2-CTR-VM CTR N SPI (PCIe-SSD, SATA-SSD, SATA-HDD) Nutanix DFS (NDFS) Abbildung 2: SQL Server-VM-Festplattenlayout auf der Dell XC Serie 3 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Das vereinfachte Speicherlayout und die lokale Speicherung von Daten auf jedem Knoten, auf dem die VM ausgeführt wird, bietet für jeden SQL-Datenbanktypen eine Reihe von Leistungsvorteilen. Dell XC – Funktionen und Vorteile SQL OLTP Transaktionale Datenbank Analytische SQL OLAPDatenbank • Lokale E/A-Vorgänge für Transaktionen mit niedriger Latenz • Flash für Index- und wichtige Datenbankdateien • Verarbeitet sowohl zufällige als auch sequenzielle Rechenlasten problemlos • Leistungsstarke Abfragen und Berichte mit lokalen E/A-Vorgängen • Sequenzielle Lese- und Schreibvorgänge mit hohem Durchsatz • Kann problemlos für Wachstum skaliert werden Tabelle 1: Leistungsvorteile für SQL OLTP- und OLAP-Datenbanken. Um die Leistung der Dell XC Serie für Anwendungen wie Microsoft SQL Server zu demonstrieren, wurden im Rahmen des Whitepapers zu Best Practices für SQL auf Nutanix eine Reihe von SQLIOBenchmarks durchgeführt. Die folgenden Abbildungen 3 bis 7 zeigen die Ergebnisse dieser Benchmark-Tests: IOPS SQLIO – Einzelne VM – Zufällige IOPS nach Blockgröße 40,000 35,000 30,000 25,000 20,000 15,000 10,000 5,000 0 Lesen Schreiben 512 KB 64 KB 8 KB Abbildung 3: SQL Server SQLIO – Einzelne VM – Zufällige IOPS nach Blockgröße SQLIO – Einzelne VM Sequenzieller Durchsatz nach Blockgröße 1,400 Durchsatz (Mbit/s) 1,200 1,000 800 Lesen 600 Schreiben 400 200 0 8 KB 64 KB 512 KB Abbildung 4: SQL Server SQLIO – Durchsatz mit einzelner VM nach Blockgröße 4 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software SQL – nach Bedarf Zufällige IOPS nach Anzahl an Knoten 600,000 500,000 IOPS 400,000 300,000 SK-Lese-IOPS 200,000 SK-Schreib-IOPS 100,000 0 1 4 8 16 Anzahl an Knoten Abbildung 5: SQL Server SQLIO – Mehrere VMs – IOPS-Skalierbarkeit SQLIO – nach Bedarf Durchsatz nach Anzahl an Knoten Durchsatz (Mbit/s) 25,000 20,000 15,000 512K Lesen: Mbit/s 10,000 512K Schreiben: Mbit/s 5,000 0 1 4 8 16 Número de nós Abbildung 6: SQL Server SQLIO – Skalierbarkeit des Durchsatzes mit mehreren VMs Die Dell XC Serie kann neben bestehenden Speicherinvestitionen verwendet werden und Rechenlasten von bestehenden Speicherplattformen verlagern, sodass Kapazität und Leistung frei werden, bis für die vorhandene Umgebung eine Aktualisierung ansteht. Die Migration zur Dell XC Serie ist einfach. Die Leistungsfähigkeit und lineare Skalierbarkeit in Kombination mit der kompromisslosen Einfachheit der Dell XC Serie machen sie zu einer guten Wahl für SQL Server-Database-as-a-Service-Projekte. Nutanix hat eine Reihe von Dokumenten zur Virtualisierung von Microsoft SQL Server erstellt. Diese Berichte sind unter www.nutanix.com im Abschnitt "Ressourcen" zu finden: • VMware vSphere on Nutanix Best Practices White Paper • SQL Server Best Practices White Paper and Reference Architecture • Nutanix Bible: Technology Guide Anhang: Best-Practice-Checkliste zu Microsoft SQL Server auf Nutanix Best Practices für MS SQL Server auf Nutanix lassen sich zu den folgenden vier allgemeinen Vorgehensweisen zusammenfassen. HINWEIS: Die Vorteile einer Best-Practice-Konfiguration und -Optimierung liegen hauptsächlich auf der MS SQL Server-Ebene. Allgemein • Führen Sie eine aktuelle Zustandsanalyse durch, um Rechenlasten und Dimensionierung zu ermitteln • Nehmen Sie sich vorab Zeit, eine Lösung zu entwerfen, die sowohl aktuelle als auch zukünftige Anforderungen erfüllt • Achten Sie beim Entwurf darauf, konsistente Leistung, Zuverlässigkeit und Skalierbarkeit zu bieten • Dimensionieren Sie weder zu knapp noch zu großzügig – achten Sie auf die richtige Dimensionierung • Beginnen Sie mit einer Machbarkeitsstudie, führen Sie Tests, Optimierungen, Wiederholungen und Skalierungen durch 5 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Kernkomponenten • Microsoft SQL Server o Leistung und Skalierbarkeit Verwenden Sie mehrere Laufwerke für TempDB-Protokoll/-Daten und Datenbankprotokoll/-daten • Beginnen Sie mit mindestens 2 Laufwerken für kleine Umgebungen oder 4 für größere Umgebungen • Achten Sie auf einen PAGEIOLATCH_XX-Engpass und skalieren Sie die Anzahl der Laufwerke nach Bedarf • Verwenden Sie als Größe der NTFS-Zuweisungseinheit 64 KB für MSSQL-Laufwerke • Aktivierung gesperrter Seiten im Speicher für MSSQL Server-Servicekonto (HINWEIS: Wenn diese Einstellung verwendet wird, muss der Speicher der VM gesperrt sein; gilt nur für Speicher > 8 GB) • TempDB-Datendateien • Legen Sie die TempDB-Größe zwischen 1 und 10 % der Größe der Instanzdatenbanken fest • Wenn die Anzahl der Kerne < 8, entspricht die Anz. der Kerne der Anz. der Datendateien • Wenn die Anzahl der Kerne > 8, verwenden Sie zunächst 8 Datendateien o Achten Sie auf Konflikte bei In-Memory-Zuweisung (PAGELATCH_XX) und skalieren Sie immer 4 Dateien gleichzeitig, bis der Konflikt behoben ist! Datenbankdatendateien • Dimensionieren Sie entsprechend und aktivieren Sie AUTOGROW entsprechend dem Datenbankwachstum • Verwenden Sie nicht die Option AUTOSHRINK für Daten- und Protokolldateien • Halten Sie die Auslastung der Festplattenkapazität maximal unter 80 % • Verwenden Sie mehrere Datendateien und Laufwerke o Achten Sie auf Konflikte bei In-Memory-Zuweisung (PAGELATCH_ XX), wenn der Konflikt die Anzahl der Dateien erhöht o Achten Sie auf E/A-Teilsystemkonflikte (PAGEIOLATCH_XX), verteilen Sie bei Konflikten die Datendateien auf mehrere Laufwerke Ablaufverfolgungsflags • Implementieren Sie das Ablaufverfolgungsflag 1118 beim Start, um einzelne Seitenzuweisungen zu entfernen • Implementieren Sie Ablaufverfolgungsflag 834, um große Seiten zu aktivieren (für Tier-1-Leistung) Verwenden Sie den MSSQL Server Best Practices Analyzer (BPA), um mögliche Probleme zu identifizieren Verwenden Sie schnelle Dateiinitialisierung Skalieren Sie die Anzahl der MSSQL.VMs und nicht die Anzahl der MSSQLInstanzen pro VM Mehr Speicher = höhere Leistung; erhöhen Sie bei Leistungsengpässen den VM-Speicher Verwenden Sie eine dedizierte Festplatte für die Microsoft-Auslagerungsdatei o Verfügbarkeit In den meisten Fällen bietet vSphere HA ein angemessenes Maß Verfügbarkeit für nicht geschäftskritische/Tier-1-Anwendungen Für geschäftskritische/Tier-1-Anwendungen: • MSSQL 2012: verwenden Sie AlwaysOn-Verfügbarkeitsgruppen (bevorzugt) • MSSQL 2008 und älter: verwenden Sie Protokollversand oder geclustertes MSSQL mit MSCS-Clustern Erstellen Sie konsistente Datenbanksnapshots/-sicherungen; die Häufigkeit sollte von den erforderlichen RPOs abgeleitet werden 6 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Nutzen Sie native oder Drittanbietertools zur Verwaltung von Sicherungen (Beispiel: Microsoft System Center Data Protection Manager (DPM) etc.) o Verwaltungsfunktionen Standardisieren, Überwachen und Warten Nutzen Sie eine MSSQL-Anwendungsüberwachungslösung (Beispiel: System Center etc.) Erstellen Sie standardisierte MSSQL-VM-Vorlagen Verwenden Sie eine konsistente Anzahl von Festplatten und Layoutschemata für MSSQL-VMs Fügen Sie MSSQL Server der Domäne hinzu, und verwenden Sie Active Directory für Authentifizierung Nutzen Sie Contained Database Authentication (MSSQL 2012) Verwenden Sie benannte Instanzen für MSSQL-Datenbankinstanzen, auch wenn Sie nur eine einzelne Instanz pro VM planen Stellen Sie bei benannten Instanzen Anwendungskompatibilität mit dynamischen Ports sicher; legen Sie für die Instanz andernfalls die Verwendung eines festen Ports fest • VMware vSphere (verwenden Sie entsprechende Best Practices bei Hyper-V) o Befolgen Sie die leistungsbezogenen Best Practices zu VMware o Vermeiden Sie die Überbelegung von CPU-Kernen (bei Tier-1-Rechenlasten) o Gleichen Sie bei kleinen MSSQL-VMs die Anzahl der vCPUs an die Anzahl der Kerne pro physische NUMA-Knoten an o Gleichen Sie bei größeren MSSQL-VMs die Anzahl der vCPUs an die physischen NUMAGrenzen an, und nutzen Sie vNUMA o Sorgen Sie dafür, dass die Anzahl der vCPUs problemlos durch NUMAKnotengrößen teilbar sind, um eine leichte Zeitplanung sicherzustellen o Behalten Sie die Standardrichtlinie (beliebig) für Hyperthreading-Sharing bei o Aktivieren Sie die Host-Energierichtlinie "Hohe Leistung" o Sperren Sie MSSQL-VM-Speicher (bei Tier-1-Rechenlasten) o Dimensionieren Sie MSSQL-VM-Speicher mithilfe der folgenden Berechnung: VM-Speicher = max. SQL Server-Speicher + ThreadStack + Betriebssystemspeicher + VM-Restkapazität Threadstack = max. SQL-Worker-Threads * 2 MB (bei x64) o Verwenden Sie paravirtuelle SCSI-Controller und VMXNET3-NICs o Verwenden Sie Ressourcenpools mit korrekter Freigabezuweisung o Verwenden Sie DRS-Affinitätsvermeidungsregeln, um MSSQL-VMs auseinanderzuhalten • Dell XC o Verwenden Sie einen einzelnen Container für SQL Server o Verwenden Sie ein entsprechendes Modell je nach Datenverarbeitungs- und Speicheranforderungen Behalten Sie den Arbeitssatz idealerweise auf einer SSD und sorgen Sie dafür, dass die Datenbankgröße die Knotenkapazität nicht überschreitet Wählen Sie ein Modell, bei dem die gesamte Datenbank idealerweise auf einen einzelnen Knoten passt. HINWEIS: Stellen Sie bei größeren Datenbanken, die nicht auf einen Knoten passen, sicher, dass zwischen Knoten ausreichend Bandbreite vorhanden ist Verwenden Sie für MSSQL-Rechenlasten mit hoher E/A-Intensität Knotenmodelle mit mehr Speicher o Erstellen Sie eine dedizierte Konsistenzgruppe mit den MSSQL-VMs und Anwendungen o Nutzen Sie bei der Erstellung von Snapshots für die Konsistenzgruppe "anwendungskonsistente Snapshots", um VSS zu aktivieren 7 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software Unterstützende Komponenten: • Netzwerk o Verwenden und optimieren Sie QoS für NDFS und Datenbankverkehr o Verwenden Sie 10GbE-Switches mit niedriger Latenz o Verwenden Sie redundante 10GbE-Uplinks von jedem Nutanix Knoten o Sorgen Sie für adäquaten Durchsatz zwischen Nutanix Knoten und MSSQL-VMs o Prüfen Sie, ob Pause-Frames auftreten, welche die Replikation und die VMKommunikation beeinträchtigen könnten • Active Directory o Verwenden Sie AD-basierte Authentifizierung für MS SQL Server-VMs • Betriebssystem- und Anwendungs-Updates o Planen Sie Updates so, dass sie außerhalb von Geschäftszeiten durchgeführt werden, um Leistungseinbußen zu vermeiden o Staffeln Sie Updates in Phasen Microsoft Support für die Virtualisierung von SQL Server auf VMware Microsoft Support für die Virtualisierung von SQL Server auf VMware ist auf "Best Effort" beschränkt. Die Microsoft Best Practice für die Virtualisierung von SQL Server ist, Hyper-V zu verwenden, womit Kunden umfassenden Microsoft Support für ihre Lösung erhalten. Microsoft blockiert die Virtualisierung von Microsoft Rechenlasten auf VMware nicht, kann aber für diesen Anwendungsfall nur Support auf der Basis von "Best Effort" bieten. Nähere Informationen zu Microsoft Support für Produkte auf VMware VMs finden Sie unter https://www.vmware.com/support/policies/ms_support_statement. ©2015 Dell Inc. Alle Rechte vorbehalten. Dell und das Dell Logo sind Marken von Dell Inc. Andere Marken und Handelsnamen können in diesem Dokument benutzt worden sein, um entweder auf die juristischen Personen, welche die Marken und Namen beanspruchen, oder deren Produkte Bezug zu nehmen. Dell erhebt keinerlei Anspruch auf Eigentumsrechte an den Marken und Handelsnamen Dritter. Dieses Dokument dient lediglich Informationszwecken. Dell behält sich das Recht vor, die beschriebenen Produkte jederzeit ohne Ankündigung zu ändern. Die Angaben wurden sorgfältig zusammengestellt, dennoch kann keinerlei ausdrückliche oder stillschweigende Garantie übernommen werden. Leasing- und Finanzierungsleistungen werden von Dell Financial Services L.L.C. oder seinem Partner und Bevollmächtigten ("DFS") für qualifizierte Kunden bereitgestellt. Angebote sind möglicherweise nicht in allen Ländern erhältlich oder können je nach Land variieren. Verfügbare Angebote können jederzeit ohne Vorankündigung geändert werden und unterliegen der Produktverfügbarkeit, einer Kreditgenehmigung sowie der Einreichung aller von DFS geforderten Unterlagen in vollständig und korrekt ausgefüllter Form. Für bestimmte Angebote kann ein Mindesttransaktionsumfang gelten. Die Angebote gelten nicht für die private Nutzung oder die Nutzung in Familie und Haushalt. XC_Series_Tech_Note_031115 8 Virtualisierung von Microsoft SQL Server auf konvergenten Web-Scale-Appliances der Dell XC Serie mit Nutanix Software