Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Einführung in Storage Spaces Direct für SQL Server

Windows Server 2012 hat ein neues Feature namens Scale-Out File Server (SOFS) eingeführt. In der Vergangenheit wurde SOFS hauptsächlich als gemeinsam genutzte Speicherebene (als Alternative zu einem gemeinsam genutzten SAN) für Hyper-V-Virtualisierungshosts verwendet, aber diese Funktion ist auch für SQL Server 2012 und neuer nützlich, die sowohl System- als auch Benutzerdatenbankdateien speichern können auf SMB 3.0-Dateifreigaben für eigenständige und geclusterte Instanzen von SQL Server. SOFS besteht aus einer Reihe von geclusterten Dateiservern, die einen transparenten Failover-Dateiservercluster bilden. Der Datenbankserver stellt über SMB 3.0-Netzwerk eine Verbindung zum SOFS her (was Windows Server 2012 oder neuer sowohl auf den Dateiservern als auch auf den Datenbankservern erfordert). Sie benötigen außerdem ein oder mehrere JBOD-Gehäuse, mit denen jeder SOFS-Clusterknoten über SAS-Kabel verbunden ist. Netzwerkadapter mit Remote Direct Memory Access (RDMA)-Fähigkeit unter Verwendung von SMB Direct sind auf beiden Seiten der Verbindung erforderlich. RDMA-Netzwerkadapter sind in drei verschiedenen Typen erhältlich:Internet Wide Area RDMA Protocol (iWARP), Infiniband oder RDMA over Converged Ethernet (RoCE).

Storage Spaces wird verwendet, um die SAS-Festplatten der JBOD-Gehäuse zu aggregieren. Virtuelle Laufwerke werden aus den aggregierten SAS-Laufwerken erstellt, bieten Resilienz gegen Laufwerks- oder Gehäuseausfälle und ermöglichen SSD/HDD-Tiered-Storage und Write-Back-Caching. In Windows Server 2012 und 2012 R2 erfordert ein HA-Speichersystem, das Speicherplätze verwendet, dass alle Datenträger physisch mit allen Speicherknoten verbunden sind. Damit die Festplatten physisch mit allen Speicherknoten verbunden werden können, müssen sie SAS-Festplatten sein und sie müssen in einem externen JBOD-Gehäuse installiert sein, wobei jeder Speicherknoten physisch mit dem externen JBOD-Gehäuse verbunden sein muss.

Ein Beispiel für diese Art der Bereitstellung ist in Abbildung 1 dargestellt:

Abbildung 1:Windows Server 2012 und 2012 R2 Shared JBOD Scale-Out File Server

Die beiden Hauptschwächen von SOFS sind die Kosten und die Komplexität der SAS-Speicherebene und die Tatsache, dass nur SAS-HDDs und -SSDs unterstützt werden (d. h. keine kostengünstigeren SATA-HDDs oder -SSDs). Sie können auch keine lokalen internen Laufwerke oder PCIe-Speicherkarten in den einzelnen Dateiserverknoten mit SOFS in Windows Server 2012 R2 verwenden.

Speicherplätze direkt

Eine der aufregenderen neuen Funktionen in Windows Server 2016 heißt Storage Spaces Direct (S2D), die es Unternehmen ermöglicht, mehrere geclusterte Commodity-Dateiserverknoten zu verwenden, um hochverfügbare, skalierbare Speichersysteme mit lokalem Speicher unter Verwendung von SATA, SAS oder PCIe-NVMe-Geräte. Sie können interne Laufwerke in jedem Speicherknoten oder direkt angeschlossene Festplattengeräte mit „Just a Bunch of Disks“ (JBOD) verwenden, wobei jedes JBOD nur mit einem einzigen Speicherknoten verbunden ist. Dadurch entfällt die frühere Anforderung einer gemeinsam genutzten SAS-Fabric und ihrer Komplexität (die mit Windows Server 2012 R2 Storage Spaces und SOFS erforderlich war) und ermöglicht auch die Verwendung kostengünstigerer Speichergeräte wie SATA-Festplatten.

