system management
1753853 メンバー
7928 オンライン
108808 解決策
新規ポスト

ディレクトリの断片化の解消について

 
itoma
アドバイザー

ディレクトリの断片化の解消について

いつもお世話になります。

OnlineJFSを使用してディレクトリの断片化を解消したいのですが、どこまで期待できるものでしょうか。

実際に以下のコマンドでやってみましたが、期待した程ではありませんでした。こんなモノなのでしょうか。

fsadm -F vxfs -d -D -s /home2

これで/home2配下にあるディレクトリの断片化を解消したかった。

この配下のディレクトリに一時的に数千のファイルを作成します。作成後、一定期間経過すると無くなる。

これを繰り返しているとディレクトリのサイズが肥大化するのでfxadmコマンドでサイズを小さくしたい。

実際には以下のような結果でした。

・実施前のサイズ:2727936

・実施後のサイズ:2605056

このディレクトリ配下にはファイルが1つしかない状態。

あまり効果が無かったので別名でディレクトリごとコピーしたところサイズが2048まで小さくなった。

オリジナルのディレクトリを削除して、コピーしたものをリネームしてオリジナルとして置き換えた。

結局はディレクトリは作り直さない限り、肥大化したサイズは小さくならないのでしょうか?

話が長くなりすみません。

どなたかOnlinJFSでどこまで期待できるかご存じでしたら教えて下さい。

私の勘違いでもともとこのような使用用途ではないモノでしたら申し訳ありません。
7件の返信7
hazelwood
信頼あるコントリビューター

ディレクトリの断片化の解消について

Online JFSのデフラグは、データエクステントのデフラグのはずです。

したがって、データエクステントの中身(データ)である、ディレクトリエントリのデフラグには効果がないものと思います。

多分、作り直さないかぎり小さくならないと思います。
S_K
頻繁なアドバイザー

ディレクトリの断片化の解消について

僕が同じようにやってみた限りでは、劇的に小さくなるのですけどね。

# ll

合計 212

drwxr-xr-x 2 root root 96 8月 18日 11:34 lost+found

drwxr-xr-x 2 root sys 100352 8月 18日 12:55 test

# fsadm -D -d -v -s /tmp_mnt

fsadm: /etc/default/fs is used for determining the file system type

vxfs fsadm: using device /dev/vg00/rlvol9

Directory Fragmentation Report

Dirs Total Immed Immeds Dirs to Blocks to

Searched Blocks Dirs to Add Reduce Reduce

total 3 106 2 1 1 98

Directory Reorganization Statistics

Dirs Dirs Total Failed Blocks Blocks Immeds

Searched Changed Ioctls Ioctls Reduced Changed Added

fset 999 1 1 1 0 0 0 0

total 1 1 1 0 0 0 0

vxfs fsadm: directory reorganization complete

Directory Fragmentation Report

Dirs Total Immed Immeds Dirs to Blocks to

Searched Blocks Dirs to Add Reduce Reduce

total 3 0 3 0 0 0

# ll

合計 0

drwxr-xr-x 2 root root 96 8月 18日 12:57 lost+found

drwxr-xr-x 2 root sys 96 8月 18日 12:57 test

oops
貴重なコントリビューター

ディレクトリの断片化の解消について

随分大きいディレクトリのようですので、-p や -t で回数や時間を大きく設定してやってみられてはどうでしょうか?

fsadm_vxfs(1M) にありますが、エクステント、デイレクトリ双方のデフラグには、場合によって(サイズや空き容量等)は非常に時間がかかるため、fsadm が走りつづけることがないよう、ある程度やったら停止するようになっています。default のままの引数の fsadm を繰り返すという手もあります。繰り返すごとにサイズが減っていくのがわかると思います。

または、
oops
貴重なコントリビューター

ディレクトリの断片化の解消について

きれてますので、続きを。

または、default の引数の fsadm を繰り返し実施するという手もありです。繰り返すごとにサイズが減るのがわかると思います。
itoma
アドバイザー

ディレクトリの断片化の解消について

みなさんありがとうございます。

oopsさんからの指摘内容を試してみたいと思います。

結果は後ほどご報告したいと思います。
hazelwood
信頼あるコントリビューター

ディレクトリの断片化の解消について

間違ったことを書いてしまって申し訳ありませんでした。
itoma
アドバイザー

ディレクトリの断片化の解消について

確かに再編成を繰り返すことで徐々にサイズが小さくなっていきました。

ただ、対象としている環境では実用には耐えられない感じです。

この場合、ディレクトリを作り直すようにします。

ありがとうございました。