以下は、OCFS2 のディスク領域の断片化の程度を判断するための手順のリストです。手順はオフラインの o2image で機能し、断片化に関連するパフォーマンスの問題を示す必要があります。
OCFS2 ボリューム内のフラグメントを確認しています
1.debugfs.ocfs2 を使用する /dev/$your_ocfs2_volume 上のディスク上の OCFS2 ファイルシステム構造を表示するには、次の例を参照してください:
# debugfs.ocfs2 /dev/sdb debugfs.ocfs2 1.6.3 debugfs:
2. 「stat //global_bitmap」を実行します:
debugfs: stat //global_bitmap Inode: 11 Mode: 0644 Generation: 1123409557 (0x42f5de95) FS Generation: 1123409557 (0x42f5de95) CRC32: 00000000 ECC: 0000 Type: Regular Attr: 0x0 Flags: Valid System Allocbitmap Chain Dynamic Features: (0x0) User: 0 (root) Group: 0 (root) Size: 2147490164736 Links: 1 Clusters: 524289591 ctime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 atime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 mtime: 0x4f0c1e9f -- Tue Jan 10 03:18:55 2012 dtime: 0x0 -- Wed Dec 31 16:00:00 1969 ctime_nsec: 0x00000000 -- 0 atime_nsec: 0x00000000 -- 0 mtime_nsec: 0x00000000 -- 0 Refcount Block: 0 Last Extblk: 0 Orphan Slot: 0 Sub Alloc Slot: Global Sub Alloc Bit: 7 Bitmap Total: 524289591 Used: 262461691 Free: 261827900 Clusters per Group: 32256 Bits per Cluster: 1 Count: 243 Next Free Rec: 243 ## Total Used Free Block# 0 2161152 1086804 1074348 219469824 1 2161152 1341165 819987 313560576 ... 32 2161152 1163460 997692 424295424 33 2161152 1205493 955659 126475776 --More--
3. 次のようなグループ チェーン情報が見つかるまで、スペース キーを押してさらに取得します。
Group Chain: 0 Parent Inode: 11 Generation: 1123409557 CRC32: 00000000 ECC: 0000 ## Block# Total Used Free Contig Size 0 219469824 32256 4286 27970 1874 4032 1 148925952 32256 10405 21851 1996 4032 ... 65 509483520 32256 30721 1535 1535 4032 66 517321728 32256 30721 1535 1535 4032
4. グループ チェーン内のすべてのアイテムを移動して、「Contig」フィールドの値を取得します。値が localalloc_size/cluster_size よりも小さいほど、このグループ チェーンのフラグメントが多くなります。 localalloc のデフォルトのサイズは 8M です。OCFS2 ボリュームをマウントするときに、「localalloc=4」などのオプションを追加して、そのサイズを 4M に変更できます。ステップ 3 の例のように、localalloc が 8M でクラスター サイズが 4K であると仮定すると、localalloc_size/cluster_size=8M/4K=2048 となり、アイテム 0、1、65、66 がフラグメントになります。
5. すべてのグループ チェーンを移動してフラグメントを確認します。多くのフラグメントを持たないグループ チェーンを見つける前に移動するグループ チェーンが多いほど、ファイル システム内のフラグメントが多くなり、OCFS2 のパフォーマンスが低下します。
オフラインの O2image ファイルのフラグメントをチェックしています。
1. raw 形式 (「-r」オプションを使用して o2image で生成) の場合、上記の手順 1 を次のように置き換えます。
# debugfs.ocfs2 o2image.raw
2. パック形式 (「-r」オプションなしで o2image によって生成) の場合、上記の手順 1 を次のように置き換えます。
# debugfs.ocfs2 -i o2image.packed
または
# o2image -I o2image.disk o2image.packed
それから
# debugfs.ocfs2 o2image.disk