Hier finden Sie eine kurze Anleitung, wie man die SQL Basic Availability Groups installiert und als Basis für die Citrix Infrastruktur bereitstellt. Die Basis-Verfügbarkeitsgruppen sind in der Standard Version des SQL Servers enthalten.
Die BAG kann georedundant betrieben werden, sodass die Cluster-Knoten an verschiedenen Standorten platziert werden können. Die mögliche Entfernung der Standorte voneinander ist von der Latenzzeit anhängig. Es spielt auch eine wichtige Rolle, wie intensiv die Datenbank zugegriffen wird. Genau wie der große Bruder „AlwaysOn Availability Groups (AG)“ verwenden die BAGs zu grundlegende Microsoft Clustering Technologie.
Die Architektur der beiden Lösungen ist in gewissermaßen ähnlich. Genau wie bei einer Datenbankspiegelung besteht die Umgebung aus zwei Instanzen mit lokalem Speicher, eine Primary-Datenbank und eine Secondary Datenbank.
SQL Mirroring vs. SQL Basic Availability Groups
Ein Listener (Virtual Network Name, VNN), ist ein virtueller Netzwerkdienst (DNS-Name und dazugehörige IP-Adresse), der den Zugriff auf die zentrale Cluster-Adresse steuert und leitet die Kommunikation an die aktive primäre DB weiter.
Einschränkungen
Jede Verfügbarkeitsgruppe, die Sie erstellen, kann nur eine Datenbank enthalten. Wenn man mehrere Datenbanken benötigt (wie auf dem rechten Bild), sollte man auch mehrere Verfügbarkeitsgruppen einrichten. Für jede Gruppe wird auch ein eigener Listener konfiguriert. Die Anzahl von möglichen BAGs ist unbegrenzt. Die sekundäre Datenbank ist nur lesbar und es lässt sich auch kein Snapshot der sekundären Datenbank erstellen.
Vorbereitung:
1. SQL – Service Account erstellen (muss Mitglieder der Gruppe Lokale Administratoren auf jedem SQL-Server sein).
Optional: Für den SQL-Service Account kann auch ein SPN (ServicePrincipalName) konfiguriert werden.
Weitere Information zum Thema finden Sie hier: Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen
2. Ein DNS Name und eine IP-Adresse werden für den Cluster benötigt.
3. Eine Organisationseinheit für den DB-Server erstellen und die Computer-Konten in die OU verschieben.
Konfigurationsschritte
Die Installation und Konfiguration lässt sich in folgende Schritte unterteilen:
1. zwei Server vorbereiten.
2. Failoverclustering - Feature installieren (auf beiden Servern)
3. Cluster Validierung durchführen
4. Cluster einrichten
5. Ordner Freigabe inkl. Berechtigung einrichten (File Share)
6. Berechtigung für OU anpassen
7. DNS – Berechtigung anpassen
8. In DNS einen Host Eintrag erstellen
9. Cluster Quorum konfigurieren
10. SQL Datenbank Software installieren (auf beiden Servern)
11. SQL Management Studio installieren
Failovercluster Installation-Konfiguration
Meine Test-Umgebung ist wie folgt aufgebaut:
- SQL2017S-01 - ist der Primary DB-Knoten
- SQL2017S-02 - ist der Secondary DB-Knoten
- DC2016 - der Server hat eine Witness-Role, auf dem Server wurde eine FileShere Freigabe eingerichtet
1. OU erstellen
2. Cluster Feature installieren
oder per PowerShell: Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
Install..
3. Fileover Cluster Manager starten
4. Wir überprüfen, ob die notwendigen Voraussetzungen für ein Cluster erfüllt sind.
Actions > Validate Configuration starten
5. Beide zukünftige Cluster-Knoten hinzufügen
6. Die empfohlene Option auswählen, weiter…
Weiter...
7. Der Validierungstest zeigt zwar einige Schwachstellen (wie z.B. Shared Storage, fehlende Netze, MPIO). Diese sind für unsere Anforderungen nicht relevant.
8. Create Cluster...
Weiter...
9. Beide zukünftige Cluster-Knoten eintragen
10. Cluster-Name und IP-Adresse der Cluster eintragen. Auf Basis dessen wird es ein Computerkonto in AD (in OU mit beiden Cluster) erstellt. Im Gegensatz zum Cluster-Name erstellt der Wizard den Host-Eintrag im DNS nicht automatsch.
Weiter...
10. Der Wizard ist abgeschlossen. In dem erstellten Report können Sie die Konfiguration verifizieren.
11. Falls Sie die folgende Fehlermeldung sehen: Event ID: 1257 „Cluster network name resource failed registration of one or more associated DNS names(s) because the access to update the secure DNS Zone was denied.” liegt es daran, dass der Cluster-Name noch nicht registriert ist.
Ein Computerkonto in AD wurde erstellt.
12.1 Einen freigegeben Ordner erstellen.
Legen Sie die Freigabeberechtigungen wie folgt fest:
NTFS und Share Berechtigung |
||
Benutzername | Berechtigung | |
Service Account (SQL) |
Vollzugriff | |
Cluster Account |
Vollzugriff | |
Administratoren | Vollzugriff |
System | Vollzugriff |
12.2
13.1 Auch in AD soll das Cluster-Computerobjekt die Rechte zum Erstellen von Computerobjekt-, und DNS-Objekten bekommen.
> rechte Maustaste > Eingenschaften
13.2 Registerkarte Sicherheit (Security)
13.3
13.4 Cluster-Object auswählen
13.5 Eingenschaften anpassen
13.6 Erstellen von Computerobjekten
14.1 Cluster-Computerkonto benötigt auch die Rechte zum Erstellen von DNS-Objekten.
DNS-Manager starten > Forward-Lookupzone > Domäne > rechte Maustaste > Eigenschaften
14.2 Konto hinzufügen
15. Ein DNS-Eintrag (A-Host) erstellen
Cluster Quorum einrichten
16.1 Rechte Maustaste auf dem Cluster > More Actions > Configure Cluster Quorum Settings
16. 2 Weiter...
16.3 Quorum witness auswählen
16.4 Option "Configure a file share witness" auswählen
16.5 Servername eingeben > Show Sharen Folder > freigegeben Ordner auswählen > OK (Punkt 12)
16.6 Weiter...
16.7 Weiter...
16.8 Finish
Die Konfiguration ist abgeschlossen
Installation SQL Server
1. Installation starten
2. Weiter...
3. Weiter...
4.
5.
6. Database Engine Services und SQL Server Replication, sowie weitere Features nach Bedarf auswählen. Da es sich um einen Test-Server handelt, wird hier ein Standard-Speicherort ausgewählt
7. Bei Bedarf anpassen, sonst weiter...
8. Für SQL Server Agent und SQL Server Database Engine den Service-Name auswählen und das Passwort eingeben.
9.1. Ich habe hier die empfohlene Collation für SCCM ausgewählt. Die empfohlene Citrix-Collation Latin1_General_100_CI_AS_KS lässt sich bei der DB-Erstellung anpassen.
9.2
10.
11. Installation starten und den Speicherort der Konfigurationsdatei merken, diese wird für die Installation des zweiten SQL-Servers benötigt.
12. Die Installation auf den ersten SQL-Server wurde erfolgreich abgeschlossen.
13. Installieren Sie den zweiten SQL-Server. Zur Vereinfachung nutzen Sie die Konfiguration-Datei (ConfigurationFile.ini, Punkt 11)
14. SQL Server Management Studio
Die SQL Server Management Studio kann unter folgendem Link heruntergeladen werden. Führen danach die Installation aus.
Herunterladen von SQL Server Management Studio 17.3
Überprüfen Sie, ob die aktuellen Updates für SQL-Server vorhanden sind.
15. Passen Sie die Eigenschaften des SQL Server Services auf beiden Server an.
Registerkarte > AlwaysOn High Availability > Enable AlwaysOn Avalibility Groups