Große Hersteller beliebter Software kümmern sich auf unterschiedliche Weise um ihre Kunden. Eine Möglichkeit besteht darin, ein Zertifizierungsprogramm zu erstellen. Wenn Kunden in Gedanken zwischen Hardware-Konfigurationen für eine bestimmte Software wechseln, kann der Hersteller dieser Software mit einem Finger mit Zuversicht darauf hinweisen: „Nehmen Sie dies und alles wird gut.“
Ein solches Programm für seinen SQL Server wurde von Microsoft entwickelt - SQL Server Fast Track (DWFT). Es zertifiziert die Konfigurationen von Data Warehouses - solche, die den Anforderungen der Arbeitslast entsprechen und mit weniger Risiko, Kosten und Komplexität implementiert werden können. Es klingt gut, aber es ist interessant, diese Kriterien in der Praxis zu bewerten. Zu diesem Zweck analysieren wir detailliert eine der Konfigurationen mit SQL Server Data Warehouse Fast Track-Zertifizierung.

Für den Anfang - ein bisschen mehr über DWFT. Dieses Programm umfasst nicht nur die Zertifizierung von Referenzarchitekturen von Systemlieferanten, sondern auch eine Reihe von Best-Practice-Handbüchern - wenn Sie etwas Eigenes erstellen möchten. Microsoft aktualisiert das Programm für die Entwicklung neuer Funktionen und basiert auf Kundenfeedback.
Mit DWFT-kompatiblem Speicher können Sie sicher sein, dass alle Funktionen von SQL Server verfügbar sind. In-Memory-Spaltenspeichertechnologien verbessern die Leistung bei Transaktions- und Analyse-Workloads. Es werden sowohl traditionelle strukturierte relationale als auch unstrukturierte Big Data unterstützt - in Hadoop, Spark oder Azure Data Lake. Mit der SQL Server PolyBase-Funktion können Sie Big Data in SQL Server Universe kombinieren, sowohl relationale als auch unstrukturierte Daten abfragen und zusammenführen, ohne sie verschieben zu müssen.
Eine allgemeine Liste zertifizierter Architekturen finden Sie am Ende
dieser Seite . Als nächstes werden wir einen von ihnen vorstellen.
"Referenz" -Architektur
Nun zum Parsen einer der von DWFT zertifizierten Architekturen. Es basiert auf unseren BullSequana S400- und S800-Servern und dem Dell EMC VMAX-Speicher. Der Speicher kann auf bis zu 4 PB erhöht werden, wenn Sie den BullSequana S-Server auf 32 Prozessoren skalieren.
Um eine hohe Datenbankverfügbarkeit sicherzustellen, wird zusätzlich Windows Failover Clustering empfohlen. Das heißt, die Verwendung von mindestens zwei Servern. Über Microsoft-Clusterdienste wird ein Datenbankserver als primärer (aktiver) Server und der zweite als sekundärer (passiver) Server konfiguriert. Der passive Server muss dieselbe Konfiguration wie der primäre Server haben.
Liste und Merkmale der Infrastrukturkomponenten
Allgemeiner Überblick über zwei KonfigurationenHardwarekomponenten
BullSequana S800 Server
Der BullSequana S800-Server ist ein Server mit acht Prozessoren, bis zu 12 TB Speicher, erweiterten E / A- und Modulzusätzen mit SSD / HDD / NVMe-Speicher oder mit NVidia Tesla-GPUs.
Die BullSequana S-Linie ist in Optionen vom S200 mit zwei Prozessoren bis zum S3200 mit 32 Prozessoren erhältlich. Der Skalierungsschritt der Linie besteht aus zwei Prozessoren. Für die DWFT-Architektur von SQL Server 2017 sind die Modelle S200, S400 und S800 gleichermaßen zertifiziert.

