Ich weiß wirklich nicht, wo ich anfangen soll, da dies alles hervorragende Informationen sind. Ich werde mit ein paar Informationen zu SSDs beginnen, dann eine Beschreibung der verschiedenen Caching-Methoden und einfach von dort aus fortfahren. Ich hoffe, dass du
Vorteile Nachteile
- Preis: SSDs sind irgendwie teuer
- Maximale und gemeinsame Kapazität: SSDs mit hoher Kapazität sind sehr selten und teuer
- Geschwindigkeit: Hier haben SSDs die Nase vorn
- Haltbarkeit: Eine SSD hat keine beweglichen Teile
Am besten ein Hybridsystem haben, um das Beste aus beiden Welten zu haben (Kapazität, Zuverlässigkeit, Geschwindigkeit usw.)
Der Linux 3.9-Kernel (verfügbar am 28. April 2013) führt das SSD-Caching ein. Der Device Mapper des Kernels enthält jetzt ein Cache-Ziel namens dm-cache, mit dem SSDs oder andere Speichergeräte als Cache für eine Festplatte verwendet werden können. Es beschleunigt im Wesentlichen das Schreiben und Lesen von Daten, da die schnellere SSD Daten zuerst zwischenspeichern und dann auf die langsamere Festplatte übertragen kann.
Quelle: Iwn
Flashcache ist ein Modul, das ursprünglich von Facebook (Mohan Srinivasan, Paul Saab und Vadim Tkachenko) im April 2010 geschrieben und veröffentlicht wurde. Es ist ein Kernel-Modul, das das Durchschreiben des Cachings eines Laufwerks auf einem anderen Laufwerk ermöglicht. Dies wird aus Leistungsgründen am häufigsten zum Zwischenspeichern eines Rotationslaufwerks auf einem kleineren Solid-State-Laufwerk verwendet. Dies gibt Ihnen die Geschwindigkeit einer SSD und die Größe eines Standard-Rotationslaufwerks für kürzlich zwischengespeicherte Dateien. FlashCache ist ein universeller Rückschreib-Blockcache für Linux.
Quelle: ArchLinux
Bcache ist ein Linux-Kernel-Block-Layer-Cache. Damit können ein oder mehrere schnelle Festplattenlaufwerke wie Flash-basierte Solid-State-Laufwerke (SSDs) als Cache für ein oder mehrere langsamere Festplattenlaufwerke fungieren.
Festplatten sind billig und groß, SSDs sind schnell, aber klein und teuer. Wäre es nicht schön, wenn Sie die Vorteile von beiden transparent nutzen könnten? Mit Bcache können Sie Ihren Kuchen haben und ihn auch essen.
Bcache-Patches für den Linux-Kernel ermöglichen die Verwendung von SSDs zum Zwischenspeichern anderer Blockgeräte. Es ist analog zu L2Arc für ZFS, aber Bcache führt auch Writeback-Caching durch (abgesehen davon, dass es nur durch Caching geschrieben wird), und es ist dateisystemunabhängig. Es ist so konzipiert, dass es mit minimalem Aufwand eingeschaltet werden kann und ohne Konfiguration bei jedem Setup gut funktioniert. Standardmäßig werden keine sequentiellen E / A-Vorgänge zwischengespeichert, nur die zufälligen Lese- und Schreibvorgänge, mit denen SSDs glänzen. Es soll für Desktops, Server, High-End-Speicher-Arrays und vielleicht sogar eingebettet sein.
Das Entwurfsziel ist es, genau so schnell wie die SSD und das zwischengespeicherte Gerät (abhängig von Cache-Treffern und -Fehlern sowie Durchschreib- und Rückschreib-Schreibvorgängen) innerhalb der Fehlergrenze zu sein. Es ist noch nicht ganz fertig, hauptsächlich für sequentielle Lesevorgänge. Tests haben jedoch gezeigt, dass es nachdrücklich möglich ist und in einigen Fällen sogar besser ist - hauptsächlich zufällige Schreibvorgänge.
Quelle: Bcache
Bcache hat einen großen Nachteil, und es nimmt dem System Speicherplatz weg, um den Cache zu implementieren.
EnhanceIO ist eine Lösung, die unter der Anwendungsschicht ausgeführt wird und es Anwendungen ermöglicht, die Leistungsvorteile von SSDs zu nutzen, ohne dass wesentliche Änderungen an der IT-Infrastruktur erforderlich sind. Ein SSD-Cache kann die meisten Vorteile eines Wechsels von HDDs zu SSDs zu einem Bruchteil der Kosten eines SSD-Gesamtsystems bieten. Ein zwischengespeichertes System benötigt in der Regel weniger Strom als ein HDD-basiertes System mit ähnlicher Leistung, und dies schafft einen Nebeneffekt, indem der Kühlungsbedarf verringert wird.
Ein SSD-Cache kann auch die Nutzungsdauer eines vorhandenen Systems verlängern, indem die Leistung verbessert wird, um den wachsenden Anforderungen durch eine inkrementelle Investition gerecht zu werden, und nicht durch ein umfassendes Upgrade / Ersatz des vorhandenen Systems.
Das Zwischenspeichern ermöglicht auch einen schnelleren Zugriff auf die Daten, ohne den zusätzlichen Verwaltungsaufwand für den Speicher, um neue Festplattenregale zu beschaffen und zu installieren, neue LUNs zu konfigurieren und Daten auf die neuen LUNs zu migrieren. Das Caching ist nahezu transparent und erfordert keine oder nur geringe Ausfallzeiten. EnhanceIO basiert auf Flashcache.
Quelle: Stec-Inc
bcache ist das wertloseste von allen, da es eine speziell vorbereitete (formatierte) Datenpartition erfordert. Dies macht es schwierig (wenn möglich), einen Cache an eine vorhandene Partition mit Daten anzuhängen, da eine Kapazität von 200% erforderlich wäre, und ein langes Verschieben von Daten durchzuführen, um das Caching zu aktivieren / deaktivieren.
Die Brillanz von EnhanceIO ist, dass es überhaupt kein Zwischengerät benötigt und on-the-fly an jedes Blockgerät angeschlossen werden kann, selbst wenn das Gerät bereits montiert ist. Eine andere super coole Sache ist, dass Sie den EnhanceIO-Cache nicht nur an die Partition, sondern auch an das partitionierte Block-Gerät anhängen können, um alle seine Partitionen auf einmal zu cachen. Genau wie Flashcache werden Enchanceio-Module mit DKMS erstellt und können mit älteren Kerneln verwendet werden.
Quelle: Debian
DM Cache Vorteile
DM-Caches verwenden eine vereinfachte Architektur, wodurch sie anpassbar und einfach anzupassen sind. Benutzer können die Blockgröße und die Cache-Kapazität basierend auf der zu verarbeitenden Datenmenge oder dem Wert der Daten anpassen. Wenn eine bestimmte Anwendung viele Daten nacheinander speichern muss, können Benutzer den Cache für diesen Zweck konfigurieren. Wenn ein Benutzer gleichzeitig mit dem Cache Informationen in einer Datenbank aufzeichnen möchte, wird der Cache dadurch nicht beeinträchtigt.
DM Cache Nachteile
Ein Nachteil bei der Verwendung eines DM-Cache besteht darin, dass das Linux-Betriebssystem nur über begrenzten Speicherplatz zum Speichern von Metadaten verfügt. Wenn der Cache groß ist und viele kleine Blöcke enthält, summiert sich dies zu vielen Metadaten für die gespeicherten Informationen. Um dieses Problem zu lösen, muss der Benutzer die Blockgröße erhöhen. Ein weiteres mögliches Problem besteht darin, dass die Cache-Metadaten nach einem Server-Absturz möglicherweise nicht mehr mit dem Cache-Inhalt übereinstimmen, die korrekte Konfiguration jedoch möglicherweise wiederhergestellt werden kann.
Quelle: Ergänzungen von Fraser Sherman
Aus den obigen Informationen geht hervor, dass EnhanceIO der richtige Weg ist, aber meiner Meinung nach würde ich Flash-Cache verwenden, da es auf Flashcache basiert. Aber ich werde auf jeden Fall beide ausprobieren, bevor ich eine endgültige Entscheidung treffe.
zram-config
, der Priorität bei der Auslagerungsnutzung erhält. Speichern Sie das Spiel auf der SDD und testen Sie es. Einige Spiele werden nicht viel schneller funktionieren, andere werden großartig funktionieren! Ich bevorzuge es, SDD wegen seiner Schreibbeschränkung nicht als Cache zu verwenden, aber SDDs werden billiger, so dass es nicht mehr so wichtig ist :)