fsckは30 TBのボリュームでどれくらいの時間がかかりますか?


17

11月中旬に、ホスティング会社からレンタルしているVPSが応答しなくなりました。サポートに連絡すると、データセンターの停電が原因で強制的な再起動とfsckが発生したと説明されました。最終的に、なぜそんなに時間がかかったのかと尋ねると、ボリュームのサイズは30 TBだと言われました。最後に更新を受け取ったのは2月で、最近の問い合わせには回答していません。

一部のファイルシステムではfsckが非常に遅くなる可能性があることを理解していますが、30 TBのボリュームでfsckが6か月かかることはありますか?月?


39
彼らはおそらく最初からあなたに嘘をついていたでしょう。それには何時間もかかると思います。12月に支払いを停止する必要があります。
マイケルハンプトン

15
嘘をついていなくても、FSCKを必要とする可能性のあるHW +ソフトウェアセットアップを選択すると、彼らは無能であることが長く示されます。理由が何であれ、彼らはあなたが支払っているサービスを提供していません。
ピーターコーデス

34
実際のクラスタfsckのように聞こえます!
JMK

2
@JMKさて、コメントにフラグを付けてメリットを追加する方法があればいいのにと思います。
パイプ

2
@PeterCordesが言うことは重要なポイントです。あなたはサービスにお金を払っています。彼らが問題を抱えていると聞いて本当に申し訳ありませんが、あなたはあなたがお金を払っていて得ていないサービスについて電話しています。
ロブモワール

回答:


31

fsck速度は主に、ファイルの数と、それぞれのディレクトリでのファイルの広がりに依存します。とfsckはいえ、aの6か月はまったくばかげています。特にxfs高速xfs_repairユーティリティを使用している場合は、せいぜい数時間で完了するはずです。ここでは、いくつかfsckの大規模な実行を見つけることができます-すべてが1時間(3600秒)以内に完了しました。したがって、fsckまだ実行されていることはできません。

とにかく、予想外の電力損失はフルブローを引き起こさfsck、むしろ非常に速い(数秒)ジャーナル再生のみを引き起こします。ただし、一部のキーファイルが破損していると、OSが起動できなくなる可能性があります。

しかし、彼らはおそらくあなたに嘘をついただけでしょう。すぐに支払いを停止し、説明を求め、全額払い戻しを申請してください。


8
彼らがを使用している場合ext2、電源障害にはフルが必要になりますfsck。30TBの使用量の多いボリュームで数日かかっても驚かないでしょう。一方、ext230TBボリュームで使用している場合、それ自体がホスティングサービスを探す理由となります。
マーク

14
ext2は32ビットブロックカウンターを使用し、x86およびx86_64での最大ブロックサイズは4096バイト(つまり、ページ)です。つまり、ext2(およびext3)は8TBボリュームに制限されるため、OPはext2 / 3を使用できません。とにかく、30 TBのボリュームでジャーナリングされていないファイルシステムを使用することは、まったく正気ではありません。
shodanshok

膨大な数の小さなファイルを含む30Tb FSを持っている場合、ext4 fsckは少し良くなると思います。それを作成するためのルナシー、それでも他の場所を見る理由。
nigel222

7

推測:システムは、BBU / FBWCなしのRAID(またはソフトウェアRAID)を使用し、すべての可能な書き込みキャッシュ(ハードドライブ自体にあるものを含む)を最も積極的な設定に設定して、最小限のコストで最大限のパフォーマンスを実現します。そのようなセットアップでの停電により、ジャーナルが信頼できず、リカバリに使用できない状態にジャーナリングファイルシステムが残る場合があります。問題は、そのようなシステムが書き込みを積極的に並べ替え、延期することです。つまり、データアクションが失われたり、結果として生じたデータアクションでジャーナルエントリが失われたりして、ジャーナルエントリを書き込むことができます。

このようなシステムを最悪の停止から回復するには、すべてのファイルシステム構造を実際に検査する「遅い」fsck / repairを実行する必要があります。複数の修復サイクルを実行する必要があることはありそうにありません。これに加えて、これを監視する担当者が常に利用できるとは限らないので、週に1つのfsckを簡単に実行できます。彼らはおそらくあきらめて忘れてしまった。


1

通常、メタデータのみがチェックされるため、エラーが発生した場合でも、ほとんどのファイルシステムでははるかに高速です。

最悪の場合、ディスク全体(たとえばfsck.ext4 -cc /dev/sda、ブロックごとに非破壊的な書き込みテストを実行するようなもの)を読み取る可能性があり、30 TBでは数日かかります。ドライブの速度がわかっている場合は、サイズ/速度を計算できます。約100 MB / sのコピーを備えた一般消費者のハードドライブの場合、ほとんどの人が予想するよりも数TBの時間がかかります。

サーバーである場合fsck、エラーを修正するかどうかを尋ねられたときに起動してハングするという問題が発生する可能性があります。ただし、データセンター管理者はfsck、すべてのVPSがオフラインになっている間、6か月間ハングアップすることはありません。

だから彼らはあなたに嘘をついているか、大きな誤解があります。または、彼らはしばらく前にfsckを実行していましたが、新しい問題については終了後に更新しませんでした。


4
fsckすべてのファイルシステム構造をトラバースします。これは、主にランダムI / Oの実行を意味します。したがって、シーケンシャル転送レートに基づく上記の計算はあまり有用ではありません。
shodanshok

実際、@ shodanshokは、答えで説明したように、一般的なドライブチェックではファイル構造は無関係です。
オーバーマインド

@shodanshok最悪の場合の想定は、非常に広範なfsckに基づいていました。たとえば、典型的なxfs fsckはあまり機能しません。ext2には長時間にわたる広範なチェックがあり、古いMS-DOSスキャンディスクでは、フルモードで実行するときに各ハードドライブブロックの読み取り/書き込みテストが行​​われました。したがって、ディスクのサイズには上限があります。
アロ

1
@Overmindそして、あなたの答えは、一般的なドライブチェックではなく、fsckに関する質問とは無関係です。
ブラックジャック

一般的なディスクスループットを指標として採用することは誤解を招く可能性があることに注意してください。配列を一度再同期したときに計算を行いましたが、これは(私の意見では)1日もかからず、2週間以上かかったはずです!シークは合計時間の主な要因の1つであり、厳密にシーケンシャルな操作を行っていると思われる場合でも、シークは1つではありません。fsckは厳密に非シーケンシャルなので、...通常のディスクスループットから操作の長さまで判断することはできません(それでも、はばかげています...それは明らかな嘘です)。
デイモン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.