UFS ロギングは、1 つの完全な UFS 操作を構成する複数のメタデータ変更を、1 つのトランザクションにまとめます。一連のトランザクションは、ディスク上のログに記録された後で、実際の UFS ファイルシステムのメタデータに適用されます。
システムはリブート時に、不完全なトランザクションを廃棄しますが、完結している操作のトランザクションは適用します。完結しているトランザクションだけが適用されるために、ファイルシステムの整合性が保たれます。通常であればシステムコールの実行が中断され、UFS ファイルシステムの整合性が確保できないシステムクラッシュ時にも、ファイルシステムの整合性が保たれます。
UFS ロギングには 2 つの長所があります。
トランザクションログによりファイルシステムの整合性がすでに保持されている場合、システムがクラッシュしたとき、またはクリーンでないシステム停止が発生したときに、fsck コマンドを実行する必要がないことがあります。クリーンでない停止については、「fsck コマンドでチェックして修復される内容」を参照してください。
Solaris 9 12/02 以降、UFS ロギングのパフォーマンスは、非ロギングファイルシステムのパフォーマンスレベルを上回るようになりました。このようにパフォーマンスが改善されるのは、ロギングを有効にしたファイルシステムでは、同じデータに対する複数回の更新が1 回の更新に変換されるため、オーバーヘッドの大きいディスク操作の実行回数が減るからです。
ログはファイルシステムの空きブロックから割り当てられ、1G バイトのファイルシステムごとに約 1M バイトのサイズ (合計で 64M バイトまで) が割り当てられます。ログは、いっぱいになるとフラッシュされます。また、ファイルシステムがマウント解除されたとき、あるいは lockfs コマンドを実行したときにも、ログがフラッシュされます。
UFS ロギングは、すべての UFS ファイルシステムでデフォルトで有効になります。
UFS ロギングを無効にする必要がある場合は、/etc/vfstab ファイル内のファイルシステムのエントリに nologging オプションを追加するか、ファイルシステムを手動でマウントするときに nologging オプションを指定します。
UFS ロギングを有効にする必要がある場合は、/etc/vfstab ファイル内で mount コマンドに -o logging オプションを指定するか、ファイルシステムを手動でマウントするときに mount コマンドに -o logging オプションを指定します。ログは、ルート (/) ファイルシステムを含む、任意の UFS ファイルシステムで有効にできます。また、fsdb コマンドには、UFS ロギングをサポートするための新しいデバッグコマンドが用意されています。
一部のオペレーティングシステムでは、ロギングが有効になっているファイルシステムを「ジャーナル」ファイルシステムと呼びます。