it-swarm.com.de

Wie kann ich meine kleine SSD als Cache für eine größere Festplatte verwenden?

Ich möchte eine (kleine) SSD als Cache für eine große Festplatte verwenden. Mir ist klar, dass es hardwarebasierte Produkte gibt, die dies tun: HighPoint RocketHybrid HBA , Intel SmartResponse und andere. Es gibt nur ein Software-Produkt, das ich finden konnte: ExpressCache von Diskeeper :

ExpressCache kombiniert die besten Eigenschaften von SSDs und HDDs auf intelligente Weise und automatisch, ohne dass der Benutzer sich anstrengen oder die erforderlichen Kenntnisse erwerben muss, damit der Benutzer das Beste aus beiden Welten herausholen kann. dynamische Leistung und skalierbare Kapazität. Da SSDs mit einer Größe von nur 4 GB verwendet werden können, ist dies eine unglaublich erschwingliche Lösung für Hersteller.

ExpressCache besteht aus Komponenten für den Benutzermodus und den Kernelmodus und verwendet die SSD als intelligenten Cache in Verbindung mit einer Festplatte, um die Gesamtsystemleistung zu verbessern und den Start des Windows-PCs, das Starten von Anwendungen und den Datenzugriff erheblich zu beschleunigen.

Dieses Produkt ist jedoch nur OEM !

Ich habe erfolglos nach Alternativen gesucht ... Ich kann das nicht verstehen: Es klingt nach einer großartigen Idee, es wird keine zusätzliche Hardware benötigt und es könnte die Festplattenleistung wirklich steigern, ohne ein Vermögen auszugeben.

Also frage ich, ob jemand eine Software kennt, die dies tut, entweder für Windows oder Linux. Oder wenn Sie denken, dass dies eine schlechte Idee ist, würde ich gerne wissen, warum.

Hinweis: ReadyBoost ist dafür nicht wirklich geeignet. Es basiert auf der Annahme, dass Schreibvorgänge auf Datenträgern sehr teuer sind, nur geringe Auswirkungen auf Systeme mit viel RAM haben und nicht richtig skaliert werden können, wenn Ihre SSD über 100 GB verfügt.

58
haimg

Es gibt verschiedene Möglichkeiten, eine SSD als Cache für Ihre normale Festplatte zu verwenden. Dies ist keine neue Idee und hat bereits mehrere Implementierungen.

In Windows:

Die beste Implementierung ist von NVelo: Dataplex - Es hat Lese-Caching und optional Schreib-Caching. Leider ist es wie ExpressCache nur für OEMs verfügbar. Am billigsten ist es, eine OCZ-SSD zu kaufen, die einen PCIE-Adapter mit einer kleinen SSD enthält und die vorhandene Festplatte mithilfe der Dataplex-Software zwischenspeichert.

Es gibt jedoch auch reine Software-Implementierungen: FancyCache - Es funktioniert wie erwartet, Lese- und Schreib-Caching auf der Blockebene durchzuführen. Es existiert hauptsächlich als Speicher-Cache, hat jedoch kürzlich Unterstützung für einen SSD-Cache der zweiten Ebene (ein bisschen wie der ZFS L2ARC) erhalten, der beliebig groß sein kann.

Wenn Sie gerade auf max out auf IOPS auf Kosten der Schreib Haltbarkeit (völlig in Ordnung, in Verbindung mit einer USV zum Beispiel) suchen, könnte eine Alternative so etwas wie: SuperCache - Dies wird verwenden RAM nur keine SSD. Aber im Gegensatz zu den anderen wird es bei Commodity-Hardware deutlich über 100.000 IOPS liegen. Sehr nützlich zum Zwischenspeichern von Blockgeräten, die beispielsweise Datenbankindizes enthalten. Im Wesentlichen RAM-Disk-ähnliche Leistung für jedes Volume (vorausgesetzt, das zugrunde liegende Gerät kann mit dem Schreibvolumen mithalten).

Unter Linux sieht es ein bisschen besser aus:

Wie bereits erwähnt, haben Sie Flashcache - Es funktioniert ziemlich gut, aber die Leistung variiert stark mit Ihrer Arbeitsbelastung. In vielen Fällen mit schlechtem Zugang wird die Leistung nicht so gut sein, wie Sie es vielleicht erwarten. Ich bin mir nicht sicher, warum das so ist, aber für die meisten Workloads ist dies eine großartige Option.

Die beste Option (obwohl der Code ist noch nicht ganz „Produktion bereit“) ist BCACHE (weitere Informationen hier , obwohl einige, wenn veraltet) - Es hat die beste Leistung aller SSD-Cache Ich habe noch nicht ausprobiert und unterstützt im Gegensatz zu allen anderen genannten Optionen das Zwischenspeichern mehrerer Blockgeräte in einem einzigen Cache. Es werden auch mehrere Cache-Geräte unterstützt (obwohl ich dies noch nicht persönlich ausprobiert habe, funktioniert es möglicherweise noch nicht), sodass Sie mehrere billigere SSDs zur Maximierung Ihres IOPS verwenden können. Der Code befindet sich in einem Git-Repository: git: //evilpiepirate.org/~kent/linux-bcache.git . Es ist die Rede davon, es in der nächsten Kernel-Version zusammenzuführen, obwohl es noch nicht sicher ist.

