1.4.3. GFS2 のパフォーマンス向上
ユーザーインターフェースからは GFS ファイルシステムとの違いが見えませんが、GFS2 ファイルシステムにはファイルシステムのパフォーマンスを向上させる数多くの機能が搭載されています。
GFS2 ファイルシステムでは、ファイルシステムのパフォーマンスが以下のように向上しました。
- 単一のディレクトリーにおける頻繁な使用でのパフォーマンス向上
- 同期 I/O 操作の高速化
- キャッシュ読み込みの高速化(オーバーヘッドのロックなし)
- 事前に割り当てされたファイルの使用による、ダイレクト I/O の高速化 (4M など I/O サイズがある程度大きいことが前提)
- I/O 操作の全般的な高速化
- より迅速な
statfs
コールによるdf
コマンド実行の高速化 atime
モードの改善により、atime
によって生成される書き込み I/O 操作回数を GFS よりも低減
GFS2 ファイルシステムはより幅広く、より多くの機能に対応します。
- GFS2 はアップストリームカーネルの一部になります ( 2.6.19 に統合)。
- GFS2 は以下のような機能に対応しています。
- 拡張ファイル属性 (
xattr
) - 標準の
ioctl
() コールを介したlsattr
() とchattr
() の属性設定 - ナノ秒タイムスタンプ
GFS2 ファイルシステムは、ファイルシステムの内部効率に対し以下のような点を改善しました。
- GFS2 によるカーネルメモリーの使用が低減されています。
- GFS2 ではメタデータ生成番号を必要としません。GFS2 メタデータの割り当てに読み込みを必要としません。複数ジャーナル内のメタデータブロックのコピーは、ロックが解放される前にジャーナルからブロックを無効にすることにより管理されます。
- GFS2 には、リンクされていない inode や quota 変更については認識しない、より簡単な ログマネージャが組み込まれています。
gfs2_grow
とgfs2_jadd
のコマンドは、ロックを使用して複数インスタンスが同時に実行しないようにします。creat
() やmkdir
() のような呼び出しに対する ACL コードが簡素化されています。- リンクされていない inode、クォータの変更、および
statfs
の変更は、ジャーナルを再マウントしなくても復元されます。