DegradedArray な障害報告メールが飛んできた。
RAID1(ミラーリング)で障害が発生したっぽい。
環境: Debian GNU/Linux etch (amd64)
From root@hoge.localdomain Sat May 03 11:19:17 2008
Envelope-to: root@hoge.localdomain
Delivery-date: Sat, 03 May 2008 11:19:17 +0900
From: mdadm monitoring <root@hoge.localdomain>
To: root@hoge.localdomain
Subject: DegradedArray event on /dev/md2:hoge
Date: Sat, 03 May 2008 11:19:16 +0900
This is an automatically generated mail message from mdadm
running on hoge
A DegradedArray event had been detected on md device /dev/md2.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid1]
md2 : active raid1 sda3[0]
310126720 blocks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
1951808 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
489856 blocks [2/2] [UU]
unused devices: <none>
RAIDデバイス /dev/md2 の パーティション sdb3 が使えなくなっている模様。
/dev/md2 の状態を確認。
# df -ha
Filesystem Size Used Avail Use% Mounted on
/dev/md2 292G 87G 190G 32% /
tmpfs 943M 0 943M 0% /lib/init/rw
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
procbususb 0 0 0 - /proc/bus/usb
udev 10M 68K 10M 1% /dev
tmpfs 943M 0 943M 0% /dev/shm
devpts 0 0 0 - /dev/pts
/dev/md0 464M 26M 414M 6% /boot
# mdadm --query /dev/md2
/dev/md2: 295.76GiB raid1 2 devices, 0 spares. Use mdadm --detail for more detail.
# mdadm --detail /dev/md2
/dev/md2:
Version : 00.90.03
Creation Time : Mon Sep 24 00:56:01 2007
Raid Level : raid1
Array Size : 310126720 (295.76 GiB 317.57 GB)
Device Size : 310126720 (295.76 GiB 317.57 GB)
Raid Devices : 2
Total Devices : 1
Preferred Minor : 2
Persistence : Superblock is persistent
Update Time : Sat May 3 12:43:55 2008
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
UUID : 9705e4d8:ff326a8a:35faf0c2:7bc864f5
Events : 0.2634
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 0 0 1 removed
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[0]
310126720 blocks [2/1] [U_]
md1 : active raid1 sda2[0] sdb2[1]
1951808 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
489856 blocks [2/2] [UU]
unused devices: <none>
パーティションがひとつ removed されている。
一応、mdadmコマンドで RAIDデバイス /dev/md2 から パーティション /dev/sdb3 を切り離そうとしてみる。
# mdadm --manage /dev/md2 --remove /dev/sdb3
mdadm: hot remove failed for /dev/sdb3: No such device or address
すでに切り離されているから No such device or address なエラーになる。
次に、パーティション /dev/sdb3 の不良ブロックを badblocks コマンドでチェック。
# badblocks -vs -o sdb3.bad /dev/sdb3
Checking blocks 0 to 310126791
(中略)
Pass completed, 0 bad blocks found.
とくに悪い部分は無さそう。
とりあえず、HDDのハードウェア障害という感じではなさそう。
次は fsck でファイルシステムのチェックと修復をしてみる(あんまり意味ないと思うけど)。
# fsck /dev/sdb3
fsck 1.40-WIP (14-Nov-2006)
e2fsck 1.40-WIP (14-Nov-2006)
/dev/sdb3: recovering journal
Clearing orphaned inode 35569742 (uid=0, gid=0, mode=0100644, size=0)
Clearing orphaned inode 3035031 (uid=0, gid=0, mode=0100755, size=13440)
(中略)
/dev/sdb3 has gone 222 days without being checked, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb3: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdb3: 108357/38780928 files (2.7% non-contiguous), 24600651/77531680 blocks
ファイルシステムに問題があったけど修復完了。
でも、どうせこのあと RAID に組み込まれるんだからファイルシステムがどうだろうとあんまり意味ないかも……
障害の原因は不明だけど、HDD自体には問題が無さそうなので、このままパーティションをRAIDデバイスへ戻すことにする。
RAID デバイス /dev/md2 に パーティション /dev/sdb3 を追加。
# mdadm --manage /dev/md2 --add /dev/sdb3
mdadm: added /dev/sdb3
RAID デバイス /dev/md2 の状態をチェック。
# mdadm --detail /dev/md2
/dev/md2:
Version : 00.90.03
Creation Time : Mon Sep 24 00:56:01 2007
Raid Level : raid1
Array Size : 310126720 (295.76 GiB 317.57 GB)
Device Size : 310126720 (295.76 GiB 317.57 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Persistence : Superblock is persistent
Update Time : Sun May 4 06:40:48 2008
State : clean, degraded, recovering
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1
Rebuild Status : 1% complete
UUID : 9705e4d8:ff326a8a:35faf0c2:7bc864f5
Events : 0.32880
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
2 8 19 1 spare rebuilding /dev/sdb3
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb3[2] sda3[0]
310126720 blocks [2/1] [U_]
[>....................] recovery = 1.4% (4574464/310126720) finish=80.5min speed=63232K/sec
md1 : active raid1 sda2[0] sdb2[1]
1951808 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
489856 blocks [2/2] [UU]
unused devices: <none>
Rebuild 中なので、しばし放置したのち、もういちど状態を確認。
# mdadm --detail /dev/md2
/dev/md2:
Version : 00.90.03
Creation Time : Mon Sep 24 00:56:01 2007
Raid Level : raid1
Array Size : 310126720 (295.76 GiB 317.57 GB)
Device Size : 310126720 (295.76 GiB 317.57 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 2
Persistence : Superblock is persistent
Update Time : Wed May 7 12:08:51 2008
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
UUID : 9705e4d8:ff326a8a:35faf0c2:7bc864f5
Events : 0.35124
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb3[1] sda3[0]
310126720 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
1951808 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
489856 blocks [2/2] [UU]
unused devices: <none>
復旧完了。
「Linux RAID入門」 を買っておいてよかった……
tags: zlashdot Linux Debian Linux Raid
Posted by NI-Lab. (@nilab)