Jump to content

SQL W2k8R2 Konfiguration


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute,

 

bei uns im Haus steht demnächst ein größeres Projekt an. Als Vorraussetzung zu dem Projekt sollen wir einen geclusterten SQL Server (lediglich 2 Knoten) stellen. Unser Problem ist nun das Konfigurieren (Hard- und Software) des Clusters. Der Cluster wird ein bis zwei Datenbanken halten, die bis zu 100 GB (in den nächsten drei Jahren) groß werden. Bisher haben wir nur einen SQL Server 2000, der praktisch nichts zu tun hat. Die Größe ist also absolutes Neuland für uns. Die zwei SQL Server werden 64 GB RAM und zwei vernünftige QuadCore Xeons erhalten. Nun interessiert mich jedoch, wie ich das RAID aufbauen soll. AUf den Microsoft Webseiten konnte ich leider keine Empfehlung für ein RAID entnehmen. Beim Exchange wird ein RAID 10 empfohlen, wie sieht es aber beim SQL Server aus? Kann mir hier jemand von euch eine Empfehlung geben.

 

Die zweite Sache ist der Cluster an sich. Welche Version des Betriebssystems musst gekauft werden und vor allem welche vom SQL Server?

 

Über eure Erfahrung zu dem Thema würde ich mich sehr freuen.

 

 

Gruß

derhoeppi

Link zu diesem Kommentar

Bei MS gibt es genug Informationen zu Raid leveln und Block Größen.

 

Ich würde ganz pauschal je ein Raid 10 für Logs und DB's nehmen. Aber kommt komplett auf die Umgebung / Anforderungen an. Evtl. weiss der Hersteller der Software näheres.

 

Für Clustrer wird ein Windows Enterprise benötigt. SQL Server Edition kommt auf die benötigten Features an.

Bei SQL Cluster gibt es ja auch verschiedene möglichkeiten (was wollt ihr abdecken? Performance oder Ausfallsicherheit und wenn letzteres wieviel Ausfallsicherheit?).

Link zu diesem Kommentar

Hallo,

 

danke für die schnellen antworten. Ein Raid 10 habe ich mir auch schon gedacht. Unser Exchange läuft auch auf einem Raid 10. Die Frage die sich mir stellt ist jedoch, ob die Protokolle und die eigentliche DB wirklich auf unterschiedlichen Raids laufen müssen?

Bei dem Cluster geht es uns in erster Linie um die Ausfallsicherheit. Zusätzlich soll es die Last verteilen und somit die Perfomance des gesamten Systems erhöhen. Ohne die bzw. den SQL Server läuft das ganze System nicht mehr - das soll es nicht geben. Ich gehe von einem Aktiv - Aktiv Cluster aus, da unsere Chefs vermutlich nicht in einen toten Server investieren werden (auch wenn es nur die Hardware und das OS ist). Hat jemand von euch ein Aktiv - Aktiv Cluster im Einsatz und kann mir was zu Ausfallzeiten sagen, wenn ein Server neugestartet wird oder unverhofft ausfällt?

 

Für die SQL Server Version reicht uns vermutlich der Standard, weil wir keine Analyse- / Reportingfunktionen benötigen. Die Frage ist, ob wir den Cluster überhaupt mit der Standard Version aufbauen können?

 

 

Gruß

derhoeppi

Link zu diesem Kommentar

Compare Edition Features und klick da den Punkt "High Availability (Always On)" auf.

 