Persönlich finde ich, dass die leistungsstärkste Option bcache ist (meine Arbeitslast hängt hauptsächlich von der Datenbank ab, obwohl ich auch meinen Hauptlaptop in seiner Gesamtheit zwischenspeichere). Nach meiner Erfahrung ist der sequenzielle Schreibdurchsatz der Festplatte häufig der Engpass, da sich der Cache schnell füllt und die Festplatte die zwischengespeicherten Sektoren schreiben muss. Je schneller desto besser. Dies gilt natürlich für eine hohe Schreibarbeitslast. Bei einer ausgeglicheneren Lese-/Schreibarbeitslast werden die Dinge wahrscheinlich anders sein.

Ich sollte Sie auch warnen, dass Sie bei voller Geschwindigkeit die Schreibbeschränkungen Ihrer SSD ziemlich schnell durchbrechen werden. Ich arbeite derzeit an meiner dritten OCZ Vertex 3. SSDs sind zwar sehr schnell, aber nicht sehr langlebig. Erwarten Sie daher, sie alle paar Monate auszutauschen.

52
Supercilious

Es gibt eine sehr interessante Software für Linux, die von stark ausgelasteten Servern verwendet wird:

https://github.com/facebook/flashcache

Auf einem SATAII, 8 magnetischen Rotationslaufwerken in einem RAID6-Setup bekomme ich ernsthafte Leistungssteigerungen. Zufälliges Lesen mit SATAIII-Flashcache-SSD-Gerät (540 Lese-, 420 Schreibzugriffe) sättigt meinen SATAII-Bus auf fast 90-95% - ich habe 280 MB Lese- (in Spitzenzeiten), 270 MB Schreibzugriff (nur bei simulierter Last ... in der Produktion nie erreicht) . Es dauert jetzt etwa ein halbes Jahr. Die Schreibgeschwindigkeit der Festplatte beträgt ... 20-30MB/s - Verwenden Sie freie E/A-Zeit ...

10
Matej Kovac

Wie groß ist deine SSD?

Der wahrscheinlich beste Effekt, den Sie erzielen, wenn Sie das gesamte Betriebssystem und die gesamte Software auf der SSD installieren und gleichzeitig große Datenmengen auf Ihrer Festplatte speichern.

Wenn Ihre SSD klein ist, kann es nützlich sein, eine Auslagerungsdatei darauf abzulegen. Ich bezweifle, dass Windows einen Großteil Ihrer Dateien in den Cache stellen wird, aber zumindest können Sie den Arbeitsspeicher und den Dateicache der zuletzt verwendeten Anwendungen im RAM speichern, während Sie schnell zu nicht so zuletzt verwendeten Anwendungen wechseln können (was der Fall sein wird) sich in einer Auslagerungsdatei befinden, die sich wiederum auf einer SSD befindet).

5
penartur

Es ist zwar durchaus möglich, ein gesamtes Betriebssystem und Anwendungen auf eine einzige SSD zu laden, dies sollte jedoch nicht der Fall sein. Mit der Zeit verlangsamen sich SSDs durch kontinuierliches Neuschreiben und sollten "aufgefrischt" werden, um sie wieder zu beschleunigen. Verwenden Sie besser die schnellste Festplatte, die Sie finden können, z. B. ein SATA 600-Gbit/s-Laufwerk, und erwerben Sie ein Motherboard oder einen anderen Controller, der das SSD-Caching auf Hardwareebene unterstützt. Alle Asus ROG Maximus-Motherboards unterstützen diese integrierte Funktion.

Bis ich dieses neue System baue, habe ich jedoch einen Weg gefunden, von einer SSD zu profitieren. Ich habe einen Speichercache auf der SSD erstellt, und obwohl sich auf meiner Hauptfestplatte einer befindet, scheint Windows stattdessen automatisch die schnellere SSD zu verwenden. Ich habe auch meinen gesamten Internet Explorer-Cache auf die SSD verschoben, wodurch das Surfen und Internetvideo mindestens zwei- oder dreimal schneller wurde.

Ich werde mein neues System um das Asus Maximus VI Hero-Motherboard mit einem Intel i7-Prozessor der 4. Generation im 1150-Sockelformat aufbauen. Scheint eine gute Leistung zu sein, ohne Tausende aufzuwenden, um dorthin zu gelangen. Die Gesamtkosten werden voraussichtlich im Bereich von 800 bis 900 US-Dollar liegen, einschließlich einer neuen Windows-Version.

2
JDinFL

