Das Titelthema im ADMIN 04/14 "Vernetzt speichern" sind Netzwerkdateisysteme, etwa Samba 4, verteilter Storage mit Ceph & GlusterFS und der Unix-Klassiker ... (mehr)

Die Stärken der Hybriden

Wo können Hybridfestplatten ihre besonderen Stärken ausspielen? Wenn sie dieselben Daten speichern wie der Page Cache, kommen sie jedenfalls zu spät: Ganz unten im Stack müssen sie zusehen, wie darüberliegende Schichten den User eher bedienen.

Erstens: Einen Vorteil haben Hybridplatten beispielsweise dort, wo ein persistenter Cache nützlich ist. Das ist etwa beim Booten der Fall. Hier kann der Page Cache des Betriebssystems nicht helfen, denn er beginnt bei jedem Systemstart bei Null. Auf dem NAND-Modul der Hybridplatte können im Unterschied dazu aber Files überdauern, die beim Booten gelesen werden müssen und sie können helfen, den zweiten und alle folgenden Bootvorgänge deutlich zu beschleunigen.

Um das zu demonstrieren haben wir auf einer gewöhnlichen Festplatte (Western Digital WD3200BEKT), einer Hybridfestplatte (Seagtae ST2000DX01) und einer SSD (Seagate 600 Pro SSD) jeweils Ubuntu 13.10 installiert und dann mithilfe des Tools Bootchart [1] den Zeitbedarf bei aufeinanderfolgenden Bootvorgängen gemessen. Das Ergebnis der ersten beiden Durchläufe zeigt Abbildung 4 . Während sich bei der normalen Festplatte kaum etwas ändert und auch die viel schnellere SSD nicht auf die Wiederholung reagiert – in beiden Fällen starten die Caches zunächst leer – liegt die Sache bei der Hybridplatte ganz anders: Hier halbiert sich die für das Booten benötigte Zeit, weil dieser leselastige Prozess jetzt von Anfang an auf viele Files aus dem Cache der Platte zurückgreifen kann.

Abbildung 4: Die Hybridplatte profitiert beim zweiten Booten von ihrem persistenten Cache und halbiert damit die benötigte Zeit.

Zweitens: Files sind ein Konstrukt des VFS-Layers – die physische Hybridfestplatte am entgegengesetzten Ende des I/O-Stacks weiß davon nichts. Was sie cachet sind Blöcke. Daher kann sie auch Anwendungen beschleunigen, die Direct-I/O verwenden und den Page Cache umgehen. Solche Anwendungen (beispielsweise manche Datenbanken) arbeiten dann aber in der Regel mit applikationseigenen Caches und deren Funktion doppelt sich daher genauso mit dem Cache der Hybridplatte, wie es der Page Cache tut.

Drittens: Der NAND-Cache der Hybridplatte cachet auch Schreiboperationen. Allerdings macht das zuvor genauso der Page Cache, der geänderte, aber noch nicht endgültig gespeicherte Seiten als sogenannte Dirty Pages verwaltet, die er in regelmäßigen Abständen auf den Massenspeicher schreibt. Ist der dabei belegt, können die Daten noch einmal im NAND-Cache der Hybridplatte gepuffert werden.

Viertens: Ist nicht genügend Arbeitsspeicher frei, laufen aber speicherhungrige Applikationen und werden häufiger große, aber nicht unbedingt überragend wichtige Files verändert (etwa Logs) dann verdrängen sie unter Umständen durchaus Performancerelevante Inhalte aus dem Page Cache. Der NAND-Cache der Hybridplatte ist laufwerksbezogen, hier können zumindest keine Daten durch Inhalte hinausgeschoben werden, die ganz woanders lagern.

Fünftens: Auch wenn nur wenige I/Os bei der Hybridplatte ankommen und davon wieder nicht alle in deren Cache zu finden sind: Diejenigen Zugriffe, die sich am Ende doch dort finden, gehen so viel schneller über die Bühne, dass sich insgesamt ein merklicher Performance-Gewinn einstellen kann.

Fazit

Hybridfestplatten sind kaum teurer als normale Disks, können aber unter Umständen sehr viel schneller sein. Auf diese Umstände kommt es jedoch an. Optimal sind mehrfach wiederholte Leseoperationen, etwa beim Booten. In anderen Situationen sind die Vorteile nicht so groß, denn dann sitzt die Hybridplatte mit ihrem Angebot am kürzeren Hebel: Andere Komponenten des I/O-Stacks offerieren dasselbe, nur früher. Und was nicht in den Cache gelangt oder aus dem relativ kleinen NAND-Speicher wieder verdrängt wird, das legt auch kein Tempo zu. Diejenigen I/O-Anforderungen allerdings, die bis zum Hybrid-Laufwerk durchgereicht werden und sich dann auch wirklich in seinem Flash-Cache finden, können sehr viel schneller bedient werden als von einer rein mechanischen Platte.

Pluspunkte können die Hybridplatten außerdem womöglich noch da sammeln, wo ein persistenter Cache von Vorteil ist, wo das Filesystem umgangen wird oder wo sich privilegierte Daten auf einem Laufwerk versammeln lassen. Einer reinrassigen SSD ist die Festplatte mit SSD-Modul in punkto Performance immer deutlich unterlegen – dafür aber auch um ein Vielfaches preisgünstiger.

Infos

  1. Bootchart: http://www.bootchart.org
comments powered by Disqus
Mehr zum Thema

SSDs als Cache für Festplattenspeicher

Festplatten sind heute günstig, aber immer noch nicht besonders schnell, SSDs dagegen schnell aber teuer. Der Königsweg liegt derzeit darin, beides zu kombinieren und SSDs als schnelle Caches für Festplatten zu verwenden.
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023