Kurzversion zuerst : Ich suche nach Linux-kompatibler Software, die HDD-Schreibvorgänge mithilfe einer SSD transparent zwischenspeichern kann. Ich möchte die Festplatte jedoch nur ein- oder zweimal am Tag hochfahren (um die zwischengespeicherten Daten auf die Festplatte zu schreiben). In der restlichen Zeit sollte sich die Festplatte aufgrund von Rauschproblemen nicht drehen.
Jetzt die längere Version : Ich habe einen völlig leisen Computer mit Xubuntu gebaut. Es hat eine A10-6700T APU, einen riesigen lüfterlosen Kühler, ein lüfterloses Netzteil und eine SSD. Das Problem ist: Es hat (und braucht) auch eine laute Festplatte und ich möchte verbieten, sie während der Nacht hochzufahren. Alle Schreibvorgänge sollten auf der SSD zwischengespeichert werden. Nachts sind keine Lesevorgänge erforderlich.
Im Laufe des Tages lädt dieser Computer automatisch etwa 5 GB Daten herunter, die etwa ein Jahr lang aufbewahrt werden, was einer insgesamt benötigten Festplattenkapazität von etwas weniger als 2 TB entspricht. Diese Daten werden derzeit auf einem verrauschten 3-TB-Festplattenlaufwerk gespeichert, das sich Tag und Nacht dreht. Manchmal muss ich auf einige Daten von vor einigen Monaten zugreifen. Meistens benötige ich jedoch nur Daten der letzten 14 Tage, die auf die SSD passen. Idealerweise möchte ich eine transparente Lösung (alle Daten in einem Dateisystem), die alle Schreibvorgänge auf der SSD zwischenspeichert und nur einmal am Tag auf die Festplatte schreibt. Lesevorgänge würden vom Cache bereitgestellt, wenn sie sich noch auf der SSD befänden, andernfalls müsste die Festplatte hochgefahren werden.
Ich habe bcache ohne großen Erfolg ausprobiert (mit cache_mode = writeback, writeback_running = 0, writeback_delay = 86400, sequential_cutoff = 0, congested_write_threshold_us = 0 - fehlt etwas?) Und ich habe über ZFS ZIL / L2ARC gelesen , bin mir aber nicht sicher, ob ich es erreichen kann mein Ziel mit ZFS. Irgendwelche Hinweise?
Wenn alles andere fehlschlägt, verwende ich einfach einige Skripte, um Dateien automatisch auf das große Laufwerk zu kopieren und gleichzeitig die ältesten Dateien von der SSD zu löschen.
Bearbeiten : Cache ist wirklich der falsche Begriff für das, was ich wollte. Es scheint, dass die ursprünglich beabsichtigte Lösung für mich derzeit nicht möglich ist. Vielen Dank an alle, die dazu beigetragen haben!
Antworten:
Das ist nicht wirklich, wie oder warum das Caching funktioniert - das Caching soll die schnellere Geschwindigkeit und den besseren Direktzugriff auf die SSD oder einen anderen Speicher nutzen, anstatt die Schreibvorgänge auf die Festplatte zu minimieren. Das Caching wurde entwickelt, um die Geschwindigkeit zu maximieren und nicht das Schreiben zu reduzieren, indem ein kleinerer, schnellerer Puffer ein großes, langsames Speichergerät unterstützt.
Tatsächlich leitet bcache, das Teil des Mainline-Linux-Kernels ist, einfach sequentielle Schreibvorgänge an die Festplatte weiter, anstatt sie über die SSD weiterzuleiten, da es keinen Leistungsvorteil gibt.
ZIL / L2Arc verwendet die SSD zum Speichern von Protokollen (im Fall von ZIL) und häufig verwendeten Dateiclustern (mit L2Arc). ZIL beschleunigt synchrone Schreibvorgänge, indem es sie speichert, bis sie alle zum Schreiben bereit sind. L2Arc speichert Dateien, auf die häufig zugegriffen wird, schneller. Keiner von beiden lässt Sie tun, was Sie brauchen.
Fusion Laufwerk auch verwendet eine SSD und eine HDD transparent häufig verwendete Dateien auf der SSD für schneller liest, und HDDs für Massenspeicher von weniger häufig verwendeten Dateien setzen. Außerdem können Sie die SSD nicht als Arbeitsbereich verwenden und von Zeit zu Zeit Dateien auf dem Hauptlaufwerk sichern
Was Sie sehen, ist überhaupt kein Caching, sondern regelmäßige Sicherungen des Systems auf der Festplatte. Ich vermute, Sie könnten in der Lage sein, etwas zusammen mit Aufs zu fummeln - dem ersten Zweig auf der Festplatte mit größeren Dateien (es ist also wichtig) und einem Zweig auf der SSD - und dann ein Skript auszuführen, das Dateien von der SSD auf die SSD verschiebt Festplatte in regelmäßigen Abständen, während Sie vom selben Standort aus darauf zugreifen können. Ich habe dies noch nicht getestet, aber im Gegensatz zum Caching ist das regelmäßige Verschieben von Dateien und die Verwendung von aufs wahrscheinlich genau das, was Sie wollen.
Der einfachste Weg, Dateien nach Alter zu sortieren, ist ls -tr - t nach Zeit sortieren (neueste bis älteste) und r kehrt die Reihenfolge um. (Wenn Sie einen bestimmten Bereich im Auge haben,
find . -mtime n
funktioniert n hervorragend, da eine bestimmte Anzahl Dateien enthält, die vor n Tagen geändert wurden, -n gibt Ihnen Dateien an, die in den letzten n Tagen geändert wurden, und + n gibt Ihnen Dateien an, die vor n Tagen geändert wurden.) Sie können einige Ideen finden , wie es zu benutzen hierDa Ruhe Ihr eigentliches Ziel ist, können Sie überprüfen, ob Ihr Laufwerk den unbeaufsichtigten Modus mit unterstützt.
hdparm -M /dev/sda
Dies sollte etwa Folgendes ausgebenacoustic = 254 (128=quiet ... 254=fast)
. In diesem Fall können Sie Ihre Festplatte mit dem Befehl leiser machenhdparm -M 128 /dev/sda
. Führen Sie den entgegengesetzten Befehl aus,hdparm -M 1254 /dev/sda
wenn Sie mehr Geschwindigkeit benötigen.quelle
Da die anderen Antworten das Problem aus der Sicht der Software behandelt haben, dachte ich, einige Informationen über Hardwarelösungen aufzunehmen.
Der Artikel Sound Proof your Hard Drive listet die folgenden Optionen auf:
Ich kann aus eigener Erfahrung bezeugen, dass ich meine neue 4-TB-Festplatte selbst beim Kopieren sehr großer Dateien nie hören kann.
Mit etwas Forschung kann man auch akustische Dämpfungsmaterialien für Festplatten finden, wie das SilentDrive HD Enclosure & Acoustic Materials oder das NoiseMagic NoVibes III Silent Hard Drive-Montagesystem . Ich weiß nicht, wo diese verkauft werden, und die Gummibänder oben scheinen mir fast genauso effizient zu sein.
Man kann auch den gesamten Computer schallisolieren. Einige Beispielwebsites, die Schallschutzmaterialien verkaufen, sind Quiet PC USA , AcousticPC oder Dynamat , aber es gibt viele solcher.
Einige Computergehäuse sind bereits für den geräuschlosen Betrieb ausgelegt. Siehe zum Beispiel
sechs geräuscharme, leistungsorientierte Fälle, getestet .
Als letzte Bemerkung kann eine laute Festplatte, die klirrt, klickt oder kreischt, ein Zeichen dafür sein, dass Ihre Festplatte ausfällt. Seien Sie also vorsichtig.
quelle
Einige Varianten von Puppy Linux basieren auf Ubuntu, verwenden jedoch Aufs .
Puppy läuft komplett aus dem RAM, im normalen Betrieb gibt es keine Festplattenzugriffe.
Wenn Sie Puppy mitteilen, dass es sich bei Ihrer Festplatte um ein Flash-Laufwerk handelt, wird das RAM-Dateisystem regelmäßig und nicht kontinuierlich auf der Festplatte gespeichert. Dies wurde entwickelt, um den Verschleiß häufiger Schreibvorgänge auf Flash-Laufwerken zu verringern, funktioniert aber auch auf Festplatten.
Wie bei fast allem in Puppy können Sie über eine GUI festlegen, wie oft das RAM-Dateisystem gespeichert werden soll. Normalerweise ist dies etwa alle 10 Minuten, aber nichts hindert Sie daran, die Einstellung beispielsweise alle 720 Minuten (12 Stunden) festzulegen.
Dieser Auszug aus meiner Grub4DOS-Bootloader-
menu.lst
Datei zeigt die Einstellung für diepmedia
Kernel-Option, die besagt, dass Flashdrive anstelle einer Festplatte verwendet wird ...Ein Hinweis zu "Variationen" von Puppy Linux ...
Ich verwende Puppy Linux 5.2.8 "Lupu", das auf Ubuntu 10.04 Lucid Lynx basiert. Diese Version wird aufgrund ihrer Herkunft auch oft als "Lucid" anstelle von "Lupu" bezeichnet. Es gibt auch Versionen, die auf Slackware und einigen anderen Distributionen basieren. Da Sie bereits Xubuntu verwenden, ist Puppy Linux Lupu am bekanntesten. Es wäre auch viel schneller. Ich habe Xubuntu ungefähr ein Jahr lang benutzt, bevor ich Puppy gefunden habe.
Es gibt auch eine viel neuere Version, die auf "Ubuntu Precise Pangolin" basiert und "Puppy Linux Precise" heißt. Es gibt wichtige Änderungen am Kernel, die in der neueren Version verwendet werden und mit älterer Hardware möglicherweise nicht gut funktionieren. Wenn Ihre Maschine weniger als 5 Jahre alt ist, sind Sie möglicherweise mit Precise zufriedener. Ich glaube, dass die oben beschriebene Technik weiterhin mit Precise funktioniert, obwohl die genauen Optionen usw. unterschiedlich sein können, ich sie jedoch nicht testen kann.
quelle
Kurze Lösung und schnell implementierbar (aber nicht genau das, was Sie wollen) ist: Übertragen Sie die Speicherplatte an eine andere Stelle. Es kann sich um einen Netowrk-Dateiserver-Chassi (wie die WD World Edition) oder eine USB3-Festplatte handeln, die Sie im selben Raum wie der leise PC oder in einem anderen Raum haben können, um ein vollständiges Anhören zu vermeiden.
Dies ist meiner Meinung nach besser, da Sie das Laufwerk sicherlich nur verwenden, wenn Sie Daten über das Netzwerk übertragen möchten. Das Betriebssystem führt möglicherweise andere Aufräum- oder Dateisystembaum-Neuausrichtungen durch, die Sie nicht vermeiden können und die Sie stören würden . Ein anderes Zimmer ist also ein großes Plus.
Das Caching sollte einfach genug sein - sichern Sie einfach die Daten des Tages auf der externen Festplatte, was Sie mit Lösungen wie
rsync
oder erreichen könnenunison
.Die längere Lösung ist wiederum nicht ideal (dh keine einzelne Anwendung), aber Sie erhalten das Laufwerk in derselben Box wie die SSD und erzielen höhere Geschwindigkeiten (aber benötigen Sie wirklich eine höhere Geschwindigkeit als das Netzwerk für nur 5 GB / Tag?):
Sie können
smartctl
die Durchlaufzeit Ihres Laufwerks festlegen und dieses Laufwerk in einem nicht gemounteten Zustand halten, um zu vermeiden, dass das Betriebssystem Dinge auf dem Laufwerk ausführt. Dann schreiben Sie einfach ein Skriptmount
und sichern (wie oben) die Daten, die Sie benötigen.quelle
Sie werden meine Antwort nicht mögen, aber Sie missbrauchen tatsächlich den Begriff Cache. Sie beschreiben tatsächlich eine Sicherungslösung. Schauen Sie sich rsync an oder suchen Sie weiter nach anderen Sicherungslösungen, wenn Sie etwas vollständigeres wünschen.
quelle