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.
quelle
Antworten:
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 stammt von NVelo: Dataplex - Es verfügt über Lese-Caching und optionales Schreib-Caching. Leider ist es wie ExpressCache nur für OEMs verfügbar. Am günstigsten ist es, eine OCZ-SSD zu erwerben, 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 so, als würde man erwarten, dass Lese- und Schreibcaches auf der Blockebene ausgeführt werden. 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 nur IOPS auf Kosten der Schreibbeständigkeit optimieren möchten ( z. B. in Verbindung mit einer USV), ist eine Alternative möglicherweise SuperCache - Hier wird nur RAM verwendet, 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 recht gut, aber die Leistung hängt stark von Ihrer Arbeitsbelastung ab. In vielen Fällen mit schlechtem Zugang wird die Leistung nicht so gut sein, wie Sie es vielleicht erwarten. Ich weiß nicht, warum das so ist, aber für die meisten Workloads ist dies eine großartige Option.
Die beste Option (obwohl der Code noch nicht ganz "produktionsbereit" ist) ist bcache (weitere Informationen hier , obwohl einige davon veraltet sind) - Es hat die beste Leistung aller bisher getesteten SSD-Caches und im Gegensatz zu allen anderen Die genannten Optionen unterstützen 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 Haupt-Laptop 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 Schreiblast. Bei einer ausgeglicheneren Lese- / Schreiblast 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, sehr schnell, aber nicht sehr langlebig. Erwarten Sie daher, sie alle paar Monate zu ersetzen.
quelle
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 Lesen, 420 Schreiben) 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 ...
quelle
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) befinden sich in der Auslagerungsdatei, die sich wiederum auf der SSD befindet).
quelle
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. Also 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 fungiert (auf der sich meine VHD befindet). TaDa! Funktioniert und beschleunigt meine VMs sehr! :)
Ich hoffe, die endgültige Veröffentlichung wird erschwinglich sein $$$ ...
quelle
eBoostr ist eine Anwendung, die große Teile regelmäßig verwendeter Anwendungen zwischenspeichert, um Ihr System zu beschleunigen. Normalerweise sind USB-Laufwerke oder nicht verwendeter 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.
Lesen Sie mehr: http://www.eboostr.com/feature
quelle
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 die Sicherung 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 zwischen 800 und 900 US-Dollar liegen, einschließlich einer neuen Windows-Version.
quelle
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-Datenträger 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.
quelle
Laden Sie ExpressCache herunter
Haben Sie in Google nach ExpresCache gesucht ? Ich kann sehen, dass man es von herunterladen kann
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 ...
quelle
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 durchbrennt. 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 dafür ist zumindest für mich so offensichtlich, dass ich über den Mangel an Lösungen für dieses Bedürfnis verblüfft bin.
quelle
Nicht genannt ist hier VeloSSD. Ich kann dieser Software keinen guten Ruf verleihen, da sie meine Daten zu oft ruiniert hat, aber andere Benutzer haben gemeldet, dass sie einwandfrei funktioniert
quelle