Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

xfs_fsrを使ってXFSファイルシステムをベストの状態で使用する

2008年08月05日 12:51 Ben-Martin(2008年7月18日(金)) 1 2 3

 使用中のXFSファイルシステム上で、ファイルを明示的に指定して実行した例を示すために、上記のxfs_bmapの実行例で2つのエクステントに分割されていたsarubackup-june2008.tar.bz2ファイルに対してxfs_fsrを実行した結果を以下に示す。xfs_fsrの実行後には、ファイルを保存するために1つのエクステントしか使用していないことが分かる。

# xfs_bmap -v sarubackup-june2008.tar.bz2
sarubackup-june2008.tar.bz2:
 EXT: FILE-OFFSET       BLOCK-RANGE          AG AG-OFFSET           TOTAL
   0: [0..350175]:      264463064..264813239 10 (2319064..2669239) 350176
   1: [350176..615327]: 265280272..265545423 10 (3136272..3401423) 265152

# md5sum  sarubackup-june2008.tar.bz2
123b9db92b31bea5f60835920dee88d5

# xfs_fsr  sarubackup-june2008.tar.bz2

(RAID上にある300MBのファイルのため、ここで数秒かかった。)

# xfs_bmap -v sarubackup-june2008.tar.bz2
sarubackup-june2008.tar.bz2:
 EXT: FILE-OFFSET      BLOCK-RANGE          AG AG-OFFSET           TOTAL
   0: [0..615327]:     267173832..267789159 10 (5029832..5645159) 615328

# md5sum  sarubackup-june2008.tar.bz2
123b9db92b31bea5f60835920dee88d5
ext3_fsrツールがない理由
 XFSとは異なりext3ファイルシステムでは、ファイル内容の保存場所の管理にエクステントではなく間接ブロックが使用されている。なお次期ext4ファイルシステムはファイル内容の保存にエクステントを使用していて、xfs_fsrと似た形でのオンラインデフラグもサポートする予定だ。

 ext3ファイルシステムについては、filefrag(1) ユーティリティを使えばファイルのフラグメント化の状態を把握することができるが、その状態を修正することはできない。またtune2fsの-mオプションを使えば特権を持ったプロセスのみが使用することのできるブロックの割合を設定することができるので、例えば通常のユーザが使用できない領域としてディスクの10%の領域を確保しておけば、ファイルシステムが満杯になったときに起こる激しいフラグメント化を避けることができる。

 xfs_fsrをcronジョブとして定期的に実行するには、単に引数なしで実行すれば良いだけだ。なお定期的にメールを受け取りたくなければ出力結果をnullデバイスにリダイレクトしておくと良いだろう。唯一利用すると良いかもしれないオプションとしては-tがあって、xfs_fsrを実行する時間を秒単位で指定することができる。デフォルトは7200(2時間)になっているが、デスクトップマシンの場合には以下のように6時間に設定しておいて毎晩寝る時間に起動するようにしておくと良いかもしれない。

# cd /root
# mkdir -p mycron
# cd mycron
# vi xfs-fsr.cron
30 0  * * *  /root/mycron/xfs-fsr.sh
# vi xfs-fsr.sh
/usr/sbin/xfs_fsr -t 21600 >/dev/null 2>&1
# cat *.cron >|newtab
# crontab newtab

 Linuxディストリビューションでは、xfs_fsrユーティリティはmkfs.xfsと同じくらいに気付きやすいように(例えば、同じxfsprogsパッケージに含めて)インストールされるのではなく、ファイルシステムのダンプ/リストアツール群の中にしまい込まれてしまっている。これはとても残念だ。XFSファイルシステムを数年間使用しているのにも関わらずxfs_fsrユーティリティの存在を知らなかったなら、xfs_fsrをシステム上で数回実行することでファイルシステムの性能を向上させることができるだろう。

Ben Martinは10年以上もファイルシステムに携わっている。博士号を取得し、libferris、ファイルシステム、検索ソリューションを中心としたコンサルティングサービスを提供している。

Linux.com 原文

最終更新:2008年10月05日 17:07