Wie lange kann fsck auf einem 30 TB-Volume dauern?

17

Mitte November reagierte ein VPS, den ich von einem Hosting-Unternehmen miete, nicht mehr. Als ich den Support kontaktierte, erklärten sie, dass ein Stromausfall im Rechenzentrum einen erzwungenen Neustart und fsck verursachte. Schließlich fragte ich, warum es so lange gedauert habe, und mir wurde gesagt, dass die Größe des Volumes 30 TB beträgt. Das letzte Mal, dass ich ein Update erhalten habe, war im Februar, und sie haben nicht auf meine letzte Anfrage geantwortet.

Ich verstehe, dass fsck für einige Dateisysteme sehr langsam sein kann, aber es ist möglich, dass fsck bei einem Volumen von 30 TB 6 Monate in Anspruch nimmt, oder sollte ich davon ausgehen, dass diese Hosting-Firma mich anlügt, damit ich weiterhin alle meine Rechnungen bezahle Monat?

Brian Bi
quelle
39
Sie haben Sie wahrscheinlich von Anfang an angelogen. Ich würde davon ausgehen, dass das Stunden dauern wird . Sie hätten im Dezember aufhören sollen zu zahlen.
Michael Hampton
15
Selbst wenn sie nicht lügen, sollten Sie sich für ein HW + -Software-Setup entscheiden, für das ein FSCK erforderlich sein könnte, das lange Zeit anzeigt, dass sie inkompetent sind. Und was auch immer der Grund sein mag, sie bieten nicht den Service an, für den Sie bezahlen.
Peter Cordes
34
Klingt nach einem echten Cluster-Fsck!
JMK
2
@JMK Ich wünschte, es gäbe eine Möglichkeit, Kommentare als besonders wertvoll zu kennzeichnen und sie möglicherweise zu einer Ruhmeshalle hinzuzufügen.
Rohr
2
Was @PeterCordes sagt, ist der entscheidende Punkt. Sie bezahlen für eine Dienstleistung. Es tut Ihnen wirklich leid zu hören, dass sie Probleme haben, aber Sie rufen wegen der Dienstleistung an, für die Sie bezahlen und die Sie nicht erhalten.
Rob Moir

Antworten:

31

fsckDie Geschwindigkeit hängt hauptsächlich von der Anzahl der Dateien und ihrer Verteilung im jeweiligen Verzeichnis ab. Das heißt, 6 Monate für eine fsckist absolut absurd: Es sollte in einigen Stunden höchstens abgeschlossen sein, vor allem, wenn mit, xfsdie das schnelle xfs_repairDienstprogramm hat. Hier finden Sie einige fsckRuns in einer Skala - alle unter einer Stunde (3600s) abgeschlossen. Es ist also nicht möglich, dass Ihr fscknoch läuft.

Auf jeden Fall führt ein unerwarteter Stromausfall nicht zu einer vollständigen Aufzeichnung fsck, sondern nur zu einer sehr schnellen (einige Sekunden dauernden ) Journalwiederholung . Wenn jedoch einige Schlüsseldateien beschädigt wurden, kann das Betriebssystem möglicherweise nicht mehr gestartet werden.

Aber sie haben dich wahrscheinlich nur angelogen. Sie sollten sofort aufhören zu zahlen, eine Erklärung anfordern und eine vollständige Rückerstattung beantragen.

Shodanshok
quelle
8
Wenn sie verwendet werden ext2, ist ein vollständiger Stromausfall erforderlich fsck, und ich wäre nicht überrascht, wenn es bei einem stark genutzten 30-TB-Volume Tage dauern würde. Auf der anderen Seite ist dies ext2für sich genommen ein Grund, nach Hosting-Diensten zu suchen , wenn sie auf einem 30-TB-Volume arbeiten.
Mark
14
ext2 verwendet einen 32-Bit-Blockzähler mit einer maximalen Blockgröße von 4096 Byte (dh: eine Seite) auf x86 und x86_64. Dies bedeutet, dass ext2 (und ext3) auf 8 TB Volumes beschränkt sind. Nein, das OP kann ext2 / 3 nicht verwenden. Jedenfalls wäre die Verwendung eines nicht aufgezeichneten Dateisystems auf einem 30-TB-Volume absolut verrückt .
Shodanshok
Ich denke, ext4 fsck könnte etwas besser sein, wenn man einen 30 TB FS hat, der eine große Anzahl winziger Dateien enthält. Wahnsinn, das zu schaffen, also immer noch ein Grund, woanders hinzuschauen.
Nigel222
7

