News zu Microsoft SQL Server

Microsoft SQL Server on VMware – Verfügbarkeit

In diesem Tipp werden Über­le­gun­gen zum Betrieb von einem hoch­ver­füg­ba­ren Microsoft SQL Server auf einer VMware vSphere Plattform beschrieben.

VMware vSphere ist in vielen Un­ter­neh­men der Standard für die Be­triebs­sys­tem-Vir­tua­li­sie­rung. Bei der Kon­fi­gu­ra­ti­on einer vir­tu­el­len Maschine für einen Microsoft SQL Server gibt es al­ler­dings ein paar Dinge zu beachten. Und nicht jede Hoch­ver­füg­bar­keits­lö­sung vom SQL Server ist auch für VMware vSphere geeignet oder sinnvoll.

An­fangs­über­le­gun­gen

Zunächst sollte man die Ar­chi­tek­tur des aktuellen VMware Clusters und der ge­wünsch­ten Ver­füg­bar­keit des SQL Servers betrachten.

Was soll mit einer hoch ver­füg­ba­ren Lösung erreicht werden?

  • eine maximal Aus­fall­zeit von 15 Minuten?

  • ein Patchen der Windows oder Linux Be­triebs­sys­te­me ohne Ausfall der Instanzen oder War­tungs­fens­ter für die Anwendungen? 

  • Sollen bestimmte Workloads auf weitere, nur lesbare Instanzen aus­ge­la­gert werden?

  • Benötigt man, aus Com­pli­ance Gründen, eine Mög­lich­keit zum Betrieb der Instanz in einem anderen Brand­ab­schnitt oder Rechenzentrum?

Wenn man sich diese Fragen am Anfang stellt, sollte die Ent­schei­dung, welche Lösung am Ende in Frage kommt, leichter zu be­ant­wor­ten sein.

VMware Ver­füg­bar­keit vs. SQL Server Verfügbarkeit

Ver­füg­bar­keit durch VMware Cluster

  • Wie­der­her­stel­lungs­zeit: ca. 5 – 10 Minuten

  • In­stal­la­ti­ons- und War­tungs­auf­wand: gering

Wer einen VMware Cluster aus mehreren ESXi Knoten mit einem zentralen SAN oder vSAN betreibt, erhält damit schon eine Ver­füg­bar­keit der vir­tu­el­len Maschinen im Falle eines Hard­ware­aus­falls. Falls also einer der Hardware ESXi Knoten ausfällt, wird die virtuelle Maschine auf einem anderen Knoten neu gestartet. Das bedeutet wiederum, dass das komplette Windows System wie nach einem Power Off neu gestartet wird und die Datenbank an­schlie­ßend auf In­te­gri­tät vom SQL Server Dienst geprüft wird. Falls zum Zeitpunkt des Ausfalls gerade eine Trans­ak­ti­on aus­ge­führt wurde, ist diese nicht in der Datenbank. Die Da­ten­bank­da­tei­en an sich könnten auch Schaden genommen haben. Eine ver­nünf­ti­ge Backup Strategie ist in diesem Fall un­ab­ding­bar. Alle Be­nut­zer­da­ten­ban­ken sollten im voll­stän­di­gen Wie­der­her­stel­lungs­mo­dus betrieben werden und Trans­ak­ti­ons­log Backups alle 10 – 15 Minuten auf ein externes Laufwerk erfolgen.

Ver­füg­bar­keit durch SQL Server AlwaysOn Failover Cluster

  • Wie­der­her­stel­lungs­zeit: ca. 1 – 5 Minuten

  • In­stal­la­ti­ons- und War­tungs­auf­wand: Mittel bis Hoch (Je nach Anzahl der Instanzen)

Eine der ältesten Hoch­ver­füg­bar­keits­tech­ni­ken für den Microsoft SQL Server ist der Failover Cluster. Hierbei wird die Da­ten­bank­in­stanz auf einem zentralen, ge­mein­sa­men Speicher (SAN) betrieben und 2 oder mehr Knoten, stehen dem Cluster zur Verfügung. Dabei ist die Instanz immer auf einem der Knoten gestartet. Fällt einer der Knoten aus, startet der SQL Server Dienst au­to­ma­tisch auf einem anderen, im Cluster ver­füg­ba­ren Knoten. Da hierbei der Neustart des gesamten Windows Systems entfällt und nur der SQL Server Dienst gestartet werden muss, ver­rin­gert sich die Wiederherstellungszeit. 

Durch die Kon­fi­gu­ra­ti­on des Failover Clusters erhöht sich al­ler­dings die Kom­ple­xi­tät des Setups. Aus VMware Sicht muss vermieden werden, dass die zum Cluster ge­hö­ren­den Knoten auf dem gleichen ESXi Host betrieben werden. Weiterhin muss ein SAN Speicher an die vir­tu­el­len Maschinen an­ge­bun­den werden, was laut Sup­port­richt­li­ni­en entweder über ein RAW Device oder über einen iSCSI Device im Be­triebs­sys­tem rea­li­siert werden muss.

Ver­füg­bar­keit durch SQL Server AlwaysOn Avai­la­bi­li­ty Groups

  • Wie­der­her­stel­lungs­zeit: ca. 1 – 30 Sekunden

  • In­stal­la­ti­ons- und War­tungs­auf­wand: Mittel bis Hoch (je nach Anzahl der Instanzen und Avai­la­bi­li­ty Groups)

Eine neuere Ver­füg­bar­keits­tech­nik (seit dem SQL Server 2012) sind die AlwaysOn Avai­la­bi­li­ty Groups. Hierbei werden die Da­ten­ban­ken zwischen einer oder mehreren Instanzen ge­spie­gelt. d.h. hier wird auf mehreren Servern der Spei­cher­platz für die Datenbank benötigt, da der jeweils lokale Speicher benutzt wird.
Da die Da­ten­bank­ko­pien jederzeit synchron gehalten werden, ist der Failover innerhalb weniger Sekunden erledigt. Zu Grunde liegt hier ebenfalls ein Windows Server Failover Cluster, der al­ler­dings nur die IP Adresse für den Da­ten­bank­lis­te­ner zwischen den Knoten verschiebt. 

Durch die Syn­chro­ni­sie­rung entsteht al­ler­dings zu­sätz­li­cher Netz­werktraf­fic und der Speicher für die doppelte Datenhaltung.

Fazit

Wer eine nur moderate Ver­füg­bar­keit benötigt, sollte auf die zu­sätz­li­che Kom­ple­xi­tät mit einem Failover Cluster oder Avai­la­bi­li­ty Groups ver­zich­ten und die Ver­füg­bar­keit durch den VMware Cluster bereitstellen.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email