SQL Server: Ein RAID-10-Array mit 12 Laufwerken oder 2 Arrays mit 8 und 4 Laufwerken

SQL Server: Ein RAID-10-Array mit 12 Laufwerken oder 2 Arrays mit 8 und 4 Laufwerken

Einrichten einer Box für SQL Server 2008, die die beste Leistung bietet (intensives OLTP)? Je mehr Laufwerke in einem RAID-10-Array vorhanden sind, desto besser ist die Leistung. Aber bringt uns der Verlust von 4 Laufwerken, um sie den Transaktionsprotokollen zuzuordnen, auch mehr Leistung?

12 Laufwerke im RAID-10 plus ein Hotspare.

ODER

8 Laufwerke im RAID-10 für die Datenbank und 4 Laufwerke im RAID-10 für Transaktionsprotokolle plus 2 Hotspares (eines für jedes Array).

Wir können mit 14 Laufwerkssteckplätzen arbeiten und es handelt sich um ein älteres PowerVault, das keine globalen Hotspares unterstützt.

Antwort1

Ich würde 10/2 nehmen. Protokolle sind normalerweise klein und sequentiell, und Ihr RAID-Controller sollte sie effizient genug in die Warteschlange stellen können, um sie auf 2 Festplatten in RAID 1 zu schreiben, ohne den Rest zu stören. Wenn Ihr RAID-Controller das nicht kann, vergessen Sie jede Aufteilung und nehmen Sie einfach 12, wenn Sie es eilig haben. Wenn Sie Zeit haben, führen Sie einige Tests durch und sehen Sie, was funktioniert. Schade, dass es keine globalen Hotspares gibt, aber es klingt trotzdem, als hätten Sie eine anständige Box zum Herumspielen.

Antwort2

Nach meinem begrenzten Wissen gibt es zwei Hauptfaktoren, die zu berücksichtigen sind

  1. Die Datenbankdateioperationen werden im Allgemeinen zufällig sein, daher sollten Sie Ihre IOPS für diese Festplatte maximieren, während Ihre Transaktionsprotokolldateioperationen im Allgemeinen sequentiell sind, sodass Sie einen guten Rohdurchsatz wünschen.

  2. Sie möchten Ihre Hauptdatenbank und Transaktionsprotokolle auf diese Weise getrennt speichern – wenn Sie Ihre Hauptdatenbankfestplatten verlieren, können Sie die Datenbank aus einer Sicherung + Transaktionsprotokollen wiederherstellen, und wenn Sie nur Ihre Transaktionsprotokolle verlieren, haben Sie immer noch die Hauptdatenbank.

Natürlich ist es viel komplizierter als die obige Zusammenfassung, aber das sind die Grundlagen. Daher würde ich sagen, verwenden Sie zwei separate Arrays und wenn Sie die Kapazität haben, RAID10 für beide zu verwenden, ist das großartig.

Antwort3

Mit 12 Laufwerken in RAID-10 sollten Sie ganz gut zurechtkommen, aber stellen Sie sicher, dass der Server über ausreichend Arbeitsspeicher verfügt. Der Grund dafür ist, dass bei ausreichend Arbeitsspeicher die meisten Datenschreibvorgänge zwischengespeichert werden und viele Schreibvorgänge schließlich in einer einzigen IO-Transaktion konsolidiert werden, wenn es darum geht, Daten auf die Festplatte zu schreiben. Dies gilt insbesondere für OLTP-Datenbanken. Durch das Zwischenspeichern haben Sie genügend Bandbreite für das Schreiben von Transaktionsprotokollen auf dasselbe Laufwerk. Sie können die Schreibleistung noch weiter verbessern, indem Sie einen Hardware-RAID-Controller mit integriertem Cache verwenden, der im Write-Back-Modus durch BBU geschützt ist.

Beachten Sie auch, dass die Verwendung von 8+4 oder 10+2 ebenfalls eine gute Option ist. Der einzige Nachteil, den ich dabei sehe, ist die ineffiziente Nutzung des Speichers. Ansonsten ist es solide.

Antwort4

DumussBestimmen Sie zuerst Ihren Arbeitsaufwand. Und testen, testen, testen (das kann ich nicht genug betonen):

Erstens ist die Aussage „Je mehr Festplatten in meinem RAID 10 sind, desto schneller ist es“ nicht korrekt. Dies hängt stark davon ab, wie Ihr RAID-System diesen RAID-Level implementiert (Verteilung von Schreib-/Lesevorgängen/Striping/Puffern... ich könnte noch weitermachen).

Zweitens ist es zwar immer eine gute Idee, Transaktionsprotokolle an einem anderen Ort (auf der Festplatte) als der Datenbank zu speichern, der tatsächliche Gewinn hängt jedoch von Ihrer Arbeitslast ab: Gibt es viele, aber kleine Schreibvorgänge oder gibt es wenige, aber große Schreibvorgänge, wie ist das Schreib-/Leseverhältnis, wie groß sind die Lesevorgänge usw. pp.

Sie sagen, Sie führen viel OLTP durch. Nach meinem Verständnis dieses Begriffs bedeutet dies viele Lesevorgänge, nicht viele Schreibvorgänge (... stimmt das? Bestätigen Sie dies zuerst). In diesem Fall ist es in Ordnung, die Transaktionsprotokolle am selben Ort zu speichern - ich würde mich also für12 Antrieb.

verwandte Informationen