Enterprise SSHD: SSD und Festplatte in einem
0Seagates Enterprise Performance 10K HDD mit TurboBoost vereint beide Welten und deren Vorteile – die hohen Kapazitäten von Festplatten mit einigen wichtigen Performancevorteilen von SSDs.
Die Performance Ihres Storage reicht nicht aus? Stellen Sie einfach vollständig auf SSDs um!“ Diese einfache Antwort kann bei kleineren Datenmengen durchaus schon die Lösung des Problems sein. Bei RAID-Konfigurationen mit mehreren Terabyte führt diese vermeintlich einfache Lösung aber häufig zur nächsten Frage – zur Preisfrage.SSHD integriert Lese-Cache
Seagate kombiniert als Antwort auf diese Preisfrage SSD und Festplatte in deren Solid State Hybrid Drives (SSHDs) der Enterprise Performance 10K TurboBoost Serie. Der normalen Festplatten-Kapazität stehen 32 GB SSD-Kapazität zur Seite, die als Lese-Cache fungieren. Der SSHD Controller kopiert häufig gelesene Daten in den SSD-Bereich – somit können diese Daten bei weiteren Lesevorgängen spürbar schneller gelesen werden. Den Messungen von Tom’s IT Pro Magazin zufolge, steigt die Anzahl an möglichen Lese-IOPS (Input/Output Operations Per Second) dadurch auf bis zu 11.000 IOPS an.
Dynamische Anpassung des Lese-Cache
Der Lese-Cache arbeitet dabei auf Block-Ebene (4 KB). Kommt es zu Änderungen im Nutzungsverhalten und werden neue Datenblöcke häufiger gelesen, reagiert die Firmware der SSHD unmittelbar und legt diese Blöcke im Cache ab. Dies ist vor allem in virtualisierten Umgebungen vorteilhaft, wenn einzelne virtuelle Maschinen mehr Lesezugriffe verursachen als andere. Für all dies ist keine spezielle Konfiguration oder ein Eingriff des Administrators erforderlich – es passiert alles automatisch im Hintergrund.
Schreib-Cache mit Power-Loss-Protection
Für das Caching von Schreib-Operationen verwenden Seagates SSHDs so wie auch normale SSDs oder Festplatten einen Teil des integrierten DRAM (konkret ca. 60 MB der 128 MB des DRAM). Dieser Cache muss – wie auch bei herkömmlichen Festplatten – im Servereinsatz deaktiviert werden. Im Falle eines Stromausfalles ginge dessen Inhalt nämlich verloren, ein vollständiger Datenverlust könnte die Folge sein (Details dazu zeigen wir im Wiki-Artikel Cache Einstellungen von RAID Controllern und Festplatten). Enterprise SSDs schützen den Inhalt des DRAM-Cache durch zusätzliche Kondensatoren. Diese liefern bei einem Stromausfall noch ausreichend Energie, um die Daten auf die Flash-Chips der SSD zu schreiben. Sie führen aber naturgemäß auch zu etwas höheren Anschaffungskosten.
Seagate geht bei den Enterprise Performance 10K Festplatten mit TurboBoost jedoch einen durchaus raffinierten Weg, um wichtige Teile des Cache bei einem Stromausfall zu schützen. Wie auch herkömmliche Festplatten werden diese SSHDs mit deaktiviertem Schreib-Cache (SAS Write Cache Enabled = 0) für einen sicheren Serverbetrieb eingesetzt. Im Gegensatz zu den normalen Festplatten bieten diese SSHDs jedoch bei dieser Einstellung ein NVC (nonvolatile cache) geschütztes Schreib-Caching. Wie funktioniert das? Bei einem Stromausfall dreht sich der Festplatten-Motor bis zum Stillstand der Festplatte weiter. Durch die Drehung induziert der Motor ähnlich wie ein Dynamo eines Fahrrads eine Spannung – und diese Spannung verwendet Seagate um die Daten aus dem NVC Bereich des DRAM hin auf einen reservierten Teil des SSD-Bereichs zu schreiben. Was bedeutet das für die Praxis? Der Controller-Chip der SSHD kann dank des NVC mehrere zu schreibende Datenblöcke sinnvoll zusammenfassen und optimiert sortieren. Anschließend schreibt der Controller die Daten in einem Rutsch auf Platte.
Tiering
Neben der Möglichkeit Festplatten- und SSD-Speicher in einer SSHD zu integrieren, können auch normale Enterprise Festplatten und SSDs mittels einer Caching-Software kombiniert werden. Man spricht in diesem Fall von „Tiering“.
SSDs werden als hochperformanter Speicher als Tier 0 verwendet, Festplatten als Tier 1. Die Caching-Software (z.B. LVM Cache unter Linux) erlaubt bei entsprechender Konfiguration, SSDs als reinen Lese- oder kombinierten Lese-/Schreib-Cache zu verwenden. Bei einem Einsatz als Schreib-Cache ist darauf zu achten, die SSDs selbst redundant (z. B. in einer RAID 1 Konfiguration) zu verwenden, da ansonsten bei einem Ausfall einer einzelnen SSD Datenverlust droht. Solche Setups sind durchaus sinnvoll und erlauben eine individuelle Auswahl des Verhältnisses der SSD- zur Festplatten-Kapazität. Durch die Software-seitige Lösung kommt es zu einem gewissen Overhead.
Es muss jederzeit bekannt sein, welche Daten auf SSD und welche auf Festplatte liegen. Je mehr Datenblöcke in Summe verwaltet werden, umso mehr Overhead entsteht. Damit dieser Mehraufwand nicht ausufert, werden gleich größere Datenbereiche in einem verwaltet – z. B. die 4 MB großen „Physical Extends“ von LVM beim LVM Cache. Bedauerlicherweise haben dann aber kleine Dateien oder Datenbankeinträge wenig Chancen in den Cache zu gelangen, wenngleich sie auch häufig gelesen werden. Wird auf benachbarte Speicherbereiche zu wenig zugegriffen, ist der 4 MB Block aus Sicht der Caching-Software einfach zu wenig gefragt.
Genau hier kommen wieder SSHDs ins Spiel. Werden sie anstelle von normalen Festplatten in einer Tiering-Lösung eingesetzt, liefern die SSHDs dank ihres Cachings auf Block-Ebene (4 KB) genau jene häufig gefragten kleineren Datenblöcke schnell über den integrierten Cache aus, die es anhand der Kritierien der Caching-Software nicht in den Tier 0 (SSDs) schaffen.
Unterschied zu Consumer SSHDs
Seagates Enterprise Performance 10K HDDs mit TurboBoost unterscheiden sich von den Consumer-Produkten nicht nur in der höheren Drehzahl (10.000 rpm im Vergleich zu 5.400 rpm bzw. 7.200 rpm). Beim integrierten SSD-Speicherbereich kommen 32 GB eMLC (Enterprise MLC) im Vergleich zu 8 GB MLC bei den Consumer-Produkten zum Einsatz. Der SSD-Cache der Consumer-Produkte ist auf einen schnellen Start des Betriebssystems ausgelegt. Sie versuchen, Betriebssystem-Dateien, die beim Starten des Rechners gelesen werden, permanent im Cache zu behalten. Wird der Rechner herunter gefahren und später wieder neu eingeschaltet, beschleunigt dieses Verhalten die Ladezeit bis das Betriebssystem verfügbar ist. Im Serverbetrieb spielt dieses Verhalten jedoch nur eine untergeordnete Rolle. Die Enterprise SSHDs behalten den Cache-Inhalt daher ausschließlich über Reboot-Grenzen hinweg, bei einem Kaltstart wird der Cache neu aufgebaut. Im laufenden Betrieb konzentriert sich die Firmware der Enterprise SSHD ausschließlich darauf, die aktuell am häufigsten gelesenen Datenblöcke im Cache zu halten – eben optimiert auf den Serverbetrieb.
Ein weiterer Aspekt für die Nutzung der Enterprise SSHD ist deren Auslegung auf einen Dauerbetrieb und eine beliebige Schreiblast. Im Gegensatz zu SSDs gibt es keine Obergrenze für die Menge geschriebener Daten. Damit eignet sich die SSHD für alle nur erdenklichen Aufgaben im Server- und Workstation-Einsatz und kann universell verwendet werden, sowohl bei extrem hohen Schreibraten wie auch bei Anwendungen mit Daten-Hot-Spots.
Fazit: SSHDs bringen im Serverbetrieb gleich mehrere Vorteile:
- Universell verwendbar für alle Server-Einsatzgebiete.
- Der 32 GB Lese-Cache beschleunigt wiederkehrende Lesezugriffe auf „Hot Data“ (häufig gelesene Daten).
- Änderungen am Nutzungsverhalten (Lesezugriffe) werden von den SSHDs dynamisch und auf Blockebene (4 KB) umgesetzt.
- Der SSD-Bereich der SSHD wird im Vergleich zu einer reinen SSD nur wenig beschrieben – die „Write Endurance“ der SSHD liegt also deutlich über jenen von kostengünstigen Einstiegs-SSDs.
Wie bei allen Caching-Lösungen bleibt eine kleine Einschränkung:
- Obwohl die zahlreichen Performance-Benchmarks (u. a. auch von Tom’s IT Pro oder StorageReview.com) deutliche Performance-Vorteile zeigen, hängt der konkrete Performance-Gewinn in der Praxis immer von den tatsächlich eingesetzten Anwendungen und den jeweiligen Last-Profilen ab. Bei „Hot Data“ im Umfang von beispielsweise rund 200 GB sollten bei einem RAID mit 8 SSHDs jedoch der Großteil des „Hot Data“ im Cache verbleiben.