web-dev-qa-db-ja.com

ジャーナルのデータはいつディスクに書き込まれますか?

(1)は、「ジャーナルでは、ファイルは最初にジャーナルに書き込まれ、パンチインされ、次にジャーナルは準備ができたらファイルをディスクに書き込みます。ディスクへの書き込みが正常に完了すると、ジャーナルから削除されます。パンチアウトして、操作は完了です。」

したがって、ファイルを作成すると、そのファイルはジャーナルに書き込まれ、後でディスクに書き込まれます。 1MBのファイルを作成すると、実際には2MBのデータがディスクに書き込まれ、1 MBがジ​​ャーナルに書き込まれ、別のデータが後でディスクに書き込まれます。これにより、実際にはディスクの寿命が短くなる可能性があります。私の質問は、ジャーナルのデータがいつディスクに転送されるのかということです。すぐに実行されない場合、ディスク内のデータの後続の読み取りはできません。また、データがジャーナルまたはディスクに書き込まれるときに、ユーザーへの書き込みは完了していますか?

また、ジャーナリングのために、一部のファイルシステムでの最適化が少ないという言及があります。ディスクの最適化はジャーナルとどのように関連していますか?

(1) http://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose/

7
Praveen Sripati

ジャーナルのデータはいつディスクに転送されますか?

使用中のファイルシステムと物理ストレージデバイスの2つの主なものに依存します。 [〜#〜] xfs [〜#〜] 使用 書き込みバリアEXT 使用 有効な場合は書き込みバリアEXT4 には デフォルトでバリアがオン があります。従来のHDDは キャッシュ を使用します。 ソリッドステートドライブキャッシュ がある場合とない場合があります。最終的には、オペレーティングシステム、ファイルシステム、および基盤となるハードウェアアーキテクチャと仕様の組み合わせによって、データがストレージデバイスに永続化されるタイミングが決まります。

データがジャーナルまたはディスクに書き込まれるときに、ユーザーへの書き込みは完了していますか?

これは、使用しているアプリケーションとオペレーティングシステムによっても異なります。 Linuxには fsync システムコールがあり、アプリケーションとファイルシステムがキャッシュされたデータを物理デバイスにフラッシュするために使用します。すべてのアプリケーションがfsyncを使用してキャッシュされたデータをストレージに明示的にフラッシュするわけではありません。いつでも sync コマンドを発行して、ファイルシステムバッファを手動でフラッシュできます。

ディスクの最適化はジャーナルとどのように関連していますか?

ディスクの断片化は パフォーマンス に影響します。特に、ブロックが連続していない大きなファイルを処理する場合はそうです。 断片化の軽減 にはさまざまな手法があります。たとえば、XFSおよびその他のファイルシステムは、断片化を最小限に抑えるために allocate-on-flush 手法を使用します。

1
Dan Cruz

ジャーナリングに関する情報へのより良いリンクは次のとおりです。

ジャーナリングファイルシステム
Linuxジャーナリングファイルシステムの構造

後者では、3つのジャーナリング戦略(ライトバック、順序付け、およびデータ)について説明します。通常、orderedがデフォルトです。

順序付きモードはメタデータジャーナリングのみですが、メタデータをジャーナリングする前にデータを書き込みます。このようにして、データとファイルシステムはリカバリ後に一貫性が保証されます。

したがって、ジャーナリング戦略をデータモード(ジャーナルモードとも呼ばれます)に設定していない限り、メタデータとデータの両方がジャーナリングされます。ディスクは、ジャーナリングされているという事実にそれほど悩まされることはありません。

ジャーナル自体はディスクの固定領域に割り当てられるため、断片化に追加されません。一部のファイルシステムバリアントでは、ファイルシステムが拡大および縮小するため、断片化が発生する可能性があります。

ジャーナリングファイルシステムでは、fsckは通常、ジャーナルを自動的に実行し、ファイルシステムがクリーンな場合は、ファイルシステム全体のチェックをスキップします。

3
harrymc

ディスクの寿命がアクティビティレベルと相関しているという証拠はありません。未使用ですが回転しているディスクは、頻繁に使用されるディスクとほぼ同じ長さになる傾向があります。

いずれにせよ、実際のファイルデータは通常ジャーナルされません。それは必要はありません。通常、ファイルシステムの整合性を維持するために必要なメタデータのみがジャーナル処理されます。

0
David Schwartz