Linux - XFS ファイルシステムのデフラグ!

Updated:


XFS ファイルシステムのハードディスクをデフラグする方法についての記録です。

当方、普段はサーバもローカルも EXT4 ファイルシステムの Linux 環境下で作業をしておりますが、家族がテレビ録画に使用しているテレビ付属の USB ハードディスが不調とのことで、調査&調整してみた次第です。

テレビは東芝レグザで、録画に使用している HDD は I-O DATA 製 2.5 インチ HDD です。

Web で調べてみると、レグザでの録画に使用する HDD は XFS ファイルシステムでフォーマットされている必要があるとのこと。

0. 前提条件

  • LMDE2(Linux Mint Debian Edition 2) での作業を想定。
  • HDD は USB 接続のもので、XFS ファイルシステムでフォーマットされていることを想定。
  • 今回使用した USB-HDD は、総容量 320GB のうち 約16% を使用済み。
  • 現象としては、録画した内容を再生中に動画がカクカクと頻繁に停止する。
  • USB-HDD をテレビから取り外す場合は、正規の手順で。
  • PC に接続&マウント済みであること。
  • XFS ファイルシステムがどんなものかについては、ここでは説明しない。

1. パッケージのインストール

xfsprogs パッケージが未インストールならインストールする。

$ sudo apt-get install xfsprogs

2. フラグメンテーションの確認

xfs_db コマンドでどのくらいフラグメンテーションが発生しているかを確認する。

(以下は、USB-HDD を sdc1 でマウントしている場合)

$ sudo xfs_db -c frag -r /dev/sdc1
actual 44898, ideal 29, fragmentation factor 99.94%

99.94% もフラグメンテーションが発生していることが分かる。

3. デフラグの実行

xfs_fsr コマンドでデフラグを実行する。

$ sudo xfs_fsr /dev/sdc1
/media/masaru/7638d144-cf63-40a7-aae9-5ecf166a977d start inode=0

4. 再度、フラグメンテーションの確認

どのくらいデフラグされたか、再度確認してみる。

$ sudo xfs_db -c frag -r /dev/sdc1
actual 38, ideal 30, fragmentation factor 21.05%

フラグメンテーションがより小さくなるよう、デフラグを何回か繰り返し実行してもよいだろう。
(当方は、デフラグを2回実行して、フラグメンテーションが 6.45% にまで下がった。それ以降は、デフラグを実行してもフラグメンテーションが下がることはなかった)

ちなみに、デフラグ実行前に 約16% だったディスク使用量は、デフラグ実行後に 約12% になった。

5. 結果

上記の処理を施した USB ハードディスクをテレビに接続して録画内容を再生しても、不具合なく軽快に動作することを確認。


次回、同様の現象に陥ってもすぐに対処できるでしょう。同じ機種の HDD なら。

以上。





 

Sponsored Link

 

Comments