Ich erstelle ein NAS und habe viel über die verschiedenen SSD-Caches recherchiert. Ich habe eine 120-GB-SSD, die für das Betriebssystem mehr als ausreichend ist, daher möchte ich den Großteil davon als Cache für das MD-RAID5-Array verwenden. Bevor ich mich für dieses Setup entscheide, möchte ich wissen, was passiert, wenn der SSD-Cache ausfällt. Ich möchte kein zusätzliches Geld ausgeben, um den SSD-Cache zu spiegeln.
Ich habe auch einige alte 30 GB Ocz Vertex (von einer RMA vor langer Zeit, aber nie wiederverwendet), die ein Stück Schrott sind, aber als Cache verwendet werden könnten, wenn BCache mit ausfallenden SSD-Caches einverstanden ist.
Wenn bcache dazu nicht in der Lage ist, gibt es andere SSD-Cache-Optionen, die in Ordnung wären? Ich habe gelesen, dass ZFS mit ausgefallenen Cache-Laufwerken klarkommt und nur mit den Laufwerken normal weiterläuft, aber es scheint nicht persistent zu sein und raidz ist nicht so flexibel wie md raid (Ändern von Raid-Typen und Erweitern des Raids). Ich schätze, ich könnte ZFS auf md raid verwenden, aber das scheint überflüssig zu sein und ich habe in der Vergangenheit viele Jahre lang gute Erfahrungen mit der Verwendung von XFS/md raid-Setups gemacht (gute Leistung und keine Probleme bei unzähligen Stromausfällen).
tl;dr Ich baue ein NAS, möchte SSD-Cache verwenden, mache mir Sorgen über die Auswirkungen eines SSD-Fehlers
Antwort1
Entsprechendkernel.orgs-Dokumentationund meiner Recherche nach wird standardmäßig nur der Bcache als Lesecache verwendet. Das Schreiben wird also nicht schneller, da immer auf die langsameren Magnetplatten geschrieben wird.
Da also nur eine Kopie der häufig gelesenen Daten vorhanden ist, gehen keine Daten verloren, wenn Sie die SSD entfernen.
Wenn Sie das Rückschreiben aktivieren:
echo writeback > /sys/block/bcache0/cache_mode
Sie verlieren Daten, wenn die SSD ausfällt, da die Daten zuerst auf die schnelle SSD geschrieben und dann auf die Festplatten verschoben werden.
Wie immer gilt: Wenn Ihnen die Daten wichtig sind, ist eine Datensicherung notwendig.