Unter der Annahme eines konstanten Speichers (32 GB) und einer CPU (4), 2 x Festplatten-Arrays, habe ich die folgenden Festplatten
- 2 x 150 (10k)
- 6 x 150 (15 k)
Sie sind alle lokale Festplatten.
Meine Anforderungen
- Meine Datenbank ist 350 GB groß und standardmäßig auf 10% Wachstum eingestellt
- Mein Betriebssystem und SQL Server sind Server 2k8R2 (C: Laufwerk Betriebssystem + Seite + Anwendungen = 55 GB)
- Die Protokollanforderungen betragen ca. 70 GB und sind standardmäßig auf 10% Wachstum eingestellt. Sie werden routinemäßig abgeschnitten
- Meine TempDb ist derzeit ungefähr 12 GB groß und auf ein Standardwachstum von 10% eingestellt
Mein Problem ist, dass ich versuche zu verstehen, wo die TempDB und das Betriebssystem sowie das Protokoll am besten abgelegt werden können. Meine Erfahrung ist in der optimalen Konfiguration dieser beiden begrenzt
Dies ist kein Online-Transaktionssystem. Es hat viel Datenschreiben (neue Daten + Indizes neu erstellen / neu organisieren), dann viel Daten lesen (ich schätze auf ungefähr 50/50) für ungefähr 13 Stunden und dann nur noch leise.
Meines Wissens nach wird die TEMPDB während der normalen Verarbeitung im Vergleich zum Protokoll häufig verwendet.
Meine Idee ist die folgende
- 2 x 150 g (15 k) Schlachtzug 1 = 150 g für OS + TempDB
- 2 x 150 g (10 k) Raid 1 = 150 g für LOG (langsamere Festplatten hier beachten)
- 4 x 150 g (15 k) Raid 5 = 150 g für Daten
Klingt das nach einer guten Idee? Ich könnte dann die Log + TempDB bei Bedarf tauschen.
Verstoße ich gegen Grundregeln, z. B. TempDB aufgrund von Paging-Bedenken niemals auf die Betriebssystemfestplatte zu legen , oder lege ich das Protokoll möglicherweise nie auf eine langsamere Festplatte als Daten ?
Bearbeiten:
Wir haben auch ein SSAS im System und die Endbenutzer greifen nur auf den Cube zu. Die oben angegebenen 50% basieren auf der Zeit, die für die Verarbeitung der SSAS-Datenbank benötigt wird.
quelle
Ich stimme Mark darin zu, dass der ideale Ansatz darin besteht, die beiden langsameren Laufwerke nur für O / S in RAID 1 und die restlichen Laufwerke in RAID 10 für alles andere zu verwenden. Das wäre ideal.
Basierend auf den Größen, die Sie angegeben haben, können Sie mit dem Start nur sehr wenig anfangen, mit sehr wenig Spielraum für Fehler und ohne Raum für Wachstum. Übrigens, wenn Ihnen jemand sagt, dass die Laufwerke 150 GB groß sind, sind sie möglicherweise unformatiert (146 GB?), Was wahrscheinlich bedeutet, dass nicht alles auf Anhieb passt.
Leider ist die Arbeitslast mit hohen Schreibvorgängen verbunden, und dafür ist RAID 5 ... nicht Ihr Freund.
Wenn Sie es schaffen, ein bisschen mehr Budget zu verdienen, gibt es ein paar Ansätze:
Zwei weitere 15k-Laufwerke derselben Größe. Abhängig davon, was "2 x Festplatten-Arrays" bedeutet, bedeuten> 8 Laufwerke insgesamt möglicherweise, dass ein neuer RAID-Controller benötigt wird. (Und / oder möglicherweise ein größeres Chassis.)
Zwei ~ 120 GB SSDs (entweder PCI-Express oder SATA) in Software-RAID 1 für TempDB-Daten / -Protokoll und die Datenbankprotokolldatei. Dies ist möglicherweise die schnellste Lösung in diesem Zeitraum und kann erheblich weniger als 2 15-k-Laufwerke der Enterprise-Klasse kosten (geschweige denn einen vergleichbaren RAID-Controller). Dies setzt voraus, dass auf dem Motherboard Steckplätze / Ports verfügbar sind, die es wahrscheinlich gibt.
Wenn das Management das Budget nicht einhält (diese Situation riecht, als würde alte Hardware für ein neues Projekt verwendet ... was bedeutet, dass das Budget Null ist), müssen Sie RAID 5 aus Platzgründen verwenden, da es keine gibt Weg, um es zu vermeiden, ohne dass mehr Festplatten verfügbar sind. Zu diesem Zeitpunkt ist es wahrscheinlich am besten, die 2 langsameren Festplatten nur für O / S in RAID 1 und den Rest in RAID 5 zu platzieren, um den Speicherplatz zu maximieren. Wenn Sie gezwungen sind, RAID 5 für einen Teil davon zu verwenden, muss sich das Management (schriftlich) abmelden, um zu verstehen, was dies für die Leistung bedeutet.
quelle