Failover Cluster - Resource Monitors

Intensivkurs SQL-CLUSTER

Aufbau & Administration von SQL 2017 "AlwaysOn" Cluster

Synchrone/Asynchrone Replication - Automatic Seeding - Read-Intent Read Only Routing - Load Balancing - Automatic Login/Job Migrations - Monitoring

Dieser neue Kurs ist für Administratoren gedacht, die einen hochverfügbaren SQL 2017 AlwaysOn Cluster aufbauen und administrieren möchten. SQL AlwaysOn war früher Bestandteil des Failover Cluster Kurses, der nun auch ohne SQL mit Work Folders Cluster und ADFS Conditional Access ausgebaut wurde.
Der Kursinhalt geht weit über die "normale" Administration hinaus. Er gibt den Teilnehmern einen tiefen Einblick in SQL 2017 AlwaysOn.
Mit SQL AlwaysOn wird die Hochverfügbarkeit einer SQL-Datenbank erheblich verbessert. Durch die neue Non-Shared Disk Technologie wird Disaster Recovery abgedeckt, aber auch Performance Clustering ist mit AlwaysOn möglich. Eine Availability Group (Verfügbarkeitsgruppe) für Datenbanken kann dabei auf bis zu 9 Replicas verteilt werden, die jeweils synchron oder asynchron angebunden sein können. Ein automatischer Failover zwischen 3 synchron angebundenen Knoten ist jederzeit möglich.

ZIELGRUPPE
Das Seminar richtet sich an Serveradministratoren, SQL-Datenbankadministratoren und Support-Ingenieure.
Erfahrung mit Active Directory und gute Kenntnisse in Windows 20xx und Netzwerk sind von Vorteil, jedoch keine Bedingung.

NIVEAU
★★★★☆ — ziemlich anspruchsvoll

DAUER
  3 Tage

ORT
NT Systems Schulungszentrum Böblingen (Karte)

TERMINE

04.09. - 06.09.2018 noch Plätze frei

Zur Anmeldung

PREIS
2.750,- € zzgl. Mwst. – inkl. Mittagessen 14,- € / Tag

MINDEST-TEILNEHMERZAHL
Das Seminar findet ab einer Mindestzahl von drei Teilnehmern garantiert statt.

SCHULUNGSZEITEN
Am ersten Tag 09:00 - 17:00 Uhr
Am zweiten Tag 08:30 - 17:00 Uhr
Am letzten Tag 08:30 - 16:00 Uhr

ZERTIFIKAT
Nach erfolgreicher Teilnahme erhalten die Kursteilnehmer ein Zertifikat von NT Systems.


AUSFÜHRLICHE INFORMATIONEN

Im Folgenden finden besonders interessierte Leser ausführliche Informationen zu den im Kurs behandelten Themen.

Am 1. Tag    Jeder Teilnehmer baut seinen eigenen SQL 2017 AlwaysOn Cluster mit 3 Nodes und Witness auf.

Am 2. Tag    Grundlagen 2017 AlwaysOn

Am 3. Tag    Advanced Administration 2017 AlwaysOn

Für AlwaysOn wird dabei ein Windows Server 2016 Failover Cluster aufgebaut und das Quorum sinnvoll konfiguriert. Auch wenn der Cluster mit 3x Nodes genügend Stimmen hat, wird ein File Shared Witness konfiguriert. Wichtig ist dabei zu verstehen unter welchen Bedingungen es bei AlwaysOn zu einem Failover kommt. Auf dem Windows 2016 Failover Cluster wird SQL Server 2017 auf jedem Node installiert und anschliessend für AlwaysOn eingerichtet.

Es wird gezeigt, wie AlwaysOn zu konfigurieren ist und eine AAG (AlwaysOn Availability Group) erstellt wird. Dabei wird ein Knoten asynchron angebunden und die restlichen synchron. Bei den asynchronen Knoten wird dabei Kompression für die Replikation aktiv sein, bei den synchron angebundenen Knoten keine Kompression verwendet. Die Initialisierung der Sekundärdatenbanken erfolgt per Automatic Seeding oder über ein SMB Network Share. Dabei wird der Replikations-Traffic auf ein zweites Netzwerkinterface gelegt und die entsprechenden Endpunkte konfiguriert (auch so, dass jeweils AES Verschlüsselung für die Replikation verwendet wird).

Database Health Detection ermöglicht dabei auch den Failover, wenn es zu Problemen auf Datenbankebene kommt, der Cluster selbst aber stabil läuft (beispielsweise wenn eine Datenbank inkonsistente Dateien hat und in den Suspect State wechselt).

