Ich habe einen Server mit 2 Festplatten (2x 1 TB), auf dem RAID 1 (SW-RAID) ausgeführt wird. Ich möchte die E / A-Leistung mithilfe von verbessern flashcache
. Es werden virtuelle KVM-Maschinen mit ausgeführt LVM
.
Dazu habe ich folgende Fragen:
- Funktioniert das überhaupt?
flashcache
Funktioniert für Blockgeräte. Dies sind jedoch alle virtuellen Maschinen mit einem eigenen Setup. - Wie viel würde ich erwarten, um die Leistung zu steigern? Auf den meisten virtuellen Maschinen werden Websites und einige Host-Spiele ausgeführt.
- Wie groß muss die SSD sein? Erhöht eine größere SSD die Leistung, da mehr Dateien zwischengespeichert werden können?
- Was passiert, wenn die SSD stirbt? Würde
flashcache
ich Dateien von der herkömmlichen Festplatte abrufen und könnte ich einfach die SSD ersetzen? - Wie viel schneller wäre
writeback
im Vergleich zuwritethrough
undwritearound
?
Ich habe leider keinen Zugriff auf ein Testsystem. Kann ich es also flashcache
auf einem Live-Server installieren, ohne die Festplatten abzuhängen? Ich habe hier ein großartiges Tutorial gefunden, das ich verwenden würde.
centos
kvm-virtualization
lvm
flashcache
Devator
quelle
quelle
Antworten:
Flashcache ist für diejenigen, die es noch nicht gesehen haben, eine Methode, um den Linux-Blockcache um ein SSD-Laufwerk zu erweitern. Es ist billiger als einen Server mit einer halben TB RAM nur zum Cachen zu betreiben.
Es sollte. Der Linux-Blockcache speichert die aufgerufenen Blöcke im Cache , nicht die Dateien . Solange Sie den KVM-Maschinen keinen direkten Zugriff auf die Block-Geräte gewähren (nicht), ist der Linux-Block-Cache aktiv. Wenn Sie jedoch sind KVM - Maschinen mit direktem Block-Gerät Zugriff auf die Antwort ist weniger klar.
Wenn Sie dateigesicherte virtuelle Festplatten verwenden, funktioniert dies auf jeden Fall.
Ich weiß nicht, ob Sie LV-gesicherte virtuelle Laufwerke verwenden.
Das können wir nicht beantworten. Es hängt von einer Vielzahl von Dingen ab. In der Zusammenfassung erhalten Sie die beste Leistung, wenn Sie Ihre SSD so dimensionieren, dass sie größer als die Anzahl der aktiven Blöcke ist. Wenn Sie ein perfektes Caching erzielen, ist Ihre Leistung vergleichbar mit der Leistung Ihres gesamten Systems auf SSDs. Was Sie effektiv tun werden.
Wir können Ihnen nicht helfen, die genaue Größe herauszufinden, die Sie benötigen. Mehr ist natürlich besser, aber das genaue Verhältnis zwischen Cache-SSD und Primärspeicher zu finden, ist keine einfache Sache.
Erschwerend kommt hinzu, dass Schreibvorgänge sofort gelöscht werden, z. B. bestimmte Dateisystemvorgänge und einige Datenbankkonfigurationen. Diese Schreibvorgänge werden nur kurz zwischengespeichert, und ihre Leistung wird durch das Vorhandensein oder Fehlen von Flashcache in keiner Weise beeinträchtigt.
Dasselbe passiert, wenn Sie Linux anweisen, Caches abzulegen, aber mit einem gewissen Kniff. Bei Drop-Caches werden alle nicht gelöschten Schreibvorgänge, die sich im Block-Cache befinden, auf die Festplatte geleert. Was passiert, wenn die SSD verschwindet, hängt vom Caching-Modus ab :
Durchschreiben : Alle Schreibvorgänge werden parallel in den Cache und in den Primärspeicher geschrieben, sodass die Wahrscheinlichkeit eines plötzlichen SSD-Verlusts, der Fehler auf den VMs verursacht, sehr gering ist.
Writearound : Alle Schreibvorgänge werden in den Primärspeicher geschrieben und nur beim Lesen zwischengespeichert. Keine Chance auf Fehler in den VMs.
Rückschreiben : Alle Schreibvorgänge werden zuerst in den Cache und im Hintergrund in den Primärspeicher geschrieben. Die wahrscheinlichste Ursache für Fehler in Ihren VMs ist ein Ausfall der SSD, und ich würde diesen Modus in der Produktion nicht verwenden.
Kommt darauf an, wie viel du schreibst. Wenn Ihre Schreibvorgänge Ihren primären Speicher regelmäßig überlasten, kann die Leistungssteigerung erheblich sein. Wenn Sie hauptsächlich mit etwas Schreiben lesen, werden Sie wahrscheinlich keine Verbesserungen bemerken.
Außerdem ist das Zurückschreiben eine schlechte Richtlinie für das, was Sie tun. Verwenden Sie sie daher nicht.
quelle
writeback
da es alles ohne eine BBU beschädigen könnte. Ich verwende kein SSD-Caching, sondern nur eine normale SSD. Danke noch einmal!Ja, es funktioniert einwandfrei, solange Sie die richtigen Blockgeräte verwenden. Und es gibt einen Trick.
Wenn LVM nach PVs sucht, sollte die Partition über die eigentliche Festplatte und über das "virtuelle" Flashcache-Gerät angezeigt werden.
Ein offensichtliches Symptom sollte sein, dass LVM-Tools sich über doppelte PVs beschweren.
Um diese Warnungen zu vermeiden und vor allem sicherzustellen, dass das Flashcache-Gerät von LVM2 verwendet wird, müssen Sie den Filter anpassen
/etc/lvm/lvm.conf
.Die
LVM.CONF(5)
Manpage wird es besser erklären als ich, aber ich werde Ihnen ein Beispiel geben, wenn alle physischen Volumes durch Flashcache gesichert sind:quelle
Es gibt auch eine Stufe des lessfs-Erstellers. Auf diese Weise können Sie Hybridgeräte zwischen SSD und HDD erstellen. Die Leistung von Tier scheint den Flashcache zu übertreffen.
http://www.lessfs.com/wordpress/
http://www.lessfs.com/wordpress/?p=776
//Christian
quelle
Einige Anwendungen öffnen Dateien ungepuffert.
http://man7.org/linux/man-pages/man2/open.2.html
Dies ist beispielsweise bei Datenbanken sehr häufig. Überprüfen Sie daher nochmals, ob der Flashcache mit diesen Anwendungen funktioniert.
quelle