Go to Top

SQL Entmystifiziert 1: Verursachen SSD-Speicher zusätzliche Probleme bei der Microsoft SQL Server Wiederherstellung?

Verursachen SSD-Speicher Probleme

Solid State Drives (SSD) verbreiten sich massiv in Unternehmens-Rechenzentren und bieten mit ihren verbesserten Lese-/Schreiboperationen signifikante Performance-Verbesserungen. Dieser Geschwindigkeitsschub, verbunden mit konsequenten Preissenkungen pro Gigabyte, bedeutet nunmehr, dass für immer mehr Unternehmen Rechenzentren-Arrays, die auf SSDs aufbauen, eine praktikable Option für ihr Geschäft sind.

Aber bedeutet der Einsatz von SSDs für DBAs und Netzwerkingenieure neue Herausforderungen, denen sie sich stellen müssen?

Die Frage nach dem Verschleiß

Eines der häufigsten Argumente gegen den Einsatz von Solid State Drives ist die Problematik des Verschleißes. SSDs haben bekanntlich eine begrenzte Lebensdauer auf Basis der Anzahl der Lese-/Schreib-Operationen, die sie durchlaufen haben. Je weiter eine SSD-Festplatte an das Ende ihres Lebenszyklus gelangt verschlechtert sich automatisch die Performance, die Lese-/Schreiboperationen verlangsamen sich und beeinträchtigen wesentlich die Microsoft SQL Server Antwortzeiten. Herkömmliche HDD-Festplatten werden auch von Ausfällen und Fehlern betroffen, allerdings sind hier eher Antriebsfehler oder andere mechanische Mängel der Grund. Die langjährige Erfahrung mit den herkömmlichen Festplatten bedeutet jedoch, dass CTOs und Systemarchitekten sich mit den typischen Fehlern recht gut auskennen und deshalb auf weiterentwickelte fehlertolerante Lösungen wie RAID-Arrays setzen.

SSD Verschleiß – ein Ablenkungsmanöver?

Die Verschleiß-Thematik ist in der Tat ein Faktor, der bei der Bereitstellung von Flash-Speichern für die Verwendung mit Microsoft SQL Servern berücksichtigt werden muss. Aber wenn man sie in RAID-Arrays und in SAN einsetzt kann die Gesamtauswirkung von Verschleiß minimiert werden.

Diese Verteilungstechniken erzeugen zusätzliche Hintergrund-Schreiboperationen, erhöhen geringfügig den gesamten Verschleiß der Flash-Speicher, auf der anderen Seite wird die Lebensdauer der einzelnen Festplatten dadurch erhöht, dass verhindert wird, dass immer die gleichen Sektoren überschrieben werden. Zusätzlich steigt mit zunehmender Fragmentierung die Wahrscheinlichkeit von Verschleiß an kritischen Plattensektoren.

Trotz der Unternehmens-fokussierten Fortschritte bei der SSD-Technologie sind konkrete Zahlen über die Lebensdauer schwer zu bekommen. Hersteller zitieren regelmäßig die 1 Petabyte Lese-/Schreibleistung als obere Verschleißgrenze, aber was das in einer Unternehmensumgebung genau bedeutet, ist schwieriger zu quantifizieren. Unter der Verwendung der verfügbaren Daten schätzt Microsoft, dass alle SSDs – mit Ausnahme der kleinsten verfügbaren Größe – in der Lage sein sollten, Enterprise-Class Dateioperationen für 5 Jahre oder mehr zu gewährleisten. Andere Tests lassen sogar eine längere theoretisch mögliche Lebensdauer vermuten – bis zu 29 Jahre in manchen Fällen.

Wenn SSDs im Rahmen eines Enterprise-Class Daten-Arrays eingesetzt werden, gibt es also keinen Grund davon auszugehen, das ein Microsoft SQL Server damit nicht ordnungsgemäß funktioniert. Fortschritte in der Speicherzellentechnologie, die in den SSD-Laufwerken verwendet wird, wie z.B. SLC, bieten auch verbesserte Verschleißfestigkeit im Vergleich zur herkömmlichen MLC-Technologie (diese wird meistens bei Computer-Ausrüstungen aus dem Konsumentenbereich eingesetzt).

Ein möglicher Knackpunkt: Logs

Die intensiven Lese-/Schreib-Vorgänge beim SQL Server Logging stellen einen möglichen Knackpunkt bei der Verwendung von SSDs dar. Bei so vielen IO-Operationen neigt die SSD-Festplatte, auf der die Write-Ahead-Protokolle gespeichert werden, zu einem schnelleren Verschleiß als jedes andere Geräteteil, das von Microsoft SQL Servern genutzt wird.

In unternehmenskritischen Einsatzfeldern, bei denen Transaktionen eng überwacht und bewertet werden müssen, könnte der Ausfall einer SSD mit Server-Protokolldateien den gesamten Datenwiederherstellungsprozess gefährden.

Vor der Umstellung auf SSD-basierte SQL Server Datastores müssen sich verantwortliche CTOs entscheiden:

  • Wie groß ist die Gefahr, die sich durch einen SSD-Ausfall für die Wiederherstellungsoperationen für SQL Server ergibt?
  • Welche Technologie bietet die beste Balance zwischen Leistung und Zuverlässigkeit (HDD vs. SSD)?
  • Wie wird die Gesundheit der SSD-Laufwerke, auf denen Logdateien gespeichert werden, gemessen?
  • Wie stellt man Daten im Katastrophenfall oder bei einem ausgefallenen SSD-Laufwerk wieder her?

SSD & SQL Datenwiederherstellung – der Teufel steckt im Detail

Es ist wichtig sich vor Augen zu halten, dass der größte Vorteil der SSD – der Mangel an beweglichen mechanischen Teilen – auch eines seiner größten Nachteile ist. Eine SQL-Datenwiederherstellung nach dem Ausfall eines SSD-Laufwerks ist eine Experten-Aufgabe und erfordert in der Regel professionelle Hilfe. Wo bei einer normalen HDD-Festplatte Leiterplatten in einer Reinraum-Umgebung ausgebaut und ersetzt werden können, sind dagegen SSD-Speicherchips typischerweise deutlich schwieriger wiederherzustellen.

Datenrettungen von SSD-Speicherzellen sind also möglich, aber es bleibt ein komplexer Vorgang. Und da bei jeder SQL Server Bereitstellung auch gleichzeitig Vorkehrungen für die Datenwiederherstellung als Teil des Disaster Recovery Plans zu berücksichtigen sind, müssen CTOs und Systemarchitekten die Auswirkungen von SSD-Ausfällen auf die Verfügbarkeit der SQL Server prüfen und soweit als möglich mindern.