WindowsXP対策はもうお済ですか?
まものといっしょ
まものといっしょ 〜エンジニアの備忘録〜
HOME > NAS(XFS)破損の記録


猫の足あとNAS(XFS)破損の記録
 〜XFS形式のデータが消えた日〜



【2012/06/17】


家に帰った時の出来事だった。
その日、データが消失した。


*************************************


私が使っているバッファロー製のネットワークストレージには
USBハードディスクを更に1つだけ取り付けることができるのだが、
その取り付けていたUSBハードディスク(2TB)がいつものように
読み取れなくなっていた。


USBが付いているネットワークストレージの方は毅然として
動いていたので、WEB管理画面からUSBハードディスクを確認してみるも
どうやらUSB自体は認識しているも、データ読み込めいていない様子(所感)。


データの破損を覚悟した瞬間であった。


というのも、以前もこのネットワークストレージに取り付けていたハードディスクが
データ破損したことがあったのだ。

その際は、CentOS(Linux)のPCに接続し、破損ハードディスクをfsckすることでほとんどのファイルを
救うことができた。
面倒だが、今回もまたそれを行えばよいだけ・・・そう思っていた。


ひとまず、CentOSに破損ハードディスクを接続し、mountコマンドをたたく。

===============================================
# mount /dev/sda1 /mnt/usbfm
mount: unknown filesystem type 'xfs'
===============================================

・・・・ん?'xfs'?


どうやら破損したハードディスクはXFS形式でフォーマットされていたようだ。
そういえば、バッファローで使用できる形式にEXT3とXFS(オススメ)って書いてたから
初めにXFSを選択した気がする。

それにしてもデフォルト環境でマウントできないなんて超不便なフォーマットだ・・・。

そう思いながらググってXFS形式のマウント方法を探す。


案外簡単にマウントできるようで、下記をインストール。

kmod-xfs-0.4-2.i686.rpm
xfsprogs-2.9.4-1.el5.centos.i386.rpm

===============================================
# rpm -ivh kmod-xfs-0.4-2.i686.rpm xfsprogs-2.9.4-1.el5.centos.i386.rpm
===============================================


そして再びマウントする。
===============================================
# mount /dev/sda1 /mnt/usbfm
can't read superblock
===============================================

んー・・・なんでだろう?
再びググるとどうやらXFS形式が破損しているみたい。
また、xfs_repairコマンドを使ったら復旧したという情報を発見!


ホントはいきなりやらずに破損ハードディスクの中身をバックアップしてから
行うべきなのだが、2TBも格納できる場所がないのでいきなり↓を実行。

===============================================
# xfs_repair -L /dev/sda1
===============================================

 

・・・・なんか途中で処理が止まったようなログが吐き出された。


そして再々マウントする。
===============================================
# mount /dev/sda1 /mnt/usbfm
===============================================

エラーは出なかった。
どうやらマウントできたようだ。

===============================================
# cd /mnt/usbfm
# ls
lost+found
===============================================


ん?
すっかりファイルが消えてしまっている。
でも大体こういうフォーマット破損からの復旧時は、
lost+found配下にデータが行ってしまっている場合が多いし、
全部そこに行ってしまったのだろう。

そう思いながら、コマンドをたたく。

 

===============================================
# ls
lost+found
# cd lost+found/
# ls
#
===============================================

・・・?


===============================================
# ls
# ls
# ls
# ls
# ls
# ls -a
.  ..
#
===============================================


ええー!!!!!!
まさかの全損全壊!!!


その事実を理解した瞬間であった。
しばらく呆然として、身動きが取れなかった。

何かの間違いではないのか・・・そう思わずにはいられなかった。


気の済むまでls打ったあとに
XFS形式ファイルの復元に挑戦してみることにした。


******************************************

(こっから操作PCはWindows)

色々ググったけど、XFS形式に対応するファイル復元のフリーソフトがない。
有償版ならあるけども、フリーはなかなか見つからなかった。

とりあえず、ひとつは見つけた。

TestDisk & PhotoRec というフリーソフトである。

XFS形式にも対応しており、一応試してみたら復元はできた。
だが、少々使いづらく、ハードディスクを丸ごと復元することしかできないようだ。
(復元するファイルを動画だけに絞ったりなどはできるみたいだが)
http://www.fisc.jp/weblog/reinan/2011/02/post_691.html

また、2TBと大きなハードディスクの復元だと、出力先が2TBくらい必要なので
そんなハードディスクは手元になかったし、何よりこのフリーソフトは
復元の精度がいまいちだった。

ファイル名も全く戻らなかったし、動画ファイルが繋がって8GBくらいに
なって出力されたりもしていた。

小さいハードディスクの復元なら十分力を発揮してくれそうだが、
今回に関しては不採用である。

 


結局、「Raise Data Recovery for XFS」というソフトを試してみた。


使い方は簡単で、ダウンロードした"rdrxfs.exe"を実行して、
インストールする。そしたら、復旧したいハードディスクをPCに繋げて
起動し、そのハードディスクを選択し、Open→Recovarをクリックすると
ハードディスクのスキャンをはじめる。

これが2TBで私の環境だと1日弱かかった。


スキャンが終わり、ドキドキしながら結果を見てみると
ついに破損前のハードディスクの中身が見えるようになっていた。

