NASのHDDを復旧準備


ここ最近調子が悪いNAS。 そしておいておいたファイルがデバイスエラーで読み込めなくなってしまった。

ファイルシステムがXFSという事もあってLinux機につないで作業を行った。

まずマウントできるか試した。

$sudo mkdir /mnt/nas

$sudo mount -t xfs /dev/sdc1 /mnt/nas

SuperBlockがどうのこうのというよくわからないエラーが出た。

調べてみるとxfsprogsでなんとかなるかもしれないらしい。

$sudo apt-get install xfsprogs

$sudo reboot

バックアップの作成

$sudo mkdir /mnt/tmp

$sudo dd if=/dev/sdc1 of=/mnt/tmp/broken.img ibs=512 obs=1024k conv=noerror,sync

$sudo xfs_check /dev/sdc1

found candidate secondary superblock…
verified secondary superblock…
writing modified primary superblock
sb root inode value 18446744073709551615 (NULLFSINO) inconsistent with calculated value 128
resetting superblock root inode pointer to 128
sb realtime bitmap inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 129
resetting superblock realtime bitmap ino pointer to 129
sb realtime summary inode 18446744073709551615 (NULLFSINO) inconsistent with calculated value 130
resetting superblock realtime summary ino pointer to 130
Phase 2 - using internal log
        - zero log…
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_repair.  If you are unable to mount the filesystem, then use
the -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption – please attempt a mount
of the filesystem before doing this.

xfs_checkでかなり時間がかかります。 なにやらSuperBlockを探しているみたい。

それでもってエラー…

-Lオプション付けて再度実行しろと言われた。 しかももしかしたらデータ消えると…

まぁバックアップしているしっと思い-Lを付けて再実行

$sudo xfs_check -L /dev/sdc1

さくっと終了。

再度マウントしてみる。

$sudo mount -t xfs /dev/sdc1 /mnt/nas

マウントは成功。vncに入りデータ救出した。

おわり

ルータについていたお粗末なNAS機能。

本当にお粗末で録画していたエンコ済み動画を再生するのにかなりもたつきがあった。

NAS自体でフォーマットするより、Linuxなりで正常にフォーマットしてやったほうが良かったのではないかと後悔している。