とあるマシンをLinuxを使ってIDEのSoftWare RAID5環境にて動かして居るんですが、先日再起動を行ったところRAID5の1台目のディスクにSMARTから交換しろとの指示が・・・
ログを見ると確かに時々
Aug 27 17:45:07 xxxxx kernel: hdX: dma_intr: status=0x51 { DriveReady SeekComplete Error }なんて言うエラーが出ているので交換しなければなりません。
まぁ、普通Software RAID5では
今回も同様にさっくりやろうと思ったら、raidsetfaultyが無い(;´д`)ノ
どうも古いOSなんで入ってなかったらしい。
新しいのを入れるのも面倒だしどうせ捨てるディスクだからと、起動中にHDの線を外して無理矢理不良ディスクにさせました。
(よい子はまねしないように(^^;)
で、次はさっくり交換、で再起動・・・起動中にRAIDが認識出来なくて停止_| ̄|○
おかしいなと思っていろいろ確かめた結果、どうも/etc/raidtabで指定した1台目にRAIDの情報書いて居るようで、1台目が無かったり別のディスクがセットされていると正常に起動しないようです(*´д⊂)
不良ディスクは幸いまだ生きていたので、それを繋げばデータは読み出せますが、IDEなのでそのままHotswapという訳にもいかず、最悪再構築覚悟ということでとりあえずデータのバックアップ。
で、バックアップが終わったので、いろいろ調べて以下のような手順で作業してみました。
raiddev /dev/md0
raid-level 5
nr-raid-disks 3
persistent-superblock 1
chunk-size 32
device /dev/hdb
# raid-disk 0
failed-disk 0
device /dev/hdc
raid-disk 1
device /dev/hdd
raid-disk 2
mkraid --really-force --dangerous-no-resync /dev/mdX
cat /proc/mdstat
mount -o ro /dev/mdX /mnt cd /mnt du -sh以上をrootで実行して「Permission denied」と言われず、容量も合っていればおそらく成功
raidhotadd /dev/mdX /dev/hdX
これのミソは「dangerous-no-resync 」で、mkraidにこのオプションを付けると同期を一切行わず1台目を交換後ディスクをわざと不良ディスクとしたまま無理矢理RAID5としてスタートさせることが出来ます。
そしてこの後に交換後のディスクをraidhotaddでRAIDに追加することで、正常なディスクのデータを元に交換後のディスクの内容が同期され復旧するという訳です。
まぁ、最近のディストリじゃこんな事しなくでもいけるのかもしれませんし、結構危険な手段なので、上記の手順はどうしても困ったときにのみお試しください( ̄▽ ̄)ノ
Posted by Takuchan at 2004年09月17日 13:51 | トラックバック(0)NASのRAID5が崩壊し、復旧の参考にブログを読ませていただきました。
今現在、KNOPPIXを立ち上げて復旧を試みようと思っています。
物理的には故障していないのですが、RAID崩壊したデータを救出することは可能ですか?
NASなら購入したところに問い合わせるのが一番じゃないでしょうか?
また、もし大事なデータなら下手に弄らないでプロの手に任せるべきです。
と言うか、RAIDの復旧は慣れてないとまず壊すので、勉強目的でなければプロに任せるかあきらめるのがよいですよ。
Posted by: Takuchan at 2008年10月10日 21:29