Systemausfälle und -ausfälle sind für DBAs schmerzhaft, aber noch mehr für Kunden. Die Benutzer von heute erwarten eine Verfügbarkeit von fast 100 %, und alles andere führt zu Irritationen, wenn Sie Glück haben, und zum Verlust eines Kunden, wenn Sie es nicht haben.
Eines der Hauptziele des DBA besteht darin, sicherzustellen, dass SQL Server-Instanzen und -Datenbanken nach einem Fehler oder Ausfall online bleiben und funktionieren. Eine Methode zur Erhöhung der Verfügbarkeit ist die Einrichtung von Windows Server-Failoverclustern mit SQL Server.
Ein Failover-Cluster ist eine Gruppe von Servern, die zusammenarbeiten, um die Verfügbarkeit Ihrer Anwendungen und Dienste im Falle eines Ausfalls oder Ausfalls aufrechtzuerhalten. Grundsätzlich nimmt der Failover-Cluster alle Daten, die sich auf einer SQL Server-Instanz befinden, und installiert sie in einem gemeinsam genutzten Speicher-Repository – normalerweise in einem SAN – auf das von verschiedenen Servern aus zugegriffen werden kann.
Um Ihnen den Einstieg in die Hochverfügbarkeit zu erleichtern, haben wir die neun wichtigsten Gebote und Verbote für die Einrichtung Ihres SQL Server-Failover-Clusters zusammengestellt, damit Sie Datenbankausfallzeiten minimieren können.
1. Überspringen Sie die Cluster-Validierung nicht.
Vor der Installation eines Clusters müssen Sie unbedingt eine Validierung ausführen, um die Konfiguration zu überprüfen. Wenn es sich um einen neuen Cluster handelt, sollten Sie alle Tests ausführen.
Sobald der Cluster eingerichtet ist und Sie Ihre SQL Server-Instanzen vollständig auf dem Cluster installiert und konfiguriert haben, führen Sie bei jeder Änderung eine Validierung durch. Es ist wichtig sicherzustellen, dass die Validierungsergebnisse korrekt sind, bevor Sie Ihren SQL Server-Failover-Cluster in Betrieb nehmen, damit Sie keine Ausfallzeit einplanen müssen, um übersehene Probleme zu beheben.
2. Konfigurieren Sie das Quorum gut.
Wenn Sie Ihren SQL Server online halten möchten, stellen Sie sicher, dass Sie das Quorum im Failovercluster ordnungsgemäß konfiguriert haben. Diese Microsoft-Dokumentation enthält ausführliche Anweisungen, wie Sie dies erreichen können, aber das Highlight-Reel enthält diese Best Practices:
- Bewerten Sie das Quorum jedes Mal neu, wenn sich Ihre Clusterkonfiguration ändert
- Weisen Sie einen Zeugen zu, um eine ungerade Anzahl an Stimmen zu erhalten
- Entfernen Sie gegebenenfalls Stimmen
- Verwenden Sie die Funktion „Dynamisches Quorum“, um Knotenstimmen dynamisch anzupassen
Es ist wichtig zu beachten, dass die effektivste Methode zum Konfigurieren des Quorums von der Windows-Version, der Anzahl der Knoten und der Zuverlässigkeit der Netzwerkkommunikation zwischen den Knoten abhängt,
3. Wählen Sie nicht die falsche Version von Windows oder SQL Server aus.
Das klingt wie ein Kinderspiel, aber es muss immer wiederholt werden. Stellen Sie sicher, dass Sie die neueste Version von Windows Server auswählen, und stellen Sie sicher, dass Sie die Enterprise- oder Datacenter-Version verwenden. Bleiben Sie auch bei einer Version von SQL Server, um die Dinge einfach zu halten. Wenn Sie sich an diese beiden Vorgehensweisen halten, wird Ihr Cluster einfacher zu verwalten und online zu halten.
4. Kaufen Sie die richtige Hardware.
Die richtige Dimensionierung Ihrer Hardware für einen SQL Server-Cluster kann schwierig sein. Sie möchten beispielsweise kein Geld für zu viel Arbeitsspeicher verschwenden, aber zu wenig Arbeitsspeicher könnte die Leistung beeinträchtigen.
Stellen Sie bei der Entwicklung Ihres Plans zur Erstellung Ihres SQL Server-Clusters sicher, dass Ihre Hardwareanforderungen für die richtige Menge an Arbeitsspeicher erfüllt sind, Ihr Netzwerkpfad redundant ist und Sie Ihre SSD-Anforderungen genau bewertet haben.
5. Platzieren Sie nicht zu viele Knoten in einem Cluster.
Sie könnten versucht sein, alle Ihre Knoten in einem Cluster zu platzieren, aber es ist besser, bei ein bis zwei Knoten pro Cluster zu bleiben. Denken Sie daran, dass Sie jedes Mal, wenn Sie einen Patch oder ein Update auf einen Cluster anwenden, testen müssen, ob jede Instanz noch auf jedem Knoten funktioniert. Je weniger Knoten in einem Cluster, desto weniger Ausfallzeit für jede Instanz, wenn Sie ein Failover über jeden Knoten ausführen.
6. Planen Sie Ihre Knoten und Instanzen.
Failover-Cluster sind keine Einheitsgröße, daher müssen Sie Ihre Anforderungen bewerten und entsprechend planen. Ein guter Ausgangspunkt ist die Beantwortung dieser Fragen und die passende Anpassung Ihres Clusters:
- Wie viele Cluster-Knoten brauchen wir?
- Wie viele SQL Server-Instanzen werden wir installieren?
- Wie viele Windows-Failover-Cluster passen zu unseren Anforderungen und unserem Budget?
- Welche Art von Speicher verwenden wir?
- Wie sieht unsere Staging-Umgebung aus?
7. Gehen Sie nicht davon aus, dass Ihre Anwendungen ein ordnungsgemäßes Failover durchführen.
Vertrauen Sie niemals darauf, dass Ihre SQL Server-Instanz so läuft wie vor einem Failover. Einige Anwendungen werden danach möglicherweise nicht automatisch wieder online geschaltet, und je nach Anwendung kann es eine Weile dauern, bis Sie dies bemerken.
Machen Sie es sich zur Standardpraxis, bei jeder Migration zu einem Failover-Cluster Anwendungstests einzubeziehen.
8. Überprüfen Sie Ihre SQL Server-Konfigurationseinstellungen erneut.
Wenn Sie mit der Planungsphase zum Erstellen von SQL Server-Failoverclustern beginnen, sollten Sie sich Ihre Konfigurationseinstellungen noch einmal ansehen. Überprüfen Sie beispielsweise, ob Sie die besten Einstellungen für Dinge wie die Speicherzuweisung in Clustern mit mehreren Instanzen verwenden.
9. Lassen Sie nicht bei Ihrer Namenskonvention nach.
Nehmen Sie sich jetzt die Zeit, Ihre Cluster-Komponenten sorgfältig zu benennen, und ersparen Sie sich massive Kopfschmerzen, wenn Sie später versuchen, eine Verbindung zum Server herzustellen. Hier sind ein paar Ideen, die dabei helfen, eine effektive Namenskonvention zu etablieren:
- Stellen Sie sicher, dass der Name den Typ der zu beschriftenden Komponente identifiziert. Handelt es sich um einen Cluster, physischen Server, eine SQL Server-Instanz oder einen Distributed Transaction Coordinator?
- Installieren Sie BGINFO, um den Servernamen auf dem Desktop für jeden Server im Cluster anzuzeigen. Das macht das Auffinden der richtigen Datenbanken zum Kinderspiel.
- Sei konsistent, wenn du zusätzliche Knoten hinzufügst oder eine weitere SQL Server-Instanz auf dem Cluster installierst. Wenn Sie sich an Ihre Namenskonvention halten, wird dies nicht nur die Dinge für Sie jetzt vereinfachen, sondern auch das Auffinden von Servern für diejenigen, die sie später benötigen, erleichtern.