Bei einem Aktiv/Aktiv Cluster muss die Hardware aber so dimensioniert sein, dass die komplette DB auf einem Server laufen kann, was bei einem Aktiv/Passic Cluster nicht sein muss (deswegen kauft man immer "tote" Hardware.

Evtl. muss die Anwendung mit einem Aktiv/Aktiv Cluster klar kommen, aber da kann sicher jemand anderes etwas dazu sagen.

 

Trennung der Daten und Logs dient 1. zur Performance (random vs. sequenzelle zugriffe) und der Datensicherheit (wenn die DB wegfällt ist es gut wenn man die Logs noch hat und nicht beides verliert.

Link zu diesem Kommentar

Guten Morgen,

 

sieht es bei dem SQL Server (Transaktionsprotokolle) genauso aus, wie bei einem Exchange? Bei einem Exchange verschwinden die Protokolle erst, wenn ich die Datensicherung darüber jage. Backup Exec prüft, ob die Protokolle bereits abgarbeitet sind, sichert sie und löscht sie anschließend. Läuft das beim SQL Server identisch ab?

 

Diese Angabe brauche ich für den 2. Knoten. Der erste Knoten erhält ein SAN das natürlich auch dementsprechend dimensioniert werden muss. Ich weiß nur noch nicht, wie groß die Protokolle (Gesamtvolumen) sein werden.

 

Wenn ich bei Compare Edition Features schaue, sehe ich das ich mit der Standard Edition nur einen FailoverCluster betreiben kann - also Aktiv - Passiv. Brauch ich wirklich den Enterprise Server für einen Aktiv - Aktiv Cluster?

 

Gruß

derhoeppi

Link zu diesem Kommentar

Hallo miteinander

 

Hier meine Erfahrungen zum Thema SQL Cluster ...

 

Zuerst einmal:

Wenn ein Failovercluster benötigt wird, muss man sich zuerst einmal Gedanken dazu machen, ob man sich vieleicht externe Hilfe holen sollte. Einen Cluster baut man ja nicht zum Spass sondern damit man nacher ein höheres Verfügbarkeitsniveau hat. Wir haben externe Hilfe geholt für den Bau unserer Sharepoint 2010 Umgebung wo wir zwei Cluster gebaut haben.

 

Zum Sizing:

Meiner Meinung nach muss man zuerst die Datenbankcharakteristiken im Bereich Read/Write/IOP's kennen. Dann kannst Du die Disks so auslegen, damit du die besten Resultate rausholst. Da für einen Cluster so oder so gesharter Storage nötig ist, kannst Du dort je nach Budget optimal zusammenstellen, was du brauchst.

--> Bevor Du SQL installierst, Performance-Test machen. BSP mit SQLIO.exe

How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem

 

Grundsätzliches zum SQL Aufbau:

- DB-Files von Logfiles trennen (DB Files eher Read, Logfiles eher Read)

- Temp-DB auf eigene Disks (oder LUN's)

- Betriebssystem auf eigene Disks (oder LUN's)

 

 

Zu aktiv/aktiv, aktiv/passiv

Tote Hardware hast Du so oder so. Denn:

1. Wenn Du nur eine DB haben wirst läuft diese immer nur auf einem Node

2. Bei mehreren Datenbanken musst du auch mehrere Instanzen haben wenn du diese auf mehrere Nodes verteilen möchtest (das wäre dann MS aktiv/aktiv). "Richtiges" Aktiv/Aktiv so wie Oracle wo eine DB auf zwei Nodes läuft kann MS SQL nicht (Wurde mir so von Microsoft bestätigt).

3. Bei zwei (oder auch mehr) Datenbanken wäre allenfall das Database Mirroring im High Safety Mode ein Thema. Dort kann man zwei SQL Server unabhängig von einander verwenden (kein Shared Storage nötig) und dann mittels zwei Instanzen über Kreuz spiegeln. Nachteil: Braucht einen Witness Server. Dieser kann aber auch eine Express Version sein.

 

Maintenance:

Die Erstellung eines SQL Clusters ist keine Kunst. Die Kunst besteht danach im Betrieb und Troubleshooting eines Solchen. Einige Sachen verhalten sich anderst und müssen auch anderst gewartet werden.

 

 

Einige Links die uns geholfen haben:

High Availability Solutions Overview

Planning and Architecture (Database Engine)

SQL Server 2008 Failover Clustering - Whitepapers

http://download.microsoft.com/download/B/E/1/BE1AABB3-6ED8-4C3C-AF91-448AB733B1AF/Analyzing%20Characterizing%20and%20IO%20Size%20Considerations.docx SQLCAT Whitepaper über Analyzing I/O Characteristics and Sizing Storage Systems for SQL Server Database Applications

 

 

Betriebssystem und SQL Version:

Wichtig ist, dass Du Dir sicher bist, dass Du nur zwei SQL Nodes brauchst. Denn wenn Du irgendwann noch Nodes dazubauen willst, musst Du dich jetzt schon für die SQL Server Enterprise Edition entscheiden. Auf jeden Fall würde ich mich für R2 entscheiden, weil da noch einiges an Verwaltungsmöglichkeiten dazugekommen sind.

 

Soweit mal vorerst. Wenn Du noch mehr Infos brauchst, einfach melden.

 

Gruss Greg

bearbeitet von Greg
Link zu diesem Kommentar
Guten Morgen,

[...]

Diese Angabe brauche ich für den 2. Knoten. Der erste Knoten erhält ein SAN das natürlich auch dementsprechend dimensioniert werden muss. Ich weiß nur noch nicht, wie groß die Protokolle (Gesamtvolumen) sein werden.

[...]

Gruß

derhoeppi

 

Wird nur der 1. Knoten an das SAN angeschlossen?

Wieso wird eigendlich erst die Hardware gekauft und dann überlegt was damit gemacht wird?

 

Ach ja. Die Transaktionsprotokolle werden je nach Modus wie bei Exchange nur beim Backup gelöscht. Man kann auch nur die tranaktionsprotokolle sichern (z.B. alle 15 Min) und diese dann immer löschen (lassen)).

Link zu diesem Kommentar

Hallo derhoeppi

 

Guten Morgen,

 

Wenn ich bei Compare Edition Features schaue, sehe ich das ich mit der Standard Edition nur einen FailoverCluster betreiben kann - also Aktiv - Passiv. Brauch ich wirklich den Enterprise Server für einen Aktiv - Aktiv Cluster?

 

Das ist meines Wissens falsch. Du kannst auch Aktiv/Aktiv betreiben, einfach eingeschränkt auf maximal zwei Nodes.

 

Der erste Knoten erhält ein SAN das natürlich auch dementsprechend dimensioniert werden muss. Ich weiß nur noch nicht, wie groß die Protokolle (Gesamtvolumen) sein werden.

 

Für den Bau eines Failover Clusters (unabhängig davon ob aktiv/aktiv oder aktiv/passiv) müssen beide Server (Nodes) Zugriff auf den Storage haben!

 

Gruss Greg

Link zu diesem Kommentar

Hallo,

 

danke für die vielen Antworten. Wir sind noch in der Planung der SQL Server. Es wurde bisher noch nichts gekauft - hier geht es ja noch darum wie und was gekauft werden muss. Die IO Last ist heute noch nicht vorherzusehen. Es geht um ein Dokumentenmanagement System für ca. 500 User.

Ich danke für den Hinweis das es bei MS kein wirkliches Aktiv / Aktiv gibt, denn davon bin ich bisher ausgegangen. Die beiden Nodes greifen nicht auf das gleiche Storage zu, weil der eine Node an einem anderen Standort stehen wird. Aus diesem Grund wird der 2 Node an dem anderen Standort lediglich normale HDD's erhalten.

 

Erfahrungen im Umgang mit einem Cluster erhoffe ich mir noch durch eine Schulung. Bis dahin sollte jedoch schon geklärt werden was wir kaufen, weil das Zeitfenster bis zur Einführung sehr eng ist.

 

Gruß

derhoeppi

Link zu diesem Kommentar
Hallo,

Die beiden Nodes greifen nicht auf das gleiche Storage zu, weil der eine Node an einem anderen Standort stehen wird. Aus diesem Grund wird der 2 Node an dem anderen Standort lediglich normale HDD's erhalten.

 

Failover Clustering kannst Du so nicht verwenden ausser Du baust eine Verbindung vom 2. Standort zum Storage. Irgendeine Verbindung der beiden Standorte muss es ohnehin geben, wenn du High Availibility verwenden möchtest.

 

Aus Deinen Schilderungen würde ich mich unbedingt noch in Richtung Database Mirroring im High Safety Mode informieren.

http://technet.microsoft.com/en-us/library/ms179344.aspx

 

Wir haben lange hin und her diskutiert bevor wir uns dann doch für einen Failover Cluster entschieden haben.

 

Würde mich freuen, von Deinen Entscheidungen dann zu hören.

 

Gruss Greg

Link zu diesem Kommentar
Die beiden Nodes greifen nicht auf das gleiche Storage zu, weil der eine Node an einem anderen Standort stehen wird. Aus diesem Grund wird der 2 Node an dem anderen Standort lediglich normale HDD's erhalten.

 

Ich schalt mich nochmal ein. Wo soll denn die Datenbank liegen, auf welche die beiden Knoten ja zugreifen können müssen?

 

Insgesamt wäre es nochmal spannend, deine Anforderungen vollständig zu kennen. Erst ist es einfach "nur ein Cluster", dann ist auf einmal fraglich was für ne Cluster-Art und dann stellt sich schlagartig raus, das du nen Multi-Site-Cluster betreiben willst.

 

Insgesamt solltest du dir mal die folgenden Links reinziehen:

https://blogs.msdn.com/b/clustering/archive/2008/05/10/8483427.aspx

http://download.microsoft.com/download/3/B/5/3B51A025-7522-4686-AA16-8AE2E536034D/WS2008%20Multi%20Site%20Clustering.doc

SQL Server 2005 Multi-Site Clustering with Windows Server 2008 - Rob's SQL Server Blog - Site Home - TechNet Blogs

 

Zudem könntest du deine Anforderungen ja nochmal zusammenstellen und konsolidiert hier darstellen. Wenn die Infos Stück für Stück kommen ist es einfach schwierig...

Link zu diesem Kommentar

Hallo,

 

danke für die Links. Ich habe mir diese mal angesehen. Wie Phoenixcp schrieb, fasse ich nun die Anforderungen noch einmal zusammen. Wir werden in einem Projekt für 500 User ein Dokumentenmanagementsystem einführen. Dieses System ist ab diesem Zeitpunkt eines der wichtigsten Programme im Unternehmen und soll deshalb stabil, hochverfügbar und damit ausfallsicher aufgebaut werden.

 

Vom DMS Hersteller habe ich bisher keine anderen Informationen erhalten. Sie meinten nur, dass wir einen Cluster im Hintergrund haben sollten, weil es eben das Herzstück des DMS ist. Die Datenbank die auf dem SQL Server laufen wird, wird innerhalb der ersten Jahre 100 GB erreichen. Mit diesen Angaben zum SQL Server und weiteren Angaben für andere DMS-Server, soll ich nun ein Gesamtsystem planen.

Wir werden ein SAN anschaffen (für die Zentrale) auf dem ebenfalls die gesamten Dokumente und eben die Datenbank liegen wird. Soweit zu den Anforderungen.

 

Da ich noch nie ein Cluster am Laufen hatte, kamen nun meine Fragen. Ich bin bei einem Cluster immer davon ausgegangen, das es zwei Varianten gibt (Aktiv-Aktiv / Aktiv-Passiv). Aktiv-Passiv ist für mich unwissenden eigentlich etwas für Unternehmen die nicht wissen wo Sie mit Ihrem Geld hinsollen, da ein Knoten immer nur mitläuft ohne vermutlich je die Aufgabe des Aktiven Knotens zu übernehmen. Ich denke der Aktiv-Passiv ist der sogenannte Failover Cluster (was für Umschaltzeiten gibt es da eigentlich?). Dafür wären meine Chefs wahrscheinlich nicht bereit Geld auszugeben. Deshalb denke ich an einen Aktiv-Aktiv Cluster. Diesen stelle ich mir so vor, dass ich einen SQL Server am SAN habe und einen zweiten SQL Server mit eigenem Storage (interne HDD‘S) in einer anderen Niederlassung. Beide SQL Server haben dieselbe Datenbank und dieselben Transaktionsprotokolle. Für den Cluster gibt es eine gemeinsame IP über die die Datenbank angesprochen wird. Über diese IP soll eine Lastverteilung stattfinden. Wie ich dem Thread bereits entnommen habe, gibt es diese Möglichkeit bei MS nicht. Gibt es denn aber die Möglichkeit dieses Clusterns, wenn beide Knoten in einem Standort auf das selbe Storage und die gleiche Datenbank zugreifen und sich somit auch die Logs teilen könnten?

 

Gruß

derhoeppi

Link zu diesem Kommentar

Hallo,

 

Da ich noch nie ein Cluster am Laufen hatte, kamen nun meine Fragen. Ich bin bei einem Cluster immer davon ausgegangen, das es zwei Varianten gibt (Aktiv-Aktiv / Aktiv-Passiv). Aktiv-Passiv ist für mich unwissenden eigentlich etwas für Unternehmen die nicht wissen wo Sie mit Ihrem Geld hinsollen, da ein Knoten immer nur mitläuft ohne vermutlich je die Aufgabe des Aktiven Knotens zu übernehmen.

 

Zu dem Thema: Ein Windows Server Failover Cluster ist dazu gedacht, um eine erhöhte Verfügbarkeit bzw. Hochverfügbarkeit zu erreichen.

Dabei wird immer auf ein Setup geachtet, daß Aktiv/Passiv läuft. Bei Multi Node Clustern kann man Aktiv/Aktiv/Passiv realisieren, aber ein klassischer 2-Node Cluster sollte niemals Aktiv/Aktiv betrieben werden.

 

Der passive Node ist als Hot Standby zu sehen, er ist nur dazu da um Ausfälle anderer Nodes abzufedern.

 

Die Kostenfrage stelle ich mal anders: Wenn man wirklich Aktiv/Aktiv bei einem 2-Node Cluster realisieren will, muss jeder Node im Fehlerfall seines Nachbarn die doppelte Last tragen können.

Das heißt die beiden Nodes müsste man überdimensionieren (CPU Cores, RAM etc), was wiederum einen finanziellen Mehraufwand bedeutet...

 

Zu Deiner anderen Frage: Die Zeit für einen Failover bestimmt maßgeblich die Storage und die Anzahl an Gruppen und Ressourcen. Je nach Applikation gibt es da auch noch Unterschiede (zB. Dienst Neustart), die man bedenken muss.

Bei einer FC SAN kann man davon ausgehen, daß die Zeit eines Failovers für die Disk Ressourcen wesentlich schneller geschehen ist als bei SAS Equipment.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...