
Ich richte eine große Speicherfarm ein und um monatelange FSC-Durchläufe zu vermeiden, plane ich, den Speicher in zahlreiche kleinere Dateisysteme aufzuteilen (das ist in Ordnung, da ich einen gut unterteilten Dateibaum habe und daher problemlos separate Dateisysteme auf 1/
, 2/
, 3/
, 4/
, usw. mounten kann).
Meine Schwierigkeit besteht darin, eine Aufzählung zu finden, was eine „angemessene“ Größe für ein Dateisystem ist, um die fsck-Zeiten ähnlich „angemessen“ zu halten. Obwohl ich mir völlig bewusst bin, dass die absolute Zeit für eine bestimmte Größe weitgehend von der Hardware abhängt, kann ich anscheinend keine Beschreibung der Form der Kurve für ext3-fsck-Zeiten mit unterschiedlichen Dateisystemgrößen finden und was die anderen Variablen sind (dauert ein Dateisystem voller Dateien in einem einzigen Verzeichnis länger als eines mit 10 Dateien in jedem von Tausenden von Verzeichnissen in einem Baum; große Dateien vs. kleine Dateien; volles Dateisystem vs. leeres Dateisystem; und so weiter).
Hat jemand Referenzen zu gut recherchierten Zahlen zu diesem Thema? Andernfalls sollten alle Anekdoten zu diesen Themen zumindest als Leitfaden für meine eigenen Experimente dienen, falls dies erforderlich sein sollte.
BEARBEITEN: Zur Klarstellung: Unabhängig vom Dateisystem muss es überprüft werden, wenn etwas mit den Metadaten schief geht. Ob zeit- oder mountbasierte erneute Fscks aktiviert oder erforderlich sind, ist nicht das Thema, und der einzige Grund, warum ich speziell nach Zahlen zu ext3 frage, ist, dass dies das wahrscheinlichste Dateisystem ist, das ausgewählt wird. Wenn Sie ein Dateisystem kennen, das einen besonders schnellen Fsck-Prozess hat, bin ich offen für Vorschläge, aber es muss eine robuste Option sein (Behauptungen, dass „Dateisystem X niemals Fsck benötigt!“, werden ausgelacht und ausführlich verspottet). Ich bin mir auch der Notwendigkeit von Backups bewusst, und der Wunsch, Fsck durchzuführen, ist kein Ersatz für Backups, aber das Dateisystem einfach zu verwerfen und aus dem Backup wiederherzustellen, wenn es Störungen hat, anstatt es zu Fsck durchzuführen, scheint eine wirklich,Wirklichdummer Kompromiss.
Antwort1
Laut einerArtikel von Mathur et al.(S. 29), die e2fsck-Zeit wächst ab einem bestimmten Punkt linear mit der Anzahl der Inodes in einem Dateisystem. Wenn man sich an der Grafik orientiert, sind Sie mit Dateisystemen mit bis zu 10 Millionen Inodes effektiver.
Ein Wechsel zu ext4 würde helfen – unter der Voraussetzung, dass Ihr Dateisystem nicht bis zum Rand geladen ist, wo die Leistungssteigerung (durch das Nichtprüfen von als nicht verwendet markierten Inodes) keinen erkennbaren Effekt hat.
Antwort2
Ich denke, Sie müssen Ihr eigenes Benchmarking durchführen. Eine schnelle Suche bei Google hat nichts ergeben, außer dass ext4 viel schneller fscks als ext3.
Erstellen Sie also einige ext3-Partitionen, 100 GB, 200 GB usw., bis zu der von Ihnen verwendeten Festplattengröße. Füllen Sie sie dann mit Daten. Wenn Sie Daten verwenden können, die Ihren Produktionsdaten ähneln (Dateien pro Verzeichnis, Dateigrößenverteilung usw.), ist das am besten. Beachten Sie, dass durch einfaches Kopieren von Dateien von einer anderen Partition oder einem Sicherungsgerät diese perfekt angeordnet und defragmentiert auf der Festplatte abgelegt werden und Ihre Tests daher viele der Suchzeiten für den Festplattenkopf einsparen, die durch viele Schreib-/Änderungs-/Löschvorgänge entstehen.
Sie müssen auch über parallele fscks nachdenken. Sehen Sie sich die letzten Felder in /etc/fstab an. Partitionen auf derselben physischen Festplatte sollten nacheinander erstellt werden; mehrere Festplatten auf demselben Controller können parallel erstellt werden, achten Sie jedoch darauf, den Controller nicht zu überlasten und die Partitionen zu verlangsamen.
Antwort3
http://lmgtfy.com/?q=fsck+benchmark
es sieht so aus, als ob fsck auf ext4-Dateisystemen deutlich schneller ist als auf ext3. Einigen Berichten zufolge ist ext4-fsck 10-mal oder sogar noch schneller als ext3.
Zwei recht interessante Artikel aus dieser Suche sind:
http://thunk.org/tytso/blog/2008/08/08/fast-ext4-fsck-times/Undhttp://thunk.org/tytso/blog/2009/02/26/fast-ext4-fsck-times-revisited/
Antwort4
gibt es einen Grund, warum Sie kein Dateisystem verwenden können, das Ihnen beim Neustart keine zeit- oder mount-countbasierten fscks aufzwingt?
(Die zeitbasierten Fscks nerven mich wirklich – bei einem Server mit langer Betriebszeit ist damit praktisch garantiert, dass Sie bei jedem Upgrade des Kernels ein vollständiges Fsck durchführen müssen.)
wie auch immer, XFS ist eines der Journaling-Dateisysteme, die kein fsck erzwingen. einen Blick wert.