以下のように、/dev/sdb1デバイスがfaltyとなっているようです。
この状態で/dev/md0をstart(run)し、/dev/sdb1をパリティから
復旧させる方法をご教授下さい。
宜しくお願い致します。
[root@zeus ~]# mdadm --examine /dev/sda1
/dev/sda1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a808e - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 3 8 1 3 active sync /dev/sda1
0 0 8 49 0 active sync /dev/sdd1
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mdadm --examine /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Update Time : Sat Aug 25 12:56:04 2007
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Checksum : c4ae01b4 - correct
Events : 0.66035970
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 2 8 17 2 active sync /dev/sdb1
0 0 8 49 0 active sync /dev/sdd1
1 1 8 33 1 active sync /dev/sdc1
2 2 8 17 2 active sync /dev/sdb1
3 3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a80aa - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 33 1 active sync /dev/sdc1
0 0 8 49 0 active sync /dev/sdd1
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mdadm --examine /dev/sdd1
/dev/sdd1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a80b8 - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 49 0 active sync /dev/sdd1
0 0 8 49 0 active sync /dev/sdd1
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
----- Original Message -----
Subject: [linux-users:107864] ソフトウェアRAID5の障害によるカーネルパニック
Date: 2008年1月14日 6:12:41 (JST)
From: Yusuke <linux...@hyk-home.com>
To: linux...@linux.or.jp
> 皆様
>
> 最近質問ばかりしているものです。
> mdドライバを用いたRAID5ボリュームを使っているのですが、
> これが壊れてしまったようでカーネルパニックが起きています。
> 障害復旧の方法をご教授いただけないでしょうか?
>
> ■障害経緯
> 4つのディスク(sda1,2,3,4)をmdドライバにてRAID5として構築(/dev/md0)。
> その領域をmountし、sambaでWindows共有していました。
>
> Windowsから共有領域へzipファイルを100程度置き、同時に解凍を始めたら
> 全てのLhaPlusが異常終了し、今回の現象が発生しました。
>
> ■システムバージョン
> CentOS 4.5 (kernel 2.6.9-55.0.2.ELcustom)
> samba 3.0以上
>
> ■やりたいこと
> 障害が発生したRAID5ボリュームを復旧、もしくは可能な限り
> データを吸い出したい。
>
> ■障害詳細
> ブート時のコンソール出力を添付します。
> また、rescueモードで立ち上げることも可能です。
>
> 以上、どうぞ宜しくお願いいたします。
>
>
--
===============================
長谷川祐介 <yus...@hyk-home.com>
「Yusuke」さんの書かれた、
「[linux-users:107864] ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> 4つのディスク(sda1,2,3,4)をmdドライバにてRAID5として構築(/dev/md0)。
boot.txtをみると、sd[abcd]1ですね。
> Windowsから共有領域へzipファイルを100程度置き、同時に解凍を始めたら
> 全てのLhaPlusが異常終了し、今回の現象が発生しました。
そのときのログファイル(syslog,messages,kern.logなど)は見ましたか。
何か原因が出力されているかもしれません。
また、"mdadm --monitor"が動作していれば、そのときのログがメールで
送られているかもしれません。
壊れた原因が重要なので、復旧した後でも良いのではっきりさせておいて
ほしいです。
> 障害が発生したRAID5ボリュームを復旧、もしくは可能な限り
> データを吸い出したい。
データを吸い出すのであれば、問題となるHDDを外せば普通にマウントで
きると思います。
ただ、冗長構成ではなくなります(当たり前ですが)。
必要なデータがあるのなら、このときにすべてバックアップしてください。
> 以下のように、/dev/sdb1デバイスがfaltyとなっているようです。
> この状態で/dev/md0をstart(run)し、/dev/sdb1をパリティから
> 復旧させる方法をご教授下さい。
その/dev/sdbはもう使わない方がよいと思いますが、リスクを承知の上で
使う場合は以下のようにすればつかえそうです。
まず、/dev/sdb1からアレイの情報を消します。
# mdadm --zero-superblock /dev/sdb1
次に、アレイから/dev/sdb1の情報を消します。
# mdadm /dev/md0 --remove /dev/sdb1
その後、既存アレイに追加します。
# mdadm /dev/md0 --add /dev/sdb1
ただ、/dev/sdb1をそのままアレイに組み直す前に、適当なファイルシス
テムでチェック付きのフォーマットをしてみる方がよいと思います。HDD容
量によってはかなりの時間がかかると思いますが。
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
sdb1がおかしいことにより上がらない可能性が高いなら、
ハード的に抜いてしまってはどうでしょう?
それできれいに上がるなら、そのディスクがハード的におかしいか、
変なデータが書き込まれているのだとおもいます。
後者なら、ddで頭を書き潰すなりして再度追加すれば使えるように
なると思います。
逆にsdb1を抜いても上がって来ないなら、復旧は難しいと思います...
しかしなんでそうなったのかは疑問が残ります。
MDもかなり枯れて来た技術なので、こういうのは滅多に見ません。
メモリーとかCPUキャッシュにエラーがあったりしませんかね?
一度memtest86+等でメモリーテストすることをお勧めします。
ご参考までに。
--
きたむら
At Mon, 14 Jan 2008 07:11:56 +0900,
長谷川です。お返事ありがとうございます。
> sdb1がおかしいことにより上がらない可能性が高いなら、
> ハード的に抜いてしまってはどうでしょう?
それを試そうと思います。
> MDもかなり枯れて来た技術なので、こういうのは滅多に見ません。
> メモリーとかCPUキャッシュにエラーがあったりしませんかね?
> 一度memtest86+等でメモリーテストすることをお勧めします。
かなり古いマシンなので、その可能性はアルかもしれません。
現在の障害がなんとか復旧できたら、そのテストも試してみます。
以上、宜しくお願い致します。
/dev/sdbをとりはずし起動したところ、
デバイスのminor番号が変わってしまったのか、
以下のような結果となりました。
/dev/sdc (はずす前は/dev/sdd) がRAIDの一部から
はずれてしまっている状態(?)になっています。
これを戻す方法をご教授いただけませんでしょうか?
[root@zeus ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 1月 14 2008 /dev/sda
brw-rw---- 1 root disk 8, 1 1月 14 2008 /dev/sda1
brw-rw---- 1 root disk 8, 16 1月 14 2008 /dev/sdb
brw-rw---- 1 root disk 8, 17 1月 14 2008 /dev/sdb1
brw-rw---- 1 root disk 8, 32 1月 14 2008 /dev/sdc
brw-rw---- 1 root disk 8, 33 1月 14 2008 /dev/sdc1
[root@zeus ~]# mdadm --examine /dev/sda1
/dev/sda1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a808e - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 3 8 1 3 active sync /dev/sda1
0 0 8 49 0 active sync
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]# mdadm --examine /dev/sdb1
/dev/sdb1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a80aa - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 33 1 active sync /dev/sdc1
0 0 8 49 0 active sync
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
[root@zeus ~]# mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 00.90.00
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Update Time : Sun Jan 13 20:13:25 2008
State : active
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Checksum : c56a80b8 - correct
Events : 0.66180609
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 49 0 active sync
0 0 8 49 0 active sync
1 1 8 33 1 active sync /dev/sdc1
2 2 0 0 2 faulty removed
3 3 8 1 3 active sync /dev/sda1
--
===============================
長谷川祐介 <yus...@hyk-home.com>
「Yusuke」さんの書かれた、
「[linux-users:107868] Re: ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> messagesには、添付ファイルのものが記載されていました。
> 問題が発生した時間は2008/01/14 20:00頃だと記憶しています。
1/13 20:13:28のログを見ましたが、カーネルパニックとなっていること
しかわかりませんでした。
> 先頭に「sdc」でハードエラーが出ているところが気になります。
> sdcも壊れてしまっているのでしょうか?
添付のログにはそのようなところは見つかりませんでした。
どの部分のことですか。
> 現在は/dev/md0が存在しない状態です。
/dev/md0が存在しないのは、アレイを構成するための条件がそろわなかっ
たためだと思われます。
> 問題があると思われるsdbをはずすことで、再起動後に/dev/md0が再作成されるのでしょうか?
北村さんが書いているように、アレイを何とかするよりも先にメモリのチェッ
クをしてみた方がよいかと思います。
メモリの信頼性がないと、動作にも信頼性がなくなります。
メモリのチェックが問題ない場合、以下の情報をください。
・"fdisk -l /dev/sd[abcd]"の結果
・mdadm.confの内容
アレイの情報として物理的な名前(/dev/sda1など)がなければ、接続場所
を変えるなどしても問題なくつかえると思います。
ちなみに、私の場合は以下のようになっています。
# fdisk -l /dev/sdc
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 60801 488384001 fd Linux raid autodetect
# cat /etc/mdadm/mdadm.conf
DEVICE partitions
CREATE owner=root group=disk mode=0660 auto=yes
HOMEHOST <system>
MAILADDR root
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=7212cf7e:ff0cfbe6:a46c006e:e530b95b
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=1e13d7c0:df464498:d8eea54a:2808e1ea
ARRAY /dev/md2 level=raid5 num-devices=4 UUID=1cf80e1c:720765a3:2ee5cdfe:789e293b
あと、使用しているディストリビューションも教えてください。
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。お返事ありがとうございます。
>> messagesには、添付ファイルのものが記載されていました。
>> 問題が発生した時間は2008/01/14 20:00頃だと記憶しています。
>
> 1/13 20:13:28のログを見ましたが、カーネルパニックとなっていること
> しかわかりませんでした。
やはりそうでしたか。boot.log、smbd.logなどにも、気になるメッセージはありませんでした。
>> 先頭に「sdc」でハードエラーが出ているところが気になります。
>> sdcも壊れてしまっているのでしょうか?
>
> 添付のログにはそのようなところは見つかりませんでした。
> どの部分のことですか。
先頭の以下の部分です。
Jan 13 13:04:24 zeus kernel: ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
Jan 13 13:04:24 zeus kernel: ata3.00: cmd c8/00:28:97:6e:7a/00:00:00:00:00/e4 tag 0 cdb 0x0 data
20480 in
Jan 13 13:04:24 zeus kernel: res 50/00:00:be:6e:7a/00:00:00:00:00/e4 Emask 0x1 (device error)
Jan 13 13:04:24 zeus kernel: ata3.00: configured for UDMA/100
Jan 13 13:04:24 zeus kernel: ata3: EH complete
Jan 13 13:04:24 zeus kernel: SCSI device sdc: 488397168 512-byte hdwr sectors (250059 MB)
Jan 13 13:04:24 zeus kernel: SCSI device sdc: drive cache: write back
> ・"fdisk -l /dev/sd[abcd]"の結果
> ・mdadm.confの内容
>
> アレイの情報として物理的な名前(/dev/sda1など)がなければ、接続場所
> を変えるなどしても問題なくつかえると思います。
先にこちらの情報を展開させて頂きます。
以下になりますので、ご確認下さい。
[root@zeus ~]# fdisk -l /dev/sda
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 30401 244196001 fd Linux raid 自動検出
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 30401 244196001 fd Linux raid 自動検出
[root@zeus ~]#
[root@zeus ~]# fdisk -l /dev/sdc
Disk /dev/sdc: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sdc1 * 1 30401 244196001 fd Linux raid 自動検出
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=18f233fa:30924c49:59199e7d:dbbea21a
devices=/dev/sdd1,/dev/sdc1,/dev/sdb1,/dev/sda1
> あと、使用しているディストリビューションも教えてください。
CentOS-4.5 i386 (2.6.9-55.0.2.ELcustom)
です。
> 北村さんが書いているように、アレイを何とかするよりも先にメモリのチェッ
> クをしてみた方がよいかと思います。
> メモリの信頼性がないと、動作にも信頼性がなくなります。
これから試してみます。
以上、宜しくお願い致します。
--
===============================
長谷川祐介 <yus...@hyk-home.com>
「Yusuke」さんの書かれた、
「[linux-users:107872] Re: ソフトウェアRAID5の障害によるカーネルパニッ
ク」についての返事です。
> Jan 13 13:04:24 zeus kernel: res 50/00:00:be:6e:7a/00:00:00:00:00/e4 Emask 0x1 (device error)
この行のことですかね。見逃していました。
ちょっとググってみましたが、情報は見つかりませんでした。
やはり、HDDが物理的に壊れているのかもしれません。
後は、ケーブルが抜けかかっているとか。
> /dev/sda1 * 1 30401 244196001 fd Linux raid 自動検出
RAIDパーティションとして設定されているので、デバイスの指定は自動で
よいと思います。
/proc/partitionsが存在するのであれば、mdadm.confを以下のようにして
みてください。
#デバイス名の指定はなくても良いでしょう。
DEVICE partitions
ARRAY /dev/md0 level=raid5 num-devices=4 UUID=18f233fa:30924c49:59199e7d:dbbea21a
これで、つながっているデバイスからアレイが作成されるはずです。
あと、メモリチェックが終わった後にでも、以下の情報をください。
# mdadm --detail /dev/md0
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。お返事ありがとうございます。
memtest64+ を2周流してみましたが、エラーはありませんでした。
> あと、メモリチェックが終わった後にでも、以下の情報をください。
>
> # mdadm --detail /dev/md0
こちらですが、ブート時のコンソール出力に以下のようなメッセージが出て、
/dev/md0が作成されていません。
raid5: automatically using best checksumming function: pIII_sse
pIII_sse : 1220.000 MB/sec
raid5: using function: pIII_sse (1220.000 MB/sec)
Loading raid5.ko module
md: raid5 personality registered as nr 4
Loading jbd.ko module
Loading ext3.ko module
md: Autodetecting RAID arrays.
md: autorun ...
md: considering sdc1 ...
md: adding sdc1 ...
md: adding sdb1 ...
md: adding sda1 ...
md: created md0
md: bind<sda1>
md: bind<sdb1>
md: bind<sdc1>
md: running: <sdc1><sdb1><sda1>
md: md0: raid array is not clean -- starting background reconstruction
raid5: device sdc1 operational as raid disk 0
raid5: device sdb1 operational as raid disk 1
raid5: device sda1 operational as raid disk 3
raid5: cannot start dirty degraded array for md0
RAID5 conf printout:
--- rd:4 wd:3 fd:1
disk 0, o:1, dev:sdc1
disk 1, o:1, dev:sdb1
disk 3, o:1, dev:sda1
raid5: failed to run raid set md0
md: pers->run() failed ...
md :do_md_run() returned -22
md: md0 stopped.
md: unbind<sdc1>
md: export_rdev(sdc1)
md: unbind<sdb1>
md: export_rdev(sdb1)
md: unbind<sda1>
md: export_rdev(sda1)
md: ... autorun DONE.
> /proc/partitionsが存在するのであれば、mdadm.confを以下のようにして
> みてください。
> #デバイス名の指定はなくても良いでしょう。
>
> DEVICE partitions
> ARRAY /dev/md0 level=raid5 num-devices=4 UUID=18f233fa:30924c49:59199e7d:dbbea21a
>
> これで、つながっているデバイスからアレイが作成されるはずです。
こちらを試してみて、/dev/md0が作成されるかどうかを確かめてみます。
以上、宜しくお願い致します。
--
===============================
長谷川祐介 <yus...@hyk-home.com>
長谷川です。
> /proc/partitionsが存在するのであれば、mdadm.confを以下のようにして
> みてください。
> #デバイス名の指定はなくても良いでしょう。
>
> DEVICE partitions
> ARRAY /dev/md0 level=raid5 num-devices=4 UUID=18f233fa:30924c49:59199e7d:dbbea21a
これを行なって再起動してみましたが、以下のようなブートログが記録され、
アレイは作成されませんでした。
また、各デバイスの状態は以下のようになっています。
/dev/sdc1(旧 /dev/sdd1)がアレイに追加されていないのが
原因のように見えるのですが、いかがでしょうか?
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mdadm --examine /dev/sdd1
mdadm: cannot open /dev/sdd1: No such file or directory
mdadm: cannot find device size for /dev/sdd1: No such file or directory
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 1月 15 2008 /dev/sda
brw-rw---- 1 root disk 8, 1 1月 15 2008 /dev/sda1
brw-rw---- 1 root disk 8, 16 1月 15 2008 /dev/sdb
brw-rw---- 1 root disk 8, 17 1月 15 2008 /dev/sdb1
brw-rw---- 1 root disk 8, 32 1月 15 2008 /dev/sdc
brw-rw---- 1 root disk 8, 33 1月 15 2008 /dev/sdc1
「Yusuke」さんの書かれた、
「[linux-users:107875] Re: ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> > DEVICE partitions
> > ARRAY /dev/md0 level=raid5 num-devices=4 UUID=18f233fa:30924c49:59199e7d:dbbea21a
>
> これを行なって再起動してみましたが、以下のようなブートログが記録され、
> アレイは作成されませんでした。
私が以前遭遇した状況と少し違いますが、強制的に起動してみるといける
かもしれません。
# echo 1 > /sys/module/md_mod/parameters/start_dirty_degraded
# mdadm --run /dev/md0
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。何度もありがとうございます。
> 私が以前遭遇した状況と少し違いますが、強制的に起動してみるといける
> かもしれません。
>
> # echo 1 > /sys/module/md_mod/parameters/start_dirty_degraded
> # mdadm --run /dev/md0
試そうとしましたが、「/sys/module/md_mod/parameters/start_dirty_degraded」が
存在しませんでした。
現在ロードされているモジュール一覧は以下です。
何かロードされていないものがあるのでしょうか?
[root@zeus ~]# lsmod | sort
Module Size Used by
ata_piix 15364 0
autofs4 28292 0
diskdump 25900 2 ide_dump,scsi_dump
dm_mirror 30980 0
dm_mod 65976 1 dm_mirror
ext3 117256 2
floppy 59056 0
ide_dump 6420 1
ipv6 237120 8
jbd 72216 1 ext3
libata 111196 2 ata_piix,sata_promise
md5 4352 1
r8169 30468 0
raid5 25344 0
sata_promise 12804 0
scsi_dump 11080 0
scsi_mod 125068 3 scsi_dump,libata,sd_mod
sd_mod 17024 6
snd 56548 10
snd_es1938,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_opl3_lib,snd_timer,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device
snd_es1938 21672 0
snd_hwdep 10244 1 snd_opl3_lib
snd_mixer_oss 18560 1 snd_pcm_oss
snd_mpu401_uart 9088 1 snd_es1938
snd_opl3_lib 11776 1 snd_es1938
snd_page_alloc 10120 1 snd_pcm
snd_pcm 98440 2 snd_es1938,snd_pcm_oss
snd_pcm_oss 49848 0
snd_rawmidi 27044 1 snd_mpu401_uart
snd_seq_device 8456 2 snd_opl3_lib,snd_rawmidi
snd_timer 30340 2 snd_pcm,snd_opl3_lib
soundcore 10336 1 snd
sunrpc 163556 1
uhci_hcd 31768 0
xor 13448 1 raid5
zlib_deflate 21016 1 diskdump
--
===============================
長谷川祐介 <yus...@hyk-home.com>
長谷川です。
特に何もしていなかったのですが、mdadm --detailで/dev/md0の状態が表示されるようになりました。
しかし、mountしようとするとsuper block が読み込めないというエラーが表示されます。
これはファイルシステムのチェックをかければ良いという状態なのでしょうか?
[root@zeus ~]# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Device Size : 244195904 (232.88 GiB 250.06 GB)
Raid Devices : 4
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Jan 13 20:13:25 2008
State : active, degraded
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Events : 0.66180609
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 17 1 active sync /dev/sdb1
2 0 0 - removed
3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mdadm --assemble --scan /dev/md0
mdadm: device /dev/md0 already active - cannot assemble it
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mount /dev/md0 /data
/dev/md0: 無効な引数です
FAT: unable to read boot sector
mount: /dev/md0: スーパーブロックを読めません
----- Original Message -----
Subject: [linux-users:107877] Re: ソフトウェアRAID5の障害によるカーネルパニック
Date: 2008年1月14日 17:59:51 (JST)
From: Yusuke <linux...@hyk-home.com>
To: linux...@linux.or.jp
「Yusuke」さんの書かれた、
「[linux-users:107877] Re: ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> > # echo 1 > /sys/module/md_mod/parameters/start_dirty_degraded
> > # mdadm --run /dev/md0
>
> 試そうとしましたが、「/sys/module/md_mod/parameters/start_dirty_degraded」が
> 存在しませんでした。
私はDebianを使用しているので、この辺は違うのかもしれません。
カーネルパラメータで、"md_mod.start_dirty_degraded=1"を指定してみ
てはどうですか。
http://man.sourcentral.org/centos5/4+md
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。今日は一日中つきあって頂き、誠にありがとうございます。
> 私はDebianを使用しているので、この辺は違うのかもしれません。
>
> カーネルパラメータで、"md_mod.start_dirty_degraded=1"を指定してみ
> てはどうですか。
> http://man.sourcentral.org/centos5/4+md
こちら試してみました。が、状況は変わりませんでした。
RAID5デバイスはdegradeですが、activeとなったためmountを試したところ、
以下のようにカーネルダンプを吐いて停止してしまいました。
ファイルシステムはxfsです。super blockが壊れているようなのですが、
これを復旧すれば良いのでしょうか?
[root@zeus ~]# xfs_check /dev/md0
xfs_check: /dev/md0 is invalid (cannot read first 512 bytes)
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# mount -t xfs -o ro /dev/md0 /data
XFS: SB read failed
Unable to handle kernel NULL pointer dereference at virtual address 00000000
printing eip:
e084df10
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: xfs(U) md5(U) ipv6(U) autofs4(U) sunrpc(U) ide_dump(U) scsi_dump(U) diskdump(U)
zlib_deflate(U) dm_mirror(U) dm_mod(U) uhci_hcd(U) snd_es1938(U) snd_pcm_oss(U) snd_mixer_oss(U)
snd_pcm(U) snd_page_alloc(U) snd_opl3_lib(U) snd_timer(U) snd_hwdep(U) snd_mpu401_uart(U)
snd_rawmidi(U) snd_seq_device(U) snd(U) soundcore(U) r8169(U) floppy(U) ata_piix(U) ext3(U) jbd(U)
raid5(U) xor(U) sata_promise(U) libata(U) sd_mod(U) scsi_mod(U)
CPU: 0
EIP: 0060:[<e084df10>] Not tainted VLI
EFLAGS: 00010286 (2.6.9-55.0.2.ELcustom)
EIP is at raid5_unplug_device+0xb/0x17c [raid5]
eax: df89ed78 ebx: df480d88 ecx: c0259b2c edx: df89ed78
esi: 00000000 edi: df480dd8 ebp: 00000000 esp: df480dbc
ds: 007b es: 007b ss: 0068
Process mount (pid: 3726, threadinfo=df480000 task=dbec5950)
Stack: df480d88 df480dd8 df480dd8 c0259b3b e0b1c39c 00000001 daf4b7c0 df480dd8
df480dd8 00000005 de7eb400 dfcebdc0 dbbfa000 e0b1147b de2940e0 00000000
00000000 00000000 e0b3a560 de7eb400 dfcebdc0 dbbfa000 e0b219ce ded31c00
Call Trace:
[<c0259b3b>] blk_backing_dev_unplug+0xf/0x10
[<e0b1c39c>] xfs_flush_buftarg+0x241/0x24b [xfs]
[<e0b1147b>] xfs_mount+0x30b/0x354 [xfs]
[<e0b219ce>] vfs_mount+0x1a/0x1d [xfs]
[<e0b2189d>] linvfs_fill_super+0x76/0x17a [xfs]
[<c01ebee3>] snprintf+0x17/0x1a
[<c01af91f>] disk_name+0x1f/0x60
[<c0174b37>] get_sb_bdev+0xe0/0x11c
[<c01d4c17>] selinux_sb_copy_data+0x158/0x164
[<e0b219af>] linvfs_get_sb+0xe/0x13 [xfs]
[<e0b21827>] linvfs_fill_super+0x0/0x17a [xfs]
[<c0174d00>] do_kern_mount+0x8a/0x144
[<c018fb3f>] do_new_mount+0x61/0x90
[<c01905bd>] do_mount+0x178/0x190
[<c014fd14>] __alloc_pages+0xb4/0x2a6
[<c0190a72>] sys_mount+0x10d/0x1df
[<c031c9bf>] syscall_call+0x7/0xb
Code: cc f4 84 e0 68 45 f5 84 e0 e8 00 60 8d df c7 83 88 00 00 00 00 00 00 00 57 9d 5e 5b 5e 5f 5d
c3 57 89 c2 56 53 8b b0 a4 01 00 00 <8b> 1e 85 db 0f 84 63 01 00 00 9c 5f fa 81 bb 84 00 00 00 3c 4b
start dumping to hda5
check dump partition...
dumping memory..
130970/130970
<6>disk_dump: diskdump succeeded
<0>halt
--
===============================
長谷川祐介
「Yusuke」さんの書かれた、
「[linux-users:107880] Re: ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> RAID5デバイスはdegradeですが、activeとなったためmountを試したところ、
> 以下のようにカーネルダンプを吐いて停止してしまいました。
/proc/mdstatの内容はどうなっていますか。
/dev/md0がなければ、"mdadm --run /dev/md0"、もしくは"mdadm --run
--force /dev/md0"をやってみてください。
> ファイルシステムはxfsです。super blockが壊れているようなのですが、
> これを復旧すれば良いのでしょうか?
1ドライブが壊れただけなら、ファイルシステムでの復旧はいらないと思
います。
書き込み系の作業はまだ行わない方がよいでしょう。
書き込み中にカーネルパニックになったようなので、ファイルシステムも
おかしくなっている可能性もありますが。
あと、今回の問題とは違うようですが、以下のスレッドで何かヒントにな
りそうなものはありませんか。
http://lists.debian.or.jp/debian-users/200507/msg00190.html
ところで、メモリテストを2週ほど流して問題なかったようですが、もっ
と低確率でエラーとなる場合もあるので、今夜寝るときはメモリテストを実
行しっぱなしにしておくと良いでしょう。
#memtest64は知りませんでした。
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。たびたびありがとうございます。
>> RAID5デバイスはdegradeですが、activeとなったためmountを試したところ、
>> 以下のようにカーネルダンプを吐いて停止してしまいました。
>
> /proc/mdstatの内容はどうなっていますか。
> /dev/md0がなければ、"mdadm --run /dev/md0"、もしくは"mdadm --run
> --force /dev/md0"をやってみてください。
起動直後の状態は、以下になっています。
[root@zeus ~]# cat /proc/mdstat
Personalities : [raid5]
md0 : inactive sdc1[0] sda1[3] sdb1[1]
732587712 blocks
unused devices: <none>
> あと、今回の問題とは違うようですが、以下のスレッドで何かヒントにな
> りそうなものはありませんか。
> http://lists.debian.or.jp/debian-users/200507/msg00190.html
指定のスレッドを見てみましたが、
・今回の現象では1台しか壊れていないのにRAID5アレイが復旧できない。
・スレッドでは、既に使ったHDDを再度RAID1アレイに追加しようとして問題が起きた
とやっていることが異なっていることから、有用な情報は得ることが出来ませんでした。
申し訳ありません。
> ところで、メモリテストを2週ほど流して問題なかったようですが、もっ
> と低確率でエラーとなる場合もあるので、今夜寝るときはメモリテストを実
> 行しっぱなしにしておくと良いでしょう。
> #memtest64は知りませんでした。
今日はあきらめて、そうしてみます。
以上、ありがとうございました。
> 後者なら、ddで頭を書き潰すなりして再度追加すれば使えるように
> なると思います。
RAID5のに使ったドライブの情報は、「頭」にはありません。どっちかと言え
ば、尻尾の方にあります。
確実に消すには、
# mdadm --zero-superblock デバイス名
で行います。
どうしようもなくなった時のRAIDの復旧については、私の日記にやってみたこと
を書いています。
無理やりのRAID復旧
http://www.nurs.or.jp/~ogochan/essay/archives/1010
どうしようもなくなったら、試してみて下さい。
--
ogo...@nurs.or.jp -> http://www.nurs.or.jp/
Masami Ogoshi -> http://www.nurs.or.jp/~ogochan/
Dai 2 Ikeda Bldg 4F 2-7-10 Taitou Taitou-ku Tokyo 110-0016 JAPAN
長谷川です。たびたび申し訳ありません。
>> ファイルシステムはxfsです。super blockが壊れているようなのですが、
>> これを復旧すれば良いのでしょうか?
>
> 1ドライブが壊れただけなら、ファイルシステムでの復旧はいらないと思
> います。
> 書き込み系の作業はまだ行わない方がよいでしょう。
> 書き込み中にカーネルパニックになったようなので、ファイルシステムも
> おかしくなっている可能性もありますが。
ご指摘の通り、縮退状態でアレイは起動しているので、
次はxfsファイルシステムの復旧と考えています。
[root@zeus ~]# xfs_check /dev/md0
xfs_check: /dev/md0 is invalid (cannot read first 512 bytes)
と出ていますので、xfsのスーパーブロックの復旧が出来ないか考えているところです。
> ところで、メモリテストを2週ほど流して問題なかったようですが、もっ
> と低確率でエラーとなる場合もあるので、今夜寝るときはメモリテストを実
> 行しっぱなしにしておくと良いでしょう。
> #memtest64は知りませんでした。
24時間、15周流してみましたが、メモリエラーは検出されませんでした。
--
===============================
長谷川祐介 <yus...@hyk-home.com>
長谷川です。ご返答ありがとうございます。
> どうしようもなくなった時のRAIDの復旧については、私の日記にやってみたこと
> を書いています。
>
> 無理やりのRAID復旧
> http://www.nurs.or.jp/~ogochan/essay/archives/1010
現在は縮退状態でアレイは起動しています。
紹介頂いた raidzap で情報を調べてみたのですか、
何かDEの情報に矛盾はあるでしょうか?
[root@zeus tmp]# ./raidzap -l /dev/sda1
Yes MD
version = 0.90.0
uuid = 18f233fa-30924c49-59199e7d-dbbea21a
event_lo = 0
event_hi = 66180609
level = 5
nr_disks = 3
active_disks = 3
spare_disks = 0
failed_disks = 1
chunk_size = 65536
state = clean
this state = 6SA
disk number = 3
no = 3
dev = 8,1
raid_disk = 3
state = 6SA
no = 0
dev = 8,49
raid_disk = 0
state = 6SA
no = 1
dev = 8,33
raid_disk = 1
state = 6SA
no = 2
dev = 0,0
raid_disk = 2
state = 9FR
no = 3
dev = 8,1
raid_disk = 3
state = 6SA
[root@zeus tmp]#
[root@zeus tmp]#
[root@zeus tmp]# ./raidzap -l /dev/sdb1
Yes MD
version = 0.90.0
uuid = 18f233fa-30924c49-59199e7d-dbbea21a
event_lo = 0
event_hi = 66180609
level = 5
nr_disks = 3
active_disks = 3
spare_disks = 0
failed_disks = 1
chunk_size = 65536
state = clean
this state = 6SA
disk number = 1
no = 1
dev = 8,33
raid_disk = 1
state = 6SA
no = 0
dev = 8,49
raid_disk = 0
state = 6SA
no = 1
dev = 8,33
raid_disk = 1
state = 6SA
no = 2
dev = 0,0
raid_disk = 2
state = 9FR
no = 3
dev = 8,1
raid_disk = 3
state = 6SA
[root@zeus tmp]#
[root@zeus tmp]# ./raidzap -l /dev/sdc1
Yes MD
version = 0.90.0
uuid = 18f233fa-30924c49-59199e7d-dbbea21a
event_lo = 0
event_hi = 66180609
level = 5
nr_disks = 3
active_disks = 3
spare_disks = 0
failed_disks = 1
chunk_size = 65536
state = clean
this state = 6SA
disk number = 0
no = 0
dev = 8,49
raid_disk = 0
state = 6SA
no = 0
dev = 8,49
raid_disk = 0
state = 6SA
no = 1
dev = 8,33
raid_disk = 1
state = 6SA
no = 2
dev = 0,0
raid_disk = 2
state = 9FR
no = 3
dev = 8,1
raid_disk = 3
state = 6SA
--
===============================
長谷川祐介
Yusuke さんの書いたこと:
> ご指摘の通り、縮退状態でアレイは起動しているので、
> 次はxfsファイルシステムの復旧と考えています。
>
> [root@zeus ~]# xfs_check /dev/md0
> xfs_check: /dev/md0 is invalid (cannot read first 512 bytes)
>
> と出ていますので、xfsのスーパーブロックの復旧が出来ないか考えているところです。
壊れ方にもよるでしょうが、RAIDのみがおかしい場合はこの辺の操作はい
らないと思います。
#仮想マシンでRAID5を作って書き込み中にリセットなど、いろいろいじめ
#てみましたが、同じState(active, degraded)にはなりませんでした。
英語なのであまり読めていませんが、以下のページは参考になりませんか。
http://www.linuxquestions.org/questions/linux-general-1/raid5-with-mdadm-does-not-ron-or-rebuild-505361/
/sys(sysfs)を有効にし、このデバイス経由でカーネルの情報を読み書き
すればよさそうです。
======================================================================
河本陽一(こうもとよういち)
mailto:komoto...@kcc.co.jp
長谷川です。
> #仮想マシンでRAID5を作って書き込み中にリセットなど、いろいろいじめ
> #てみましたが、同じState(active, degraded)にはなりませんでした。
>
> 英語なのであまり読めていませんが、以下のページは参考になりませんか。
>
http://www.linuxquestions.org/questions/linux-general-1/raid5-with-mdadm-does-not-ron-or-rebuild-505361/
>
> /sys(sysfs)を有効にし、このデバイス経由でカーネルの情報を読み書き
> すればよさそうです。
私も英語得意ではないのであまり読めていませんが、起動時のコンソール出力に
出てくるメッセージが同じなので、症状としても同じなのかもしれません。
すいません。土日にじっくり読んでみます。
情報ありがとうございました。
長谷川です。
こうもとさんから紹介されたURLをみて、無事に復旧させることができました。
具体的には、壊れたと考えられた/dev/sdbを再接続し、
mdadm -a /dev/sdb1 /dev/md0
で自動的にリカバリされました。
sdb1のEvent番号が古かったため、sdd1など最新のEventを持つ
デバイスに合わさってしまうのかと思いましたが、
データ損失を覚悟で行なって見たところ、一部データに破損は
ありましたが無事に復旧できました。
いろいろと有用なサジェスチョンを頂きまして、誠にありがとうございました。
「Yusuke」さんの書かれた、
「[linux-users:107889] Re: ソフトウェアRAID5の障害によるカーネルパニック」についての返事です。
> 具体的には、壊れたと考えられた/dev/sdbを再接続し、
>
> mdadm -a /dev/sdb1 /dev/md0
>
> で自動的にリカバリされました。
ということは、データはほかの3台にすべてあったということになり、こ
の操作を行わなくても(冗長構成ではない)アレイとしては機能していたはず
です。
上記コマンドを実行する前はマウントなどはできなかったと思いますが、
上記コマンド実行後はマウントなどができるようになったと言うことですか。
こちらで試しているときは、4台中3台だけとなった場合でもアレイとして
は普通につかえる状態でした。
> sdb1のEvent番号が古かったため、sdd1など最新のEventを持つ
> デバイスに合わさってしまうのかと思いましたが、
アレイ修復中は、どのデバイスを修復していましたか。
その書き方からすると、sdb1以外が修復されたと言うことですか。
現在は、アレイのステータスとして"State : clean"となっている状態で
すか。
そうであれば、壊れている可能性のある/dev/sdbを一度チェックしておく
と、安心できると思います。
----------------------------------------------------------------------
河本陽一(こうもとよういち)
mailto:you...@dd.iij4u.or.jp
長谷川です。いろいろとお世話になりました。
> ということは、データはほかの3台にすべてあったということになり、こ
> の操作を行わなくても(冗長構成ではない)アレイとしては機能していたはず
> です。
> 上記コマンドを実行する前はマウントなどはできなかったと思いますが、
> 上記コマンド実行後はマウントなどができるようになったと言うことですか。
確かにここは私も不思議に思っているところです。
以前のメールにも書いたかと思いますが、問題と思われていた/dev/sdb1を取り外して
3台でmdアレイが起動した状態では、xfsのマウントが出来ませんでした。
>> sdb1のEvent番号が古かったため、sdd1など最新のEventを持つ
>> デバイスに合わさってしまうのかと思いましたが、
>
> アレイ修復中は、どのデバイスを修復していましたか。
> その書き方からすると、sdb1以外が修復されたと言うことですか。
正確にどのデバイスが修復されていたかまでは分かりませんでした。
# cat /proc/mdstat で進捗を確認していた程度です。
> 現在は、アレイのステータスとして"State : clean"となっている状態で
> すか。
メール下部にある通り、現在はclean として表示されています。
> そうであれば、壊れている可能性のある/dev/sdbを一度チェックしておく
> と、安心できると思います。
どこかのタイミングで実施してみます。
以上、ご尽力頂きありがとうございました。
[root@zeus ~]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Wed Jan 25 23:02:50 2006
Raid Level : raid5
Array Size : 732587712 (698.65 GiB 750.17 GB)
Device Size : 244195904 (232.88 GiB 250.06 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Mon Jan 21 20:20:49 2008
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : 18f233fa:30924c49:59199e7d:dbbea21a
Events : 0.66186381
Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 33 1 active sync /dev/sdc1
2 8 17 2 active sync /dev/sdb1
3 8 1 3 active sync /dev/sda1
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]#
[root@zeus ~]# cat /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[0] sdc1[1] sdb1[2] sda1[3]
732587712 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>