Für Backups lässt sich weiterhin eine Reihenfolge einstellen, um festzulegen auf welchen Replicas Backups bevorzugt durchgeführt werden.

Bei Erstellung des AlwaysOn Listeners muss beachtet werden, dass dieser nur auf dem Public Netz antwortet. Durch den Listener kann sich das Failover Verhalten verändern, da die IP des Listeners eine abhängige Resource des Clusters wird. Der Listener verfügt über einen eigenen Eintrag im Active Directory und für funktionierende Kerberos Authentication mit dem Listener muss der Service Principal Name des Listeners richtig gesetzt werden.

Es wird gezeigt wie AlwaysOn für Performance Optimierungen genutzt werden kann in dem Reports, Backups und andere Lesevorgänge auf Secondary Replicas weitergeleitet werden. Dabei kann die Weiterleitung über Read-Intent Read Only Routing per Routing Tabelle über den Listener vollautomatisch erfolgen. Weiterhin ist es mittlerweile möglich hier auch einen Load Balancer zu konfigurieren, welcher die Leseanfragen automatisch per Round Robin Verfahren auf die Secondary Replicas verteilt.

Sobald AlwaysOn läuft wird der automatische und geplante Failover demonstriert und getestet. Weiterhin wird das Monitoring über das AlwaysOn Dashboard (im Hintergrund mit SQL Server Policies) behandelt. Erweitertes Performance Monitoring über die Zeit ist mittlerweile mit der AlwaysOn Latency Data Collection möglich.

Ein Teil des AlwaysOn Clusterkurses ist die Verwendung von Registered Servers, um alle Knoten einer AAG zentral zu verwalten. Hierbei wird auch gezeigt, wie man eingetragene Registered Servers direkt per Powershell ansprechen kann, um T-SQL Scripte auf allen Knoten durchzuführen und so beispielsweise die Konfiguration der einzelnen Knoten zu ändern.

Zusätzlich werden die einzelnen Knoten der AAG per Linked Server verbunden, um erweiterte Abfragen über Instanzgrenzen hinweg durchzuführen. Dabei ist es wichtig Kerberos Delegation richtig einzustellen, damit sich die Linked Server auch direkt in SQL Server Agent Jobs einsetzen lassen. Mittels Linked Server ist es dann möglich ein Konfigurationsabgleich zwischen den einzelnen Knoten durchzuführen.

Weiterhin erlauben Linked Server direkt ein Vergleich von SIDs, die auf allen Knoten einer AAG gespeichert sind. Auf diese Weise lassen sich fehlende Logins ermitteln aber auch ganze Server Roles die auf einzelnen Servern nicht vorhanden sind. Per T-SQL lassen sich fehlende Logins und Server Rollen erstellen.

Ein weiterer wichtiger Punkt des Kurses ist die vollautomatische Migration von Server Objekten. Dabei werden Powershell Tools eingesetzt um automatisch Logins und Server Rollen auf alle Knoten einer AAG zu migrieren. Ebenfalls sollen Berechtigungen von Logins sowie Server Rollen übernommen und synchronisiert werden. Um dies zu bewerkstelligen werden T-SQL Cursor erklärt und verwendet.

Zuerst läuft die Automatisierung dabei über SQL Server Agent Jobs ab. Es wird dann weiterhin gezeigt, wie die Migration über Server Trigger arbeitet und wie mittels DDL Server Trigger Jobs asynchron und verzögert gestartet werden.

Zur automatischen Migration von Server Objekten in AlwaysOn Umgebungen gehört auch das Kopieren von Jobs selbst. Dabei ist es oft wichtig nur bestimmte Job Categories zu kopieren oder auszulassen.

Contained Databases sind besonders interessant in AlwaysOn Umgebungen, da sie Objekte kapseln, welche sich zuvor auf Serverebene befunden haben. Diese Objekte werden dann von AlwaysOn automatisch auf andere Knoten repliziert und sind überall in der AlwaysOn Umgebung vorhanden. Für Contained Databases werden eigene Benutzer erstellt, welche sich direkt gegen die Datenbank authentifizieren. Weiterhin wird gezeigt, wir Multiple Contained Databases über den gleichen Benutzernamen verwendet werden können. Auch wird behandelt, wie Logins nachträglich zu Contained Usern migriert werden können.

Backup und Restore Vorgänge müssen unter AlwaysOn teilweise anders durchgeführt werden, wie auf klassischen SQL Servern. Dazu wird im Kurs ein Backup Plan für AlwaysOn entworfen. Das Backup basiert dabei auf T-SQL. Hier wird auch beachtet, dass die Backups in AlwaysOn von Secondary Replicas gezogen werden können. Mit dem Backup wird danach ein kompletter Point in Time Restore durchgeführt.