FancyFlash hat den Job gemacht. Ich habe einen eigenen Hyper-V R2-Server @home für meine Labore und ein OCZ Revo Hybrid-PCIe-Laufwerk. Leider funktioniert der eingebaute Cache-Treiber nur unter Windows 7. Für Windows Server 2008 R2 ist kein Plan vorhanden. Deshalb habe ich den FancyFlash-Treiber auf meinem Hyper-V-Host installiert und meine SSD auf Revo Hybrid so konfiguriert, dass sie als Cache für die eingebettete 1-TB-Festplatte (auf der sich meine VHD befindet) fungiert. TaDa! Funktioniert und beschleunigt meine VMs sehr! :)

Ich hoffe, die endgültige Veröffentlichung wird erschwinglich sein $$$ ...

2
Spider_s

eBoostr ist eine Anwendung, die große Teile der regelmäßig verwendeten Anwendungen zwischenspeichert, um Ihr System zu beschleunigen. Normalerweise sind USB-Laufwerke oder nicht verwendete RAM vorgesehen, aber es gibt keinen wirklichen Grund, warum Sie stattdessen keine SSD verwenden können.

Es ist für alle Hauptversionen von Windows verfügbar und klingt sehr nach dem, was Sie suchen.

  • eBoostr verfolgt die Verwendung von Anwendungen auf Ihrem System und kann Daten der am häufigsten verwendeten vorab zwischenspeichern. Dadurch werden Verzögerungen beim Laden verringert und die Leistung optimiert
  • Die benutzerfreundliche Drag-and-Drop-Oberfläche ermöglicht es Ihnen, Anwendungen auf Ihrem System selektiv zu erweitern und durch eBoostr erweiterte Anwendungen zu priorisieren
  • Reduzierte Ladezeiten und weniger Festplattenzugriff verlängern die Akkulaufzeit von Laptops und Netbooks mit eBoostr

Lesen Sie mehr: http://www.eboostr.com/feature

2
Mokubai

Man kann die Windows I/O-Technologien von ReadyDrive und ReadyBoost verwenden. Da diese Technologien aus der Zeit vor der Einführung von SSDs stammen, gibt es nur wenige Informationen darüber, ob und wie gut sie mit SSDs funktionieren.

Hinweise zu ReadyBoost finden Sie unter Wie kann ich meine SSD als ReadyBoost-Cache-Laufwerk verwenden? , obwohl dieser andere Thread das Gegenteil behauptet.

ReadyDrive ist eine Funktion von Windows Vista, mit der Computer mit Windows Vista oder höher, die mit einem Hybridlaufwerk oder anderen Flash-Speicher-Caches (z. B. Intel Turbo Memory) ausgestattet sind, schneller gestartet und in kürzerer Zeit aus dem Ruhezustand reaktiviert werden können.

Sie können die Auslagerungsdatei auch auf der SSD ablegen, allerdings mit begrenzter zu erwartender Verbesserung, wenn der Systemspeicher ausreicht.

Die beste Verbesserung ergibt sich, wie von penartur bemerkt, aus der Installation von Windows auf der SSD.

2
harrymc

Laden Sie ExpressCache herunter

Haben Sie Google nach ExpresCache durchsucht? Ich kann sehen, dass man es von herunterladen kann

  • SanDisk - Link auf der rechten Seite; Funktioniert nur mit SanDisk SSDs
  • Lenovo - Link unten in der Anleitung; könnte auch hardwareabhängig sein

Insbesondere bei Lenovo können Sie eine x86- oder eine x64-Version herunterladen. Sandisk bietet anscheinend nur ExpressCacheSetup.exe an, und ich weiß nicht, welche Architektur es unterstützt. Vielleicht eins vielleicht beides ...

1
Robert Koritnik

ExpressCache ist nur ein OEM-Produkt. Ich bin mir ziemlich sicher, dass es interne Kontrollen gibt, die verhindern, dass es auf anderer Hardware als den lizenzierten OEMs verwendet wird.

Es scheint, dass FancyCache derzeit das einzige brauchbare Tool für den allgemeinen Gebrauch/Nicht-Oems ist. Ich kann Dinge falsch verstehen, aber ich würde denken, dass so etwas wie Readyboost auf einer SSD ihre Schreibzyklen ziemlich schnell durchbrennen würde. Für mich ist die Idee hier, nur einen Laufwerksbuchstaben für die Hauptfestplatte und die SSD zu haben, die am häufigsten verwendeten und im Allgemeinen statischen Dateien auf der SSD abzulegen und die weniger häufig verwendeten und häufig geänderten Dateien auf der Festplatte zu speichern. Dies würde den Leistungsvorteil einer SSD und die langfristige Rentabilität einer HDD bieten und es nicht erforderlich machen, dass der Benutzer versucht, den Speicherplatz auf der SSD mit dem der HDD abzugleichen. Die Notwendigkeit hierfür ist zumindest für mich so offensichtlich, dass ich über den Mangel an Lösungen für dieses Bedürfnis verblüfft bin.

0
Tumbleweed_Biff