Um S2D zu verwenden, benötigen Sie mindestens vier geclusterte Dateiserver, die jeweils eine Mischung aus internen Laufwerken (SAS oder SATA), PCIe-Flash-Speicherkarten oder direkt angeschlossenen Festplattengeräten haben können, die unter Verwendung von Speicherplätzen gepoolt werden. Bis zu 240 Datenträger können sich in einem einzelnen Pool befinden, der von bis zu 12 Dateiservern gemeinsam genutzt wird. Ein Software Storage Bus ersetzt die SAS-Schicht eines gemeinsam genutzten SAS JBOD SOFS. Dieser Softwarespeicherbus verwendet SMB 3.1.1-Netzwerke mit RDMA (SMB Direct) zwischen den S2D-Clusterknoten für die Kommunikation. Die Funktion „Speicherplätze“ aggregiert die lokalen und DAS-Datenträger in einem Speicherpool, in dem ein oder mehrere virtuelle Datenträger aus dem Pool erstellt werden. Die virtuellen Laufwerke (LUNs) werden mit Resilient File System (ReFS) formatiert und dann in Cluster Shared Volumes (CSVs) konvertiert, wodurch sie im gesamten Dateiserver-Cluster aktiv werden.

Der S2D-Stack ist in Abbildung 2 dargestellt:

Abbildung 2:Stack Storage Spaces Direct (S2D) (Bildnachweis:Microsoft)

Der Grund, warum dies für SQL Server-Datenbankexperten so wichtig ist, ist, dass S2D Ihnen eine weitere leistungsstarke Bereitstellungsoption für Ihr Speichersubsystem bietet, das mit eigenständigen SQL Server-Instanzen, mit herkömmlichen FCI-Instanzen (die gemeinsam genutzten Speicher erfordern) und mit Instanzen, die AlwaysOn AG-Knoten verwenden.

Wenn Sie sowohl für Ihre geclusterten Dateiserver als auch für Ihre Datenbankserver über die richtigen Netzwerkadapter (nicht Ihre Gartenvariante, eingebettete Broadcom Gigabit Ethernet NICs) verfügen, können Sie SMB Direct und RDMA nutzen, damit das SMB-Netzwerk liefern kann Extrem hoher Durchsatz mit sehr geringer Latenz und geringer CPU-Auslastung durch die Netzwerkadapter, wodurch der Remote-Dateiserver in Bezug auf die Leistung einem lokalen Speicher ähnelt. Die neue S2D-Funktion macht es einfacher und kostengünstiger, einen Scale-Out-Dateiserver-Cluster bereitzustellen, der eine extrem hohe Leistung für die SQL Server-Nutzung bieten kann. Dies funktioniert nicht nur für nicht virtualisierte Bare-Metal-SQL Server-Instanzen, sondern ist auch eine gute Lösung für virtualisierte SQL Server-Instanzen, bei denen der Virtualisierungshost eine viel bessere E/A-Leistung erzielen kann als bei einem typischen SAN.

Wenn Sie beispielsweise einen 56 GB InfiniBand (FDR) Host Channel Adapter (HCA) an einen PCIe 3.0 x8-Steckplatz Ihres Datenbankservers (oder Virtualisierungs-Hostservers) und Ihrer Dateiserver angeschlossen haben, erhalten Sie etwa 6,5 ​​GB/Sek sequentieller Durchsatz für jede Verbindung . Ich habe hier einige detailliertere Informationen zu sequentiellen Durchsatzgeschwindigkeiten und Feeds. Derzeit müssen Sie PowerShell verwenden, um Storage Spaces Direct bereitzustellen und zu verwalten. Dieser TechNet-Artikel enthält einige gute Informationen und Beispiele zum Testen von S2D in Windows Server 2016 Technical Preview 3.

Bis Windows Server 2016 und SQL Server 2016 GA sind, werden wir wahrscheinlich den neuen 14-nm-Prozessor Intel Xeon E5-2600 v4 „Broadwell-EP“ haben, der bis zu 22 physische Kerne pro Sockel und 55 MB gemeinsam genutzten L3-Cache haben wird. zusammen mit DDR4 2400-Speicherunterstützung. Diese neue Prozessorfamilie funktioniert mit bestehenden Servermodellen wie dem Dell PowerEdge R730, da sie Sockel-kompatibel mit den aktuellen 22-nm-Prozessoren der „Haswell-EP“-Familie ist. Dadurch erhalten Sie die beste zugrunde liegende Serverhardwareplattform, um die Vorteile von S2D voll auszuschöpfen.