この時のテンション上昇率といったら半端なもんではなかった。
思わず秘伝のてんてこの舞いを踊ったのを覚えている。

ひとしお喜んだところで中身が見えるようになったファイルを選択し、
Copy To...を選んだところ、


「trial版なので64KBまでしかファイルにできないよ」的メッセージが!


えーそうなの!?
確かに確認してみると英語で

 

Limitations:
* Will not copy files above 64KB.


とか書いていた。英語だったのであんまり見ていなかったけど
まあそうだよね。

世間の冷たさを改めて最確認した瞬間。

でも、ここまでやったらもうお金払ってでもいいから
復元しようかな。

いや、そう思うのは、業社の思う壺じゃなイカ?


わかっているとも同士よ。ソフトに金を出すのはなんとなく
負けた感じがするんだよね?だって俺、ソフト屋さんだし。


なんかそんなことを考えて、もしかしたらこのソフトのシリアルなんかも
落ちてりゃすまいかと(違法です! 汗)思って一応探してみたりしたが、さすがに
なかった。変な危ないウイルスサイトばかりしかなくて、釣られる人がきっと
世の中に多いんだろうな〜。

 

で、なんやかんやで 21.95ユーロ(当時2200円くらい)VISAで払いました( ・`ω・´)
ユーロ安バンザイ\(-o-)/


普通に復元屋さんにだしたら2万以上はかかるわけだから、まあこんくらいの出費は
大目に見ようと思った。むしろ、XFS形式は使うなという勉強代だったと。

 


こういうこともあり、ハードディスクの形式の選定はとても大事なのだと痛感した。
ファイル形式について色々調べてみた。


NTFS : Windowsの標準フォーマット形式(有名ドコロ)
       <特徴>
        ○基本的にWindowsでしか読み書きできない。
        ○ファイルサイズの制限は2TB。
        ○ファイルシステムの堅牢性は、割と高めで破損しにくいらしい。
        ○バッファローのネットワークストレージに増設できるUSBハードディスクでは読み取り専用。
        ○Linuxを拡張して読み書きが可能だが、書き込みは、書き込み時にジャーナルファイルシステムはサポートしていないので
          ジャーナルが破損したらWindowsで読みこめば再度読み込めるようになるらしい?(未確認)
       

FAT32 : 昔のWindowsフォーマット形式
       <特徴>
        ○WindowsでもLinux系OSでも読み込める。
        ○ファイルサイズの制限は、4GB。(最大の欠点と思う)
        ○バッファローのネットワークストレージに増設できるUSBハードディスクでは読み取り専用。
      

EXT3 : Linux(CentOS)の標準フォーマット形式
       <特徴>
        ○基本的にLinux系OSでしか読み書きできない。
        ○ジャーナリングファイルシステムに対応しているので
          ファイルシステムの堅牢性は、割と高めで破損しにくいらしい。
        ○バッファローのネットワークストレージに増設できるUSBハードディスクでは読み書き可能。
        ○1フォルダーに多くのファイルが存在するとアクセス速度が遅くなるらしい。
       

XFS : 俺的に謎フォーマット形式
       <特徴>
        ○UNIXシステム最古のフォーマット形式らしい。でもCentOSとかRedHat系OSを使用していたら
          出会うことは少なそう。
        ○ジャーナリングファイルシステムに対応しているので
          ファイルシステムの堅牢性は、割と高めで破損しにくいらしい。
        ○ジャーナルの形式上、削除したファイルは復元が難しいらしい。(データ復旧時は短所であり、紛失時は長所)
        ○バッファローのネットワークストレージに増設できるUSBハードディスクでは読み書き可能。
        ○EXT3と比較してフォーマット後に使用できる容量が大きくなる。
       
       
HFS+ : MACのフォーマット形式
       <特徴>
        ○よーわからん。
        ○バッファローのネットワークストレージに増設できるUSBハードディスクでは読み取り専用。

       
       
       

一応特徴としては上に書いた通りだけども、私の所感としてはやはり
世の中で一番使われているであろうNTFSが一番便利なんだろうと思う。なので、NTFSが使用できるなら
それにしたほうが絶対いい!

しかし、ネットワークストレージでは
NTFSが使用できないので、XFSかEXT3かどちらかを選択しないといけなくて、
それなら、EXT3を選んだほうがいいと思った。

なぜって、XFSだとデータ破損時に復旧が大変だから。XFSはフリーの復元ソフトがほぼない!
Ext3ならいくらかフリーの復元ソフトがあったし、多分ハードディスクの破損だけなら
FSCKで復旧できそうだから。
もひとつ言うと、Windowsで読み取りたい時にExt3のほうが(若干)簡単だから。
そしてなによりも、Linuxのファイル形式がExt3のだったから馴染み深いんですな(俺的には)。

 

あと、バッファローのネットワークストレージにUSBで増設したハードディスクて
壊れやすい気がする。ハードディスクが壊れやすいというよりファイル形式が壊れやすいと
いうべきか。

どうしてもUSB増設で使うならハードディスクの電源入れっぱなしのほうがいいかも
(データフォーマットが壊れるのは大概電源を切る時だから)。
もちろん電源入れっぱなしにすることで
ハードディスクとしての寿命は減るわけだから微妙なところだけれども・・・。




このページのTOPへ
HOMEへ

inserted by FC2 system