Host-Bus-Adapter Emulex LPe31002-M6 16 Gbit / s
Im Vergleich zu früheren Generationen bieten die Emulex Gen 6 FC-Adapter mit dynamischer Multi-Core-Architektur eine höhere Leistung, geringere Latenz, bessere Diagnose und Verwaltbarkeit. Es bietet Geschwindigkeiten von bis zu 12.800 MB / s (zwei 32-GFC-Ports oder vier 16-GFC-Ports), ein Durchsatz von 1,6 Millionen IOPS pro Adapter. Die Vier-Port-Version des LPe32004 bietet bis zu 3,2 Millionen IOPS pro Adapter.
Brocade 6510 Schalter
Der Brocade 6510-Switch von Broadcom ist ein Server-Fibre-Channel-Switch mit 1 HE und 48 Ports.
- Fibre Channel-Leistung: 16 Gbit / s
- Bis zu 48 Ports mit einem Gesamtdurchsatz von 768 Gbit / s
- Frame-Trunking mit bis zu 128 Gbit / s
- Stromverbrauch: 14 W / Gb / s
Dell EMC VMAX 250F
VMAX All Flash konzentriert sich auf Petabyte-Datenmengen und die Verarbeitung großer Transaktionen. VMAX All Flash skaliert und integriert Hunderte von Intel Multi-Core-Prozessoren für dynamische gemischte Workloads. Das Kernelement von VMAX All Flash ist V-Brick - es ist möglich, bis zu acht V-Bricks als ein einziges System mit vollständig getrennten Konnektivitäts-, Verarbeitungs- und Bandbreitenfunktionen zu kombinieren. Jeder V-Brick unterstützt bis zu 72 Prozessorkerne, um die Leistung zu skalieren - bis zu 576 Kerne pro Array. Für die Skalierung werden Flash Capacity Packs-Module verwendet.
Der Speicher sollte eindeutig die Anforderungen für hochpräzise Echtzeit-Transaktionsverarbeitung (OLTP), virtualisierte Anwendungen sowie Oracle- und SQL-Datenbanken erfüllen. Die Anforderungen werden für Millionen von IOPS, Petabyte-Durchsatz und vorhersehbarer Leistung (Reaktionszeit von 350 μs) erfüllt.
Schließlich sollte die Architektur eine verbesserte Fehlerisolierung, zuverlässige Überprüfung der Datenintegrität und bewährte ausfallsichere Hardware- und Software-Updates aufweisen. Eine weitere Anforderung: Verfügbarkeit für 24x7-Operationen mit SRDF-Software.
Wie der Speicher verbunden ist
VMAX 250F-Konfiguration (alle Flash):
- 2 vBrick mit 2 TB Cache pro Block.
- 32 * 16 Gbit / s Host-FC-Ports
- 64 * 3,84 TB Flash (Raid5-7 + 1) + Reserve
Aussehen von VMAX vBricks in einem Rack:

Hafenstandorte:

Die logische Array-Konfiguration in einer zertifizierten Architektur entspricht der Dell EMC-Konfiguration und den Best Practices.
- HyperMaxOS Version: 5977.1131.1131
- Verschlüsselung: Aktiviert
- Komprimierung: Deaktiviert
- Systemleistungsprofil: Grundlegend
Hauptverteilung:


LUN-Konfiguration
Alle LUNs sind als DÜNNE LUNs in einem virtuellen Pool konfiguriert, der auf 64 Laufwerken erstellt wurde. Die Daten werden auf allen vBricks auf alle Flash-Laufwerke verteilt. Auf dem Dell EMC VMAX sind insgesamt 35 LUNs definiert:
- 16 8-TB-LUNs für Benutzerdaten (insgesamt 128 TB)
- 16 LUN oder 2 TB für Tempdb (insgesamt 32 TB)
- 2 LUN-Größe von 2 TB für das Magazin (insgesamt 4 TB)
Die Front-End-Ports des Fibre Channel (FC) sind für die Verwendung von vier Failover-Domänen im virtuellen Portmodus konfiguriert. Jeder Port ist eins zu eins mit einem Port auf dem VMAX verbunden, der nur eine Daten-LUN und eine Tempdb-LUN bedient. Für jeden von ihnen gibt es eine LUN, um die Lese- und Schreibvorgänge auf der LUN zu trennen (bei der Ausführung von GROUP BY oder ORDER BY werden die Daten zuerst in Tempdb geschrieben, bevor sie in einem anderen Teil der Abfrage verwendet oder dem Benutzer präsentiert werden). Jede LUN ist vier FA-Ports zugeordnet und auf vier Arten zugänglich.
Portzuordnung:

