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 なら。
以上。
Comments