Powered By Blogger

2012年9月14日金曜日

linux HDD 壊れた

普通にshutdown -h now
でシャットダウンしたはずなんだが、どうも壊れたようだ。
ついこの前、増設したやつが。

重要な情報を格納しているsuperblockが破損したみたい。
fsck.ext3 -b "superblock" -B "block size" "device"
と、バックアップのsuperblockを指定してもダメ。
mke2fs -S "device"
でsuperblockを作成しなおして、
fsck.ext3 -y "device"
として、検査、修復中。
だが、メモリーが足りないためアボート。

スワップ領域を増やすしかない。
スワップファイルを作成
dd if=/dev/zero of=/swapfile bs=1024k count=8192
しかし、起動エラーでリペアモードみたいな状態なため、ファイルシステムがリードオンリーになっていて、スワップファイルが作成できない。
そこで、ファイルシステムをリードライトモードでリマウントする。
ロジカルボリュームなので、
mount -o remount,rw /dev/mapper/VolGroup00-LogVol00

であらためて/swapfileを作成して
mkswap /swapfile
swapon /swapfile
そして、
fsck.ext3 -y "device"

今度はどうか?
・・・まる一日たったが終わらない。
illegal blockの山が築かれていく。

まる2日たって、signal 9でexit。とほほだな。

気を取り直して、再びfsckしてみたけど、前と同じで、superblockが壊れてるぜ。バックアップを使ってみろよ。とメッセージが出て終了。
で再び、バックアップのスーパーブロックを指定してもだめ。
mke2fs -Sでスーパーブロックを再び作成しなおして、またfsck -y "device"でチャレンジだ。
シャットダウンはしていないのでスワップファイルは生きたままのはず。

と、ここまでは7月16日の話、

でやっとfsckが終了したのが、今日、8月14日だ。
途中なんども、もういいかと思ったが、最後まで見届けることにした結果、
File system was modified
Warnning Filesystem has still errors
xxxx/xxxx files (xx% non-contiguous) , xxxx/xxxx blocks
というメッセージで終わっていた。
contiguousは隣接する、連続的なという意味だから、
non-contiguousは、ぶつ切り状態ってことだな。
これが何を意味するのかよくわからないが、エラーはまだあるってことはわかる。

これで再起動してダメなら諦めるしかないかな。



やっぱりダメでした。

で、リードライトモードでリマウントして/etc/fstabを編集して、壊れたHDDの自動マウントを解除して再起動。特に問題なく動作しているようだ。当たり前だは。

せっかくだから、HDDのブロック検査もやってみた。

badblocks -wvs /dev/sdc
HDD全体の検査のためアンマウント状態で実行。

Checking for bad blocks in read-write mode
From block 0 to 2930266584
Testing with pattern 0xaa: done                              
Reading and comparing: done                              
Testing with pattern 0x55: done                              
Reading and comparing: done                              


バーボースモードやめとけばよかった。

Testing with pattern 0xff: done                              
Reading and comparing: done                              
Testing with pattern 0x00: done                              
Reading and comparing: done                              
Pass completed, 0 bad blocks found.

1週間くらいかかったかな。

結局bad blockはなかった。
なんでHDDのスーパーブロックが壊れたかは不明だ。

その後、あらためてファイルシステムを作成(
 EXT4は作成後,変換が必要なようだ。
 tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sdc1
 オプションの意味は不明。

してマウントしたところ、正常に動作してるっぽい。

今日は9月14日だ。
トラぶったのはよく覚えてないけど7月だったな。たしか。
結局、保存ファイルのサルベージは出来なかったが、HDDとしては復旧はしたけど、その期間、特にHDDが不足もしなかった。最初から余計なHDDだったのかも。
だが、linuxの勉強になったので、よしとするか。

0 件のコメント:

コメントを投稿