VMAX-Speichergruppen (SG)
Die folgenden Speichergruppen wurden erstellt:

Cache lesen und schreiben
Der VMAX-Cache ist global und wird dynamisch zum Lesen und Schreiben verwendet. Die Standardeinstellungen werden verwendet, um das Warten auf die Aufzeichnung im System zu begrenzen. Da das System nur eine Anwendung verwendet, müssen keine Cache-Partitionen erstellt werden.
Stellen Sie eine Verbindung zu Server und MPIO her
Windows Server 2016 verwendete ein eigenes MPIO. Die Alternative ist die PowerPath-Software für Dell EMC-Anwendungen.
Kabelführung
Die oberen Ports der Brocade-Switches werden zum Verbinden des BullSequana S800-Servers verwendet. Jeder gerade Port von Emulex HBA ist mit den oberen Ports links vom Brocade-Switch verbunden. Jeder der Outbus Emulex HBA-Ports ist mit den oberen Ports links vom Brocade_2-Switch verbunden. Die unteren Ports werden nur zum Anschließen der Dell EMC VMAX FC-Ports verwendet.
Einzelserverkonfiguration
Das folgende Diagramm zeigt die Verkabelung zwischen dem BullSequana S800 und dem Dell EMC VMAX 250F. Die HBA-Platzierung kann je nach Platzierung der HBA-Module variieren.

Kabelverbindungen in hochverfügbarer Serverkonfiguration
Das folgende Diagramm zeigt, wie zwei BullSequana S800-Server in einer Hochverfügbarkeitskonfiguration mit einem Dell EMC VMAX 250F verbunden werden. Auch hier kann die Platzierung des HBA abhängig von der Platzierung der HBA-Module variieren.

Oben auf der linken Seite des Brocade-Switches ist die linke Hälfte der Ports für den ersten S800-Server hervorgehoben, und auf der rechten Seite des Bildes befinden sich die rechten Ports, und der zweite S800-Server ist mit ihnen verbunden.
BullSequana S800 Serverkonfiguration
System-BIOS
Alle Parameter außer der BMC-Netzwerkkonfiguration wurden auf den werkseitigen Standardeinstellungen belassen. Die Einstellung Logischer Prozessor im Abschnitt Prozessoreinstellungen bleibt standardmäßig aktiviert. Dadurch wird die Intel Hyper-Threading-Technologie aktiviert, mit der die Anzahl der für SQL Server verfügbaren logischen Prozessoren maximiert wird.
Emulex LPe31002-M6 16 Gbit / s
Alle Emulex-HBAs sind über den Emulex OneCommand Manager verfügbar. Die Firmware- und Treiberversionen, die während der Microsoft DWH Fast Track-Zertifizierung verwendet werden, sind 12.0.193.13.

Es ist wichtig, dass alle HBAs dieselbe Firmware haben. Die neueste Firmware kann von der Broadcom-Website heruntergeladen werden. Firmware-Upgrades können über die Schaltfläche "Firmware herunterladen" in Emulex OneCommand Manager durchgeführt werden. Das Ändern des Treibers und / oder der Firmware erfordert möglicherweise einen Neustart des Servers.
Mit Ausnahme des QueryDept-Parameters, der von 32 auf 64 geändert wurde, blieben alle anderen Host- und HBA-Parameter standardmäßig erhalten.

Windows Server 2016-Konfiguration
Installation
Die Windows-Installation wurde mit den Standardeinstellungen durchgeführt. Nach der Installation wurde die Windows MPIO-Funktion aktiviert (siehe Abbildung unten).

Nach der Installation der MPIO-Funktion muss Windows neu gestartet werden.
Treiber und Pakete installieren
Es ist wichtig, Treiber und Pakete auf dem USB-Speicher zu haben, da diese nicht im Windows-Treiberkatalog auf der Installations-DVD enthalten sind (Netzwerkadapter sind neuer als Windows Server 2016). Nach der Installation von Windows und MPIO wurden die folgenden Treiber und Pakete installiert (in der angegebenen Reihenfolge):
- Intel INF-Chipsatz Version 10.1.17711.8088_PV oder höher (Neustart erforderlich)
- MegaRAID-Treiber für Windows 2016 Version 6.14-6.714.05.00-WHQL (Neustart erforderlich)
- PROWinx64 für Intel XL7xx Family Version 23_2 oder höher
- OneInstall-Setep-12.0.193.18.exe oder höher
Energieeinstellungen
Um die Leistung zu maximieren, wurde der Server für die Verwendung eines Hochleistungsplans konfiguriert.

