トップ «前の日記(2011-03-03 [Thu]) 最新 次の日記(2011-03-11 [Fri])» 編集

どさ日記

2003|02|
2004|02|03|05|
2005|01|02|03|04|05|06|07|08|
2007|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|01|02|03|04|05|06|07|08|
2013|11|12|
2014|01|11|
2026|09|

2011-03-10 [Thu]

_ TeraStation 修復(1)

UPSを接続するために正規手順で電源OFF、その後電源ONしたら、以下のエラーメッセージを出して起動できなくなったBUFFALO TeraStation HS-DH1.0TGL/R5 の修復顛末。

System Error E04 / Can't Load Krnl

まずはHDDを外して、物理イメージを別のサーバ上に抜き出す作業。FreeBSD環境でSATA接続、いつものddrescueコマンドを使用。この時点でSMARTのエラーカウントやddrescueの実行時エラーなども合わせて確認するが、まったくエラーは出ていない。つまり「論理的な死亡」と判断。

いろいろ調べていると、 EM(Emergency Mode) になった時点でファームウェアを入れ替えすればOKという記述を見つけた。とにかく再起動を繰り返して、EMになった時点でファームウェアを入れ替え、再起動をするも、また Can't Load Krnl で停止。

TeraStation上での修復をあきらめ、CentOS 5.5をインストールしたPCを準備、これにTeraStationのHDDを順番に注意して接続し、HDDの構成を確認。試験環境では /dev/sda がCentOSの入ったHDD、TeraStationのHDD 4台は /dev/sd[bcde] に順番に接続された。/dev/sdb の状態。

[root@cent55-01 /]# fdisk -l -u /dev/sdb

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = セクタ数 of 1 * 512 = 512 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      594404      297171   83  Linux
/dev/sdb2          594405     1590434      498015   83  Linux
/dev/sdb4         1590435   488392064   243400815    5  拡張領域
/dev/sdb5         1590498     1863539      136521   82  Linux swap / Solaris
/dev/sdb6         1863603   488215349   243175873+  83  Linux
[root@cent55-01 /]#

容量から判断してsd[bcde]6にデータ領域があると判断。あとはネット上の情報など参照にソフトウェアRAID5の復旧

[root@cent55-01 /]# mdadm -C /dev/md0 -l5 -n4 -f /dev/sd[bcde]6

修復中

[root@cent55-01 /]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sde6[3] sdd6[2] sdc6[1] sdb6[0]
      729527424 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
      [=================>...]  resync = 87.0% (211589760/243175808) finish=10.1min speed=51808K/sec

unused devices: <none>
[root@cent55-01 /]#

まぁいいや。さらにWeb上の情報を色々と調べると「メディアサーバ」を 使用しない設定にしておかなければ ファームウェアの更新がうまく いかないことが判明。しらべてみるとファイルシステム上にcoreが残っており、 これがあからさまにメディアサーバを示してる。

[root@cent55-01 /]# mount /dev/sdb2 /mnt
[root@cent55-01 /]# strings /mnt/core.* | grep media | head -3
mediaserver
/usr/mediaserver/mediaserver
mediaserver.moduledir
[root@cent55-01 /]#

ならば、強制的に止めてしまえ。

[root@cent55-01 /]#cd /mnt/etc/melco/
[root@cent55-01 /mnt/etc/melco]#cp pcast_mp2000  /tmp
[root@cent55-01 /mnt/etc/melco]#cd /tmp
[root@cent55-01 /tmp]#cp pcast_mp2000  pcast_mp2000.orig
[root@cent55-01 /tmp]#vi pcast_mp2000
                      # 最初の行の server=on を server=off に書き換え
[root@cent55-01 /tmp]#cp pcast_mp2000 /mnt/etc/melco/
[root@cent55-01 /tmp]#umount /mnt ; mount /dev/sdc2 /mnt
[root@cent55-01 /tmp]#cp -u pcast_mp2000 /mnt/etc/melco/pcast_mp2000
[root@cent55-01 /tmp]#umount /mnt ; mount /dev/sdd2 /mnt
[root@cent55-01 /tmp]#cp -u pcast_mp2000 /mnt/etc/melco/pcast_mp2000
[root@cent55-01 /tmp]#umount /mnt ; mount /dev/sde2 /mnt
[root@cent55-01 /tmp]#cp -u pcast_mp2000 /mnt/etc/melco/pcast_mp2000
[root@cent55-01 /tmp]#umount /mnt

そうこうしているうちに、RAID5の修復が終わったようだ。

[root@cent55-01 /]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sde6[3] sdd6[2] sdc6[1] sdb6[0]
      729527424 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

unused devices: <none>
[root@cent55-01 /]#

マウントしようとしたが、エラーとなる。

[root@cent55-01 /]# mount /dev/md0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/md0,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

[root@cent55-01 /]#

元通りの筐体に組みなおして、再起動してみる。。。が、駄目。全てのディスク が認識されていないようだ。Webでの設定画面から確認すると、フォーマットさ れていない旨の表示。mdadmコマンドで修復かけたときに壊れたようだ。

・・・さて、どうするかな。とりあえずHDDのデータをバックアップから戻そう。

 第一部、ここまで。(つづくぞ、多分)

参照ページ:

http://www13.atwiki.jp/usonx/pages/36.html

http://www.syati-project.jp/linux/terastation.html

http://blogs.yahoo.co.jp/sukashi_jp/4831136.html


トップ «前の日記(2011-03-03 [Thu]) 最新 次の日記(2011-03-11 [Fri])» 編集