Bei weiteren Wartungsaufgaben muss AlwaysOn ebenfalls berücksichtigt werden. So sind auch Index Rebuild (und Reorganize) sowie Integritätschecks auf AlwaysOn Clustern möglich. Diese müssen automatisch auf den jeweils richtigen Knoten durchgeführt werden, was sich mit T-SQL bewerkstelligen lässt. Im Kurs werden dafür auch externe Tools vorgestellt, welche kostenlos und kommerziell einsatzbar sind und den SQL Server optimal ergänzen für den Einsatz in Enterprise Szenarien.

Bei den erweiterten Konfigurationen in AlwaysOn Umgebungen wird dabei auf die Database Scoped Configurations eingegangen, welche erstmals Datenbankkonfigurationen erlauben, die auf Secondary Replicas abweichen. Auch wird betrachtet, wie sich Log Files und der Replications-Traffic verhalten. Compression lässt sich dabei nicht nur für die eigentliche Replikation einsetzen sondern auch bei Automatic Seeding per Trace Flag aktivieren.

Um die optimale Performance zu gewährleisten müssen auch Konfigurationen wie Instant File Initialization, richtiges Index Fill Ratio und Indirect Checkpoints beachtet werden.

Ein weiterer wichtiger Teil des Kurses ist das Steuern/Automatisieren und Überwachen von AlwaysOn mit T-SQL. Dafür werden verschiedene Dynamic Management Views und skalare sowie Table-Valued Stored Functions für AlwaysOn betrachtet. Mit Hilfe dieser Views lassen sich dann auch komplexe Anwendungszenarien umsetzen.

Im Kurs wird dabei gezeigt, wie man auch in AlwaysOn Clustern einen Preferred Owner setzen kann (d.h. ein Knoten auf dem der Dienst bevorzugt laufen soll), obwohl dies von Microsoft selbst bei AlwaysOn nicht angeboten wird. Dabei muss auch beachtet werden, dass es direkt nach dem Neustart des SQL Servers nicht zu einem Failover kommen sollte.

Zusammen mit Automatic Seeding und T-SQL lässt sich dann ein System schaffen, bei dem neu erstellte Datenbanken auf dem Primary Replica vollautomatisch einer AAG zugewiesen und repliziert werden. Dafür wird auch eine eigene Management Datenbank außerhalb der AAG erstellt, welche die neue Funktionalität verwaltet und überwacht welche Datenbanken noch der AAG hinzugefügt werden müssen.

Um AlwaysOn zu überwachen werden Extended Events verwendet. Hier lassen sich Fehler schnell lokalisieren. Dabei wird auch die Standard Extended Event Session Alwayson_health betrachtet und optimiert. Ein weiterer wichtiger Punkt ist das Verbinden von Extended Event Informationen verschiedener Knoten, was vor Allem über Linked Server eine besondere Herausforderung darstellt. Hierbei werden nicht nur Extended Event Session Target Files per Merge verbunden, sondern auch per T-SQL über Linked Server direkt XML Daten durchsucht um auf bestimmte Events zu filtern.

Will man Verschlüsselung mittels Transparent Data Encryption für eine Datenbank innerhalb einer AAG einsetzen, müssen entsprechende Zertifikate erzeugt werden. Dabei muss beachtet werden, dass das Zertifikat richtig über alle Server verteilt wird. Im Kurs wird die Transparent Data Encryption für eine Datenbank innerhalb einer AAG aktiviert. Dabei werden auch die entsprechenden Dynamic Management Views betrachtet mit denen ermittelt werden kann, ob die Verschlüsselung bereits vollständig durchgeführt wurde. Auch wird gezeigt, wie man eine bestehende Verschlüsselung wieder deaktiviert und die Database Encryption Keys sicher löscht.

Am Ende des Kurses können die Teilnehmer auch komplexe AlwaysOn Cluster verwalten und Automatisierungen für AlwaysOn vornehmen. Weiterhin werden Konzepte von T-SQL vorgestellt, welche für die Automatisierung wichtig sind.

Optional, wenn die Zeit reicht, werden Distributed AAGs vorgestellt und implementiert, mit denen sich verschiedene AlwaysOn Cluster verbinden lassen.

WEITERE THEMEN:

Weitere Themen des SQL 2017 AlwaysOn Kurses sind:

- Cluster Administration, Paxos & Quorum Set Replication
- Failover Strategien
- ESAE (Enhanced Security Administrative Environment)

Zum Seitenanfang

- Vertrauen Sie unserer Kompetenz -