Seiten im Speicher sperren
Um zu verhindern, dass das Windows-Betriebssystem Datenseiten an den virtuellen Speicher auf der Festplatte sendet und SQL Server den Prozess zum Speichern von Daten im physischen Speicher (RAM) verwenden kann, wurde die Option Seiten im Speicher sperren für das SQL Server-Dienstkonto aktiviert. Sie müssen SQL Server neu starten, damit diese Option wirksam wird.
Windows-Laufwerke
Nachdem das Zoning in VMAX- und LUN-Switches abgeschlossen ist, werden sie in der Windows-Datenträgerverwaltung angezeigt.

Wenn alle Laufwerke korrekt formatiert sind, zeigt die Windows-Datenträgerverwaltung die folgende Liste an:

Insgesamt gibt es 34 LUNs:
- 16 8-TB-LUNs für Benutzerdaten (insgesamt 128 TB)
- 16 LUN oder 2 TB für Tempdb (insgesamt 32 TB)
- 2 LUN-Größe von 2 TB für das Magazin (insgesamt 4 TB)
Für DWFT-Referenzarchitekturen empfehlen Dell EMC und ich, Mount-Punkte für Volumes anstelle von Laufwerksbuchstaben zu verwenden. Wir empfehlen, dass Sie geeignete Datenträger- und Bereitstellungspunktnamen zuweisen, um die Fehlerbehebung und Leistungsanalyse zu vereinfachen. Im Idealfall sollten Mountpunktnamen so zugewiesen werden, dass die Identifizierung des VMAX-Volumes für dieses Windows-Volume vereinfacht wird.
Die folgende Tabelle zeigt die Datenträgerbezeichnungen und Zugriffspfade, die für die Referenzkonfiguration verwendet werden:

Nachdem alle LUNs bereit sind, sieht das Verzeichnis C: \ Storage folgendermaßen aus:

MPIO
Die MPIO-Richtlinie für alle Volumes wird im Abschnitt "Abteilung für die geringste Warteschlange" festgelegt.

Windows Defender-Konfiguration
Windows Defender ist eine Standardkomponente für Virenschutz und Spam. Um zu verhindern, dass SQL Server-Daten und -Protokolldateien (auf Leistung) gescannt werden, müssen die folgenden Ausnahmen hinzugefügt werden.
Ordner auf einem Server:
- C: \ Programme (x86) \ Microsoft SQL Server
- C: \ Programme \ Microsoft SQL Server
- C: \ Storage (Einzelserverlösung)
Ordner in einer Hochverfügbarkeitslösung (HA):
- C: \ Programme (x86) \ Microsoft SQL Server
- C: \ Programme \ Microsoft SQL Server
- C: \ ClusterStorage (kostengünstige Lösung)
- C: \ Windows \ Cluster
- Quorum Drive
- MSDTC-Laufwerk
Dateitypen:
SQL Server 2017 Enterprise Edition-Konfiguration
Die Installation erfolgt hauptsächlich mit den Standardeinstellungen. Einige Ausnahmen sind unten aufgeführt. Während der Installation von SQL Server 2017 ist die Option Leistungswartungsaufgabe ausführen ausgewählt.
Tempdb-Konfiguration
Die Tempdb-Datenbank ist so konfiguriert, dass 16 Dateien derselben Größe verwendet werden. Tempdb-Datendateien befinden sich auf 16 Volumes. Die Tempdb-Transaktionsprotokolldatei wird auf der Festplatte abgelegt, auf der die Protokolle aufbewahrt werden. Der automatische Zoom ist aktiviert.
Startoptionen für eine Instanz von SQL Server
SQL Server 2017 setzt automatisch die Ablaufverfolgungsflags -T1117 und -T1118, sodass Sie sie nicht mehr zu den Startoptionen der Instanz hinzufügen müssen. Wenn Sie das Trace-Flag -T834 nicht verwenden, wird eine bessere Leistung erzielt. Microsoft empfiehlt, dieses Flag nicht zu verwenden, wenn Clustered Column Storage-Indizes verwendet werden.
Der einzige Startparameter ist das Flag -E:

