Linux Tips

ext2/3のフラグメンテーション状態を調べるには

北浦訓行
2005/7/14

 Disk Allocation ViewerDAVhttp://dav.sourceforge.jp/)を使うと、ext2/3ファイルシステムのフラグメンテーション状態を調べることができる。ここでは、DAVをFedora Core 4(FC4)にインストールする手順を紹介する。

 DAVをインストールするには、FC4のカーネルソースが必要になる。そこで、まずFC4のカーネルソース(例ではkernel-2.6.12-1.1390_FC4.src.rpm。使用しているカーネルと同じバージョン)をダウンロードして、インストールする。

# rpm -ihv kernel-2.6.12-1.1390_FC4.src.rpm

 そして、FC4のソースを作成して、そのディレクトリに移動する。

# rpmbuild -bp --target i686 /usr/src/redhat/SPECS/kernel-2.6.spec
# cd /usr/src/redhat/BUILD/kernel-2.6.12/linux-2.6.12

 Makefileを編集して、EXTRAVERSIONをカーネルの番号に合わせる。

EXTRAVERSION = -prep
    ↓
EXTRAVERSION = -1.1390

 次に、モジュール構築の準備を行う。

# make prepare-all
# exit

 以上でカーネルソースの準備は終了だ。続いて、DAVのインストールを行う。rootからログアウトして、DAVのtarボール(原稿執筆時点での最新版はdavl-1.2.0.tar.bz2。davlはDisk Allocation Viewer for Linuxのこと)をダウンロードしたディレクトリに移動し、tarボールを展開する。

$ tar jxf davl-1.2.0.tar.bz2

 展開したディレクトリ(davl-1.2.0)に移動して、path_listというファイルにあるKERN_DIRを先ほどインストールしたカーネルソースのディレクトリに変更する。

$ cd davl-1.2.0

KERN_DIR = /lib/modules/$(shell uname -r)/build
    ↓
KERN_DIR = /usr/src/redhat/BUILD/kernel-2.6.11/linux-2.6.11

 path_listの編集が終わったら、DAVのモジュールを作成する。

$ make WITH_DRV=1

 makeが終了したら、rootになってインストールする。

$ su
Password:
# make WITH_DRV=1 install

 ここまでの作業が終了したら、作成したモジュール(davl_liveinfo)をロードする。davl_liveinfoは、マウント中のフラグメンテーション状況をリアルタイムで取得するためのカーネルモジュールである。リアルタイムで情報を取得する必要がないなら、davl_liveinfoをロードする必要はない。ちなみに、デュアルCPU環境ではdavl_liveinfoを実行できなかった。

# /sbin/modprobe davl_liveinfo

 以上でDAVのインストール作業は終了だ。

 DAVには、GUIのgdavlコマンドとCUIのcdavlコマンドがある。ターミナルエミュレータを起動して、

# gdavl /dev/hda1

などどするとDAVのウィンドウが表示される。[exec]ボタンをクリックすると、フラグメンテーションの調査が始まる。

Disk Allocation Viewer(DAV)のGUI画面

 CUIの場合、以下のように実行するとテキストで情報が表示される。画面は一気に最下行まで表示されるので、moreなどにパイプするかテキストファイルにリダイレクトするといいだろう。

# cdavl /dev/hda1
------ cdavl result start ------
fstype  ext3
mount   mount(use davl_liveinfo)
f-per   0.04%
blocks  104391
sblocks 3302
fblocks 32239
frags   12
sfrags  3
cfiles  62
ffiles  12
depth   2
         0      SSSssIIIIIIIiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiii
        64      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiii
       128      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiii
       192      iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
iiiiiiiiiiii
       256      xoooooooooooo.......................................
............
       320      ....................................................
............
       384      ....................................................
............
       448      ....................................................
............
       512      ....................................................
............
       576      ....................................................
............
(省略)

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間