Vermutung: Ihr System verwendet ein BBU / FBWC-freies RAID (oder sogar ein Software-RAID), bei dem alle möglichen Schreibcaches (einschließlich dieser auf den Festplatten selbst) auf ihre aggressivsten Einstellungen eingestellt sind, um maximale Leistung bei minimalen Kosten zu erzielen. Ein schwerer Stromausfall in einem solchen Setup kann ein Journal-Dateisystem in einem Zustand belassen, in dem das Journal nicht vertrauenswürdig ist und nicht für die Wiederherstellung verwendet werden kann. Das Problem ist, dass ein solches System Schreibvorgänge aggressiv neu anordnet und verschiebt, was bedeutet, dass ein Journaleintrag mit dem Effekt geschrieben werden kann, dass die Datenaktion verloren geht ... oder dass der Journaleintrag für eine Datenaktion verloren geht, die die Folge war.

Das Wiederherstellen eines solchen Systems nach einem Worst-Case-Ausfall kann bedeuten, dass Sie eine "langsame" fsck / repair-Operation ausführen müssen, bei der alle Dateisystemstrukturen wie sie sind untersucht werden, was in der Tat ein oder zwei Tage für 30 TB dauern kann Es ist nicht unwahrscheinlich, dass Sie mehrere Reparaturzyklen ausführen müssen. Hinzu kommt, dass das Personal möglicherweise nicht immer zur Verfügung steht, um dies zu überwachen. Es kann leicht sein, dass pro Woche nur eine einzige Überprüfung durchgeführt wird. Sie gaben wahrscheinlich auf und vergaßen.

Rackandboneman
quelle
1

Bei den meisten Dateisystemen ist es auch bei Fehlern viel schneller, da normalerweise nur die Metadaten überprüft werden.

Im schlimmsten Fall kann es sein, dass die gesamte Festplatte gelesen wird ( z. B. so etwas wie fsck.ext4 -cc /dev/sdaein zerstörungsfreier Schreibtest für jeden Block), was für 30 TB einige Tage dauern kann. Wenn Sie die Geschwindigkeit der Laufwerke kennen, können Sie Größe / Geschwindigkeit berechnen . Für eine Consumer-Festplatte mit etwa 100 MB / s kann das Kopieren einiger TB mehr Stunden dauern, als die meisten Leute erwarten würden.

Wenn es Ihr Server wäre, könnten Sie das Problem haben, dass er startet und dann hängt fsck, wenn Sie gefragt werden, ob Sie einen Fehler beheben möchten. Der Administrator des Rechenzentrums bleibt jedoch fsck6 Monate lang nicht hängen, während alle VPS offline sind.

Sie belügen dich also entweder, oder es gibt ein großes Missverständnis. Oder sie liefen vor einiger Zeit mit fsck und haben Sie nicht über das neue Problem informiert, nachdem es beendet war.

allo
quelle
4
fsckDurchläuft alle Dateisystemstrukturen, was meistens das Ausführen von zufälligen I / O-Operationen bedeutet. Die obige Berechnung, basierend auf der sequentiellen Übertragungsrate, ist daher nicht sehr nützlich.
Shodanshok
@shodanshok Die Dateistruktur ist in der Tat bei einer allgemeinen Laufwerksprüfung irrelevant, wie ich gerade in meiner Antwort erklärt habe.
Überlegen Sie
@shodanshok Meine Worst-Case-Annahme basierte auf einem sehr umfangreichen Fsck. Zum Beispiel macht das typische xfs fsck nicht viel. ext2 hat eine ausführliche Langzeitüberprüfung und alte MS-DOS-Scandisk hatte einen Lese- / Schreibtest auf jedem Festplattenblock, wenn sie im Vollmodus ausgeführt wurde. Sie haben also eine Obergrenze bei der Größe der Festplatte.
Allo
1
@Overmind Und deine Antwort ist irrelevant für die Frage, bei der es um fsck und nicht um eine allgemeine Laufwerksprüfung geht.
Blackjack
Bitte beachten Sie, dass der typische Datenträgerdurchsatz als Indikator irreführend sein kann. Ich habe nachgerechnet, wann ein Array erneut synchronisiert wurde, was (meiner Meinung nach) weniger als einen Tag hätte dauern sollen, und es dauerte über zwei Wochen! Suchen sind der dominierende Faktor für die Gesamtzeit, und selbst wenn Sie glauben, dass Sie eine streng sequentielle Operation ausführen, ist dies manchmal nicht der Fall. Jetzt ist fsck streng nicht sequentiell, so dass Sie anhand des normalen Datenträgerdurchsatzes auf keinen Fall die Länge der Operation beurteilen können ( Monate sind lächerlich, es ist eine offensichtliche Lüge).
Damon