Zum Inhalt wechseln


Foto

SQL W2k8R2 Konfiguration


  • Bitte melde dich an um zu Antworten
21 Antworten in diesem Thema

#1 derhoeppi

derhoeppi

    Newbie

  • 10 Beiträge

 

Geschrieben 15. September 2010 - 14:51

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

#2 Dukel

Dukel

    Board Veteran

  • 9.313 Beiträge

 

Geschrieben 15. September 2010 - 15:25

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?).

#3 phoenixcp

phoenixcp

    Expert Member

  • 5.481 Beiträge

 

Geschrieben 15. September 2010 - 15:44

Hi

Ich könnte dir hierzu noch ein Whitepaper empfehlen: Disk Partition Alignment Best Practices for SQL Server

Gruß
Carsten
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

#4 derhoeppi

derhoeppi

    Newbie

  • 10 Beiträge

 

Geschrieben 15. September 2010 - 17:56

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

#5 Dukel

Dukel

    Board Veteran

  • 9.313 Beiträge

 

Geschrieben 15. September 2010 - 20:13

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.

#6 derhoeppi

derhoeppi

    Newbie

  • 10 Beiträge

 

Geschrieben 16. September 2010 - 05:52

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

#7 Greg

Greg

    Board Veteran

  • 1.046 Beiträge

 

Geschrieben 16. September 2010 - 05:55

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.micr...iderations.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, 16. September 2010 - 06:27.


#8 Dukel

Dukel

    Board Veteran

  • 9.313 Beiträge

 

Geschrieben 16. September 2010 - 06:36

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)).

#9 Greg

Greg

    Board Veteran

  • 1.046 Beiträge

 

Geschrieben 16. September 2010 - 06:42

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

#10 derhoeppi

derhoeppi

    Newbie

  • 10 Beiträge

 

Geschrieben 16. September 2010 - 11:43

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

#11 Greg

Greg

    Board Veteran

  • 1.046 Beiträge

 

Geschrieben 16. September 2010 - 11:51

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.micro...y/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

#12 Dukel

Dukel

    Board Veteran

  • 9.313 Beiträge

 

Geschrieben 16. September 2010 - 12:32

Activ/Activ gibt es schon, wird aber mit Partitionierung der Daten erreicht.

Logshipping könnte auch eine alternative ohne Shared Storage sein.

#13 phoenixcp

phoenixcp

    Expert Member

  • 5.481 Beiträge

 

Geschrieben 16. September 2010 - 12:39

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.c...10/8483427.aspx
http://download.micr... Clustering.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...
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

#14 derhoeppi

derhoeppi

    Newbie

  • 10 Beiträge

 

Geschrieben 17. September 2010 - 12:03

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

#15 Lian

Lian

    Moderator

  • 19.991 Beiträge

 

Geschrieben 22. September 2010 - 10:17

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.
–––
Microsoft MVP [Cloud and Datacenter Management - High Availability]