ジャーナルとは何ですか?


8

私は自分のコンピューターを完全にシャットダウンしました。次の起動時に、起動時に数秒間メッセージが表示されましたrecovering journal。4つのスタートアップの後、メッセージはそこにありませんでした-初めてだけ。結果や副作用はないようです。この質問のおかげで、なぜそれが起こったのかはわかっていますが、インターネット上のどこにもジャーナルが何であるかを述べていません。何の問題もありません、私はそれが何であるかに興味があります。

回答:


5

最近のファイルシステムの多くは、NTFS、Ext3 / 4、XFS、HFS +などのジャーナルを採用しています。ジャーナルは、ファイルシステムの破損を回避し、停電やシステムクラッシュなどの障害が発生した後の回復を高速化するという2つの点で役立ちます。ファイルシステムには、データとメタデータという2つの主要なコンポーネントがあります。データはファイル、画像、ビデオ、ドキュメントのコンテンツであり、最終的にはファイルシステムに価値を与えるものです。メタデータは、ファイルの命名方法、ディレクトリへの格納方法、アクセス許可、ファイルの変更時間、使用中のディスクの記録領域、または他のファイルが大きくなるにつれて割り当てられる空き領域など、ファイルシステムの構造を説明するものです作成されます。システムクラッシュが原因でメタデータが破損した場合、データがさらに失われたり破損したりする可能性があります。例えば、ディスクの一部がファイルへの割り当て用に選択されている可能性がありますが、クラッシュ前に正しく記録されていない場合、ファイルのデータブロックのリストに追加されますが、それでも空きデータブロックのリストにあり、2番目のファイルに割り当てられます。後で。現在、同じデータブロック/コンテンツを共有している2つのファイルがあります。

ジャーナルは、ファイルシステムへの変更を記録するために予約されたディスク上の場所です。最初にディスク上の単一の場所にあるジャーナルに書き込まれた変更内容の正確な詳細。その後、ジャーナルが更新された後、変更はディスク上の適切な場所に適用され、いくつかの書き込みが必要になる場合があります。更新が完了すると、仕訳は完了とマークされます。クラッシュ後、システムはジャーナルを調べて不完全なエントリを探し、ファイルシステムを修正するためにそれらを完了する必要があります。これにより、リカバリが高速化され、変更が完全に行われるか、まったく行われないことが保証されます。増加するファイルにブロックが割り当てられている場合、そのブロックはファイルのブロックリストに追加され、使用中とマークされます。

また、ジャーナリングをサポートするファイルシステムでは、ほとんどの場合、構造自体を保持するのはメタデータジャーナリングのみであり、データ自体は保持しません。完全なデータジャーナリングは通常非常に高価で低速ですが、メタデータほど重要ではありません。必要に応じてデータを有効にすることもできます。

また、これを完了するために、FAT32、exFAT、Ext2、UDFなど、現在ジャーナリングを提供していないファイルシステムがいくつかあります。更新中にクラッシュが発生した場合は、ファイルシステムのフルスキャンを実行して、エラーや破損を追跡する必要があります。


8

誰かがジャーナルを知っていますか?

現代のファイルシステムの一部は「ジャーナリング」と呼ばれる機能です。ファイルシステムとして「ext4」を使用します。(ext3、ext2は古いバージョンです。NTFSはMicrosoftの同等バージョンです。)

ジャーナリングファイルシステムは、通常は循環ログである「ジャーナル」と呼ばれるデータ構造にそのような変更の意図を記録することにより、ファイルシステムの主要部分にまだコミットされていない変更を追跡するファイルシステムです。システムクラッシュまたは電源障害が発生した場合、そのようなファイルシステムは、破損する可能性を低くして、より迅速にオンラインに戻すことができます。

出典:ウィキペディア-ジャーナリングファイルシステム、引用:IBM-Linuxジャーナリングファイルシステムの構造

基本的にメッセージは、システムがファイルシステムのこの部分で整合性チェックを行ったことを意味します。これはシステムによって強制されるため、通常は心配する必要はありません。電源が遮断されると、ジャーナルが損傷する可能性があり、ハードディスクが実際に破壊されない限り、このチェック中に修復される傾向があります。


1
ジャーナリングはファイルシステムの整合性を保護するために使用されますが、必ずしもファイル(それらのコンテンツ)の整合性を保護するために使用されているとは言えませんか?
ラルフ、

2
@Ralf:のみに依存してどのようなジャーナル処理されています。たとえば、JFFS2はすべての書き込みをジャーナル処理するため、すべてのデータの整合性を保護します。AppleのHFS +はファイルシステムメタデータのみをジャーナルするため、ファイルシステムメタデータのみが保護され、ファイルデータは保護されません。Ext4は構成可能です。ジャーナルには、すべて、何も、またはファイルシステムのメタデータのみをジャーナルできます。デフォルトの設定はジャーナルですが、ファイルシステムのメタデータのみです。その場合、ファイルシステムメタデータのみが保護され、ファイルデータは保護されません。この選択をする主な理由は、ジャーナリングが2回書くことを意味するためです。
イェルクWミッターク

2
もう1つの極端な例は、いわゆるログ構造化ファイルシステムで、ジャーナルしかありませ。つまり、ジャーナルに追加するだけで、通常のデータ領域はありません。こうすることで、ジャーナリングファイルシステムの「二重書き込み」を回避できますが、削除がジャーナルに追加されるだけなので、ファイルシステムが縮小されないという問題があります。そのため、冗長なジャーナルエントリを削除し、ジャーナルを再度圧縮するための一種の「ガベージコレクター」が必要です。(一部のFSはこれを「バキューム」と呼んでいます。)
JörgW Mittag

1
@JörgWMittagありがとうございます。FSのジャーナリングは、一般的にはデータを失うことができないという意味ではないことを理解することが重要だと思います。
ラルフ

1
@Ralf:はい、ジャーナリングはデータの損失からではなく、データの破損からのみ保護します。これは、操作が完全に成功するかまったく発生しないことを保証するだけであり、操作が常に成功することを保証するものではありません。また、ジャーナリングは、ジャーナリングされたもののみを保護します。これは、最も一般的な実装ではFSメタデータのみです。
イェルクWミッターク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.