Avago Nytro MegaRAID: HDD und SSD im intelligenten Caching Verbund
0Hintergrund
Mit der steigenden Popularität von SSDs und dem damit verbundenen Leistungsschub, kommt sehr häufig die Frage auf, welches Einsatzgebiet für Flash-Speicher ideal wäre. Da HDDs noch immer zu den günstigsten, hochkapazitativen Speichern gehören und SSDs (mit der hohen IOPS-Leistung) nicht in allen Anwendungsgebieten Sinn machen, ist ein kombinierter Einsatz eine gute Lösung. Dieses Konzept wirft die Frage auf, welche Daten, nach welcher Regel auf die SSDs ausgelagert werden sollen. Die SSD wird meist dediziert für „heiße“ Daten, oder im anderen Fall zum intelligenten Caching genutzt, wenn der komplette Server von der Schnelligkeit der SSD profitieren soll.
- Caching
Dieses Zwischenspeichern kann man mit einer Vielzahl von Technologien realisieren, sowohl mit einer PCIe-SSD Karte, innerhalb des Betriebssystems mit proprietären Software-Produkten, als auch über ein Speicher-System, das den Zugriff auf Daten so gut wie möglich beschleunigt (Bcache). Ein beachtenswerter Punkt ist die Anwärmphase bei Lese-Caches, die dazu führt, dass sich die Beschleunigung erst nach einer gewissen Zeit bemerkbar macht.
Eine Lösung stellt der neuentwickelte RAID-Controller von Avago namens Nytro MegaRAID dar. Dieser verheiratet Flash-Speicher mit HDDs und intelligenter Caching-Software unter einer gemeinsamen Plattform.
Neben der RAID-Funktionalität bietet dieser Controller zwei Flash-Bereiche (derzeit maximal 400GB), die je nach Anforderung an das Caching konfiguriert werden können:
- Lernender Lese-Cache: Der Controller kann die volle Kapazität beider Bereiche dazu nutzen, sogenannte Hotspots darauf zu speichern. Die Hotspots ergeben sich aus der Analyse der „heißen“, sprich, oft-gelesenen Daten auf den Festplatten bzw. RAID-Verbunds.
- Lernender Lese und Schreibcache: Hier empfiehlt es sich, die Flash-Bereiche als RAID 1 zu organisieren, um erhöhte Sicherheit für die Schreibzugriffe zu haben. Dieser „Modus“ arbeitet wie der lernende Lese-Cache, jedoch werden auch Schreibzugriffe gepuffert.
- Elastic-Cache: Hier werden nur die Schreib-Operationen gespiegelt abgelegt und ansonsten kann die Gesamtheit des Speichers als Lese-Cache verwendet werden.
Um den Flash-Speicher möglichst flexibel nutzen zu können, ist es auch möglich, diesen direkt dem Betriebssystem als Bootmedium durchzureichen, um ggf. Platz gegenüber dem Einbau von SSDs zu sparen. Daneben beschleunigt die Verwendung des Flash-Speichers auch den Rebuild Vorgang. Sämtliche Optionen sind gegenüber dem Betriebssystem transparent und können im Controller-Bios, als auch über das Kommandozeilen Tool (StorCLI) oder über die grafische Verwaltungssoftware (StorManager) konfiguriert werden.
- Workload, Working Set = Hotspot
Mit Caching-Lösung gilt es immer herauszufinden, ob der Einsatz sinnvoll ist und „etwas bringt“. Leider bieten weder Linux noch Windows eine Möglichkeit, das Working Set bzw. den Workload zu bestimmen. Mit diesen Begriffen ist die Menge an Daten gemeint, die vom Speicherplatz in einem Zeitraum X (idealerweise ein „Durchschnittsmonat“ oder „Durchschnittswoche“) gelesen, als auch geschrieben wird. Mit dieser Menge lässt sich bestimmen, mit wie viel Flash Kapazität für das Caching man auskommt.
- Anwendungsbeispiele und Einsatzgebiete
Aufgrund der „Workload-Problematik“ ist es sehr schwierig ein passendes Einsatzgebiet auszusprechen.
Generell ist jedoch zu sagen, dass der Nytro MegaRAID Controller überall sinnvoll ist, wo
a) viele kleine zufällige Zugriffe stattfinden (typischerweise Datenbanken)
b) die Geschwindigkeit (bezogen auf IOPS) des Servers erhöht werden soll (virtuelle Maschinen)
c) die Arbeitslast aufgeteilt werden kann: Viele IOPS (dedizierter Flash-Bereich) und anderseits hoher Durchsatz (HDD-RAID)
Permanent wechselnde Anforderungen sprechen ebenfalls für diesen Controller.
Als konkretes Einsatzgebiet kann auch Ceph genannt werden, um Bereiche, die von höherer IO-Geschwindigkeit profitieren (wie z.B. das Journaling) auf einen Teil des Flash-Speichers auszulagern und den restlichen Bereich für die allgemeine „RAID-Beschleunigung“ zu verwenden.
- Fazit
Zusammenfassend ist zu sagen, dass der Nytro MegaRAID Controller eine intelligente Kombination von Flash-Speicher mit HDDs im RAID-Verbund darstellt und sich je nach Anforderung konfigurieren lässt (Lese-/Schreibcache; Elastic Cache; Bootmedium). Die Schwierigkeit ist die Bestimmung des Mehrwerts der Lösung für den jeweiligen Einsatzzweck. Dennoch bin ich der Meinung, dass Avago mit diesem Produkt die Qualität für lokal angebundenen Speicherplatz entscheidend verbessert und die richtigen Weichen für die Zukunft gestellt hat.
Auf der Avago-Seite finden Sie noch weitere Informationen.