SourceForge.JP: Open Source Software

LoginCreate AccountHelp

[RSS]OpenSource Downloads

(10,495) Cabos
(3,119) CrystalDiskInfo
(2,847) 7-Zip
(1,778) Tera Term
(1,720) HandBrake Japanese Language Version
(934) ffdshow
(750) VirtualDubMod-jp
(658) ギコナビ
(638) CrystalDiskMark
10  (626) Tween
11  (554) Amateras
12  (550) えこでこツール
13  (499) MergeDoc
14  (492) BathyScaphe
15  (386) SMPlayer
More >>

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

Magazine 最新特集記事

インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートで行うMoblinアプリケーション開発

 Moblinの標準開発環境の構築やMoblin SDKの利用、そしてデバッガやプロファイラといった開発ツールの利用法などを解説。

オープンソースソフトウェアで強化するWindowsデスクトップ

 システムカスタマイズツールやマルチメディア関連ソフトウェア、バックアップツールなど、有用なWindows向けオープンソースソフトウェアを紹介。

大幅なスペックアップで生まれ変わった超小型Linuxサーバー「OpenBlockS 600」徹底活用

 超小型のLinuxサーバー「OpenBlockS 600」を紹介。ルータ・ブリッジとしての利用など、実運用に向けての利用例やセットアップ例を解説。

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

2008年08月05日 12:51 1 2 3
  • スラッシュドットにタレコむ
  • あとで読む

 xfs_fsr(1) プログラムは、Fedora 9やDebianベースのディストリビューションではxfsdumpパッケージの中に含まれている。これは残念なことだ。というのもxfs_fsrは非常に便利なツールなのにも関わらず、xfsdumpの中に含まれていることで、mkfs.xfsと一緒にxfsprogsパッケージに入っている場合と比べてインストール/使用される機会が大きく減ってしまっているためだ。xfs_fsrはXFSファイルシステムのデフラグプログラムで、マウント中のXFSファイルシステムをデフラグするためにcronジョブとして定期的に実行するのに向いている。

 xfs_fsrの使い方は2通りある。制限時間を指定して実行すると、システム上のすべてのXFSファイルシステムを対象として、各ファイルシステム上でもっとも激しくフラグメント化されているファイルのいくつかを最適化する。あるいは、特定のXFSファイルシステムやXFSファイルシステム上の特定のファイルを明示的に指定して実行することもできる。xfs_fsrに制限時間を指定して実行した場合、その制限時間の終了時には実行した内容についての情報が/var/tmp内のファイルに保存されるため、次回再び制限時間を指定して実行した際には、作業は同じ場所から続行される。そのためcronジョブとして実行して、マシンをあまり使用していない時間に毎日少しずつ最適化を行うようにすることも可能だ。

 xfs_fsrはファイルを最適化する際、フラグメント化している既存のファイルのコピーを元のファイルよりも少ない数のエクステント(フラグメント)を使用して新たに作成する。そしてファイル内容が新しいファイルにコピーされた後、新しいファイルが古いファイルと置き換わるようにファイルシステムのメタデータが更新される。これは言い換えれば、デフラグしたいファイルをまるまるもう一つ保存するために十分な空き領域がファイルシステム上に存在していなければならないということだ。なお空き領域が必要であるということはディスクのクォータにも当てはまり、ファイルのコピーをまるまる保存しようとするとそのファイルの所有者であるユーザのディスククォータを越えてしまう場合にはデフラグすることはできない。

 制限時間を指定して実行するとxfs_fsrはデフォルトではシステム上のすべてのXFSファイルシステムを対象にするのだが、その際、(実際に問題になる可能性は非常に低いものの)いくつかの問題が起こる可能性がある。例えばLILOのようにディスク上の固定位置に設定ファイルがあることを前提としているブートローダを使用している場合、xfs_fsrでデフラグしたためにそのファイルが移動してしまって、その仕組みが機能しなくなる恐れがある。そのような場合には、xfs_ioコマンドを使って特定のファイルやディレクトリに対してno-defragという特別なフラグを付けることで、xfs_fsrがそのようなファイルをデフラグしてしまうのを回避することができる。なおno-defragをディレクトリに指定した場合には、no-defragが指定されたディレクトリ内のファイルやディレクトリについてはno-defragフラグが継承される。xfs_fsrのマニュアルページに、no-defragフラグについてのより詳しい情報や設定方法がある。

Ben-Martin(2008年7月18日(金))
2008年10月05日 17:07 更新