Weitere Informationen zu diesem Thema finden Sie unter
Startoptionen für Microsoft
DBCC TRACEON - Trace Flags und
Database Engine Service .
Maximaler SQL Server-Speicher
Der maximale Serverspeicher für diese Referenzarchitektur sollte auf 11.534.336 MB oder 11.264 GB festgelegt werden, wobei dem Betriebssystem 1.024 GB zugewiesen sind. Wenn zusätzliche Anwendungen den Server gemeinsam nutzen, müssen Sie die für das Betriebssystem verfügbare Speichermenge anpassen.

Maximale Parallelität (MAXDOP)
Der maximale Parallelitätsgrad ist auf 448 festgelegt, was der Anzahl der auf dem Server verfügbaren logischen Kerne entspricht.

Ressourcenmanagement
Abhängig von der Art der verwendeten Arbeitslast - dem Speicher mit der größten Anzahl von Zeilen (RS) oder dem Clustered Column Storage (CS) - müssen Sie den Resource Governor entsprechend konfigurieren.
Für den Zeichenfolgenspeicher wird der Parameter für den Ressourcenregler, mit dem die maximale Speichermenge begrenzt wird, auf 12 Prozent festgelegt.
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=12); ALTER RESOURCE GOVERNOR RECONFIGURE;
Für die Spaltenspeicherung wird die Ressourcencontrollereinstellung zum Begrenzen der maximalen Speichermenge auf 25 Prozent festgelegt.
ALTER WORKLOAD GROUP [default] WITH (request_max_memory_grant_percent=25); ALTER RESOURCE GOVERNOR RECONFIGURE;
Datenbankeinrichtung
Die Data Warehouse-Datenbank wurde für die Verwendung mehrerer Dateigruppen konfiguriert, von denen jede 16 Dateien enthält, die gleichmäßig auf 16 Datenvolumes verteilt sind. Alle Dateien dürfen automatisch wachsen. Dateigruppen wurden mit dem Parameter AUTOGROW_ALL_FILES konfiguriert, um sicherzustellen, dass alle Dateien in einer bestimmten Dateigruppe gleich bleiben.
ALTER DATABASE <database name> MODIFY FILEGROUP <file group name> AUTOGROW_ALL_FILES;
Add-Ons für die Hochverfügbarkeits-Link-Architektur (HA)
Die HA-Referenzarchitektur verwendet Windows Failover Clustering, um eine hohe Verfügbarkeit bereitzustellen. Das Konfigurieren eines Windows-Failoverclusters weist zusätzliche Speicherprobleme auf. Die empfohlene Konfiguration ermöglicht es allen Cluster-Stimmen, für das Quorum zu stimmen und die Festplatte zu verwenden.
Ein zusätzliches Volume muss erstellt und als Zeugenfestplatte konfiguriert werden. Dell EMC empfiehlt die Verwendung von 2 GB Festplattenspeicher. Alle Volumes müssen jedem Clusterknoten zugeordnet, als Clusterressource konfiguriert und der SQL Server-Clusterressourcengruppe hinzugefügt werden.
Fazit
Abschließend werden wir wahrscheinlich den wichtigsten Vorteil der Konfiguration herausgreifen - die Möglichkeit, eine große Anzahl von HBA-Adaptern anzuschließen. Auf diese Weise können Sie die Zunahme der Speichermodule mit diesen ausgleichen.
Dies ist das Zertifikat für die Konfiguration des ATOS BullSequana S800 und des Dell EMC VMAX 250F. Sie können darin Testmetriken sehen.In naher Zukunft planen wir, Lösungen auf die Architektur von Cascade Lake zu übertragen. Dies wird zum Start einer neuen Zertifizierung führen, die die derzeitige Zertifizierung ergänzt. Gerne beantworten wir Ihre Fragen zur Zertifizierung und zu unserer Architektur in den Kommentaren.