2017年2月7日火曜日

USB外付けハードディスクとxfs

東芝のテレビregzaに繋いでるUSB外付けハードディスクもヘタれてきて、録画落ちが頻発。 失敗した番組は諦めて、リモンコンに反応しなくなったTVを本体側面ボタンからリセットして、毎度Debianからフォーマットしなおして使い続けてる・・・

不具合の原因を感で言えば、・・・多分。
・「省エネモード」時の録画開始に書き込みが追いついてない。
・「通常モード」でも、TVがリモコンでOFFのスタンバイ状態だと録画開始のいきなり大量書き込みに追いついてない。
- - - - -

xfs フォーマットで使用するコマンド (Debian GNU/Linux jessieにて)

✅ xfs関連のパッケージがはいってるかどうか。パッケージ名は xfsprogs
$ dpkg -l | grep xfs

✅ mkfs.xfsのバージョン
 バージョンによってオプションやディフォルト値が違う(3.2.3以降と異なる)。
$ sudo mkfs.xfs -V
mkfs.xfs version 3.2.1
✅ mkfs.xfsのオプションやディフォルト値を確認
$ man mkfs.xfs
✅ マウントしたUSB HDのフォーマット(xfs)とマウントデバイス(/dev/sdc1 等)を見る。
$ df -T
✅ 修復を試みる - 要アンマウント
$ sudo xfs_repair -Lv /dev/sdc1
-L           Force log zeroing. Do this as a last resort.
-v           Verbose output.

 マウントしたままだと、fatal error -- couldn't initialize XFS library1 などエラー表示。

✅ 修復のチェック - 要アンマウント
$ sudo xfs_repair -n /dev/sdc1
✅ 最初からPCにマウントもできない。フォーマットしか無い・・・多分。
An error occurred while accessing 'primary', the system responded: The requested operation has failed: Error mounting /dev/sdc1 at /media......is not a valid block device などのエラー表示。
$ sudo mkfs.xfs -s size=4096 -f /dev/sdc1
-s size=4096    default sector_size is 512 bytes...なので、4096にする。
-f     Force overwrit...
その後、レグザに繋ぐと再びregzaでフォーマットされてしまう。反応しなかったハードディスクが認識されたわけだから良しとしよう。暫くはヒヤヒヤしながら録画できます。
番組予約は再設定が必要な場合もあるので、最初にメモっておいたほうが良い。



✅ その他 Tips
$ sudo xfs_db -c frag -r /dev/sdc1 断片化を見る。数値が大きいと断片化大。
$ sudo xfs_bmap -v /data/foo/file.01 file.01の分割状態を見る。
$ sudo xfs_fsr /data/foo/file.01 file.01を最適化。
$ sudo xfs_info /dev/sdc1 sdc1のディスク.セクタサイズ等の情報 - 要マウント
$ sudo blockdev --getalignoff /dev/sdc1 セクタサイズとパーティショニングの整合性を見る。0 の返り値が正常。