ソフトウェアRAID1のHDDを再交換

投稿日:

お友達のトコに置かせてもらってる鯖が、再び刺さって起動しなくなりました。

この鯖、以前はsmartdが「エラーが出始めたしhdbがそろそろヤバいよ?」と教えてくれたのですが、今回はいきなりの不意打ちでhdaが動かなくなっちゃったorz

まぁRAIDを組んでますんで、今回もたぶん大丈夫だろうと気軽にドライブを交換します。

2台繋いでたHDDのうち古いほうの一台(PATAのマスター側)を取り外し、BIOSで残りを起動ドライブに指定してやると、それだけでサーバが起動するようになりました。

状況を確認すると以前と同じで、RAID1片肺飛行中。

ということで、やはり同じようにHDDを交換します。以前はhdaから起動してhdbを交換したけど、今回はhdbから起動してhdaを交換するのが違う。

ということで、一旦サーバの電源を切り、新しくHDDを接続して再起動します。

# fdisk /dev/hda

/dev/hda を開けません

・・・・あれ? どうもHDDがhdcとhddとして認識されてるみたいです。ケーブルを挿し間違った模様。

まぁドライブレターが少々違ってもあとは同じなんで、fdiskで領域を確保し、mdadmでRAIDに参加させてやります。

しばらく待つとRAIDを再構築し終わったので、一旦サーバの電源を切り、(古い)hddからではなく、新しいhdcから起動するようにBIOSを直したのですが・・・。

hdcからは起動しません。

fdiskでブートフラグは付けたけどなぁ?等と思いつつ、起動ドライブを戻して立ち上がったOSで各HDDのMBR領域を確認します。

# hexdump -C -n 512 /dev/hdc

00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 |................|
000001c0 01 00 fd fe 3f 3f 3f 00 00 00 01 b0 0f 00 00 00 |....???.........|
000001d0 01 40 fd fe ff ff 40 b0 0f 00 2b ee e1 04 00 fe |.@....@...+.....|
000001e0 ff ff fd fe ff ff 6b 9e f1 04 c3 1c 20 00 00 fe |......k..... ...|
000001f0 ff ff fd fe ff ff 2e bb 11 05 93 29 3f 04 55 aa |...........)?.U.|
00000200

# hexdump -C -n 512 /dev/hdd

00000000 33 c0 8e d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c |3.....|.P.P....||
00000010 bf 1b 06 50 57 b9 e5 01 f3 a4 cb bd be 07 b1 04 |...PW...........|
00000020 38 6e 00 7c 09 75 13 83 c5 10 e2 f4 cd 18 8b f5 |8n.|.u..........|
00000030 83 c6 10 49 74 19 38 2c 74 f6 a0 b5 07 b4 07 8b |...It.8,t.......|
00000040 f0 ac 3c 00 74 fc bb 07 00 b4 0e cd 10 eb f2 88 |..<.t...........|
00000050 4e 10 e8 46 00 73 2a fe 46 10 80 7e 04 0b 74 0b |N..F.s*.F..~..t.|
00000060 80 7e 04 0c 74 05 a0 b6 07 75 d2 80 46 02 06 83 |.~..t....u..F...|
00000070 46 08 06 83 56 0a 00 e8 21 00 73 05 a0 b6 07 eb |F...V...!.s.....|
00000080 bc 81 3e fe 7d 55 aa 74 0b 80 7e 10 00 74 c8 a0 |..>.}U.t..~..t..|
00000090 b7 07 eb a9 8b fc 1e 57 8b f5 cb bf 05 00 8a 56 |.......W.......V|
000000a0 00 b4 08 cd 13 72 23 8a c1 24 3f 98 8a de 8a fc |.....r#..$?.....|
000000b0 43 f7 e3 8b d1 86 d6 b1 06 d2 ee 42 f7 e2 39 56 |C..........B..9V|
000000c0 0a 77 23 72 05 39 46 08 73 1c b8 01 02 bb 00 7c |.w#r.9F.s......||
000000d0 8b 4e 02 8b 56 00 cd 13 73 51 4f 74 4e 32 e4 8a |.N..V...sQOtN2..|

00000090 b7 07 eb a9 8b fc 1e 57 8b f5 cb bf 05 00 8a 56 |.......W.......V|
000000a0 00 b4 08 cd 13 72 23 8a c1 24 3f 98 8a de 8a fc |.....r#..$?.....|
000000b0 43 f7 e3 8b d1 86 d6 b1 06 d2 ee 42 f7 e2 39 56 |C..........B..9V|
000000c0 0a 77 23 72 05 39 46 08 73 1c b8 01 02 bb 00 7c |.w#r.9F.s......||
000000d0 8b 4e 02 8b 56 00 cd 13 73 51 4f 74 4e 32 e4 8a |.N..V...sQOtN2..|
000000e0 56 00 cd 13 eb e4 8a 56 00 60 bb aa 55 b4 41 cd |V......V.`..U.A.|
000000f0 13 72 36 81 fb 55 aa 75 30 f6 c1 01 74 2b 61 60 |.r6..U.u0...t+a`|
00000100 6a 00 6a 00 ff 76 0a ff 76 08 6a 00 68 00 7c 6a |j.j..v..v.j.h.|j|
00000110 01 6a 10 b4 42 8b f4 cd 13 61 61 73 0e 4f 74 0b |.j..B....aas.Ot.|
00000120 32 e4 8a 56 00 cd 13 eb d6 61 f9 c3 49 6e 76 61 |2..V.....a..Inva|
00000130 6c 69 64 20 70 61 72 74 69 74 69 6f 6e 20 74 61 |lid partition ta|
00000140 62 6c 65 00 45 72 72 6f 72 20 6c 6f 61 64 69 6e |ble.Error loadin|
00000150 67 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 |g operating syst|
00000160 65 6d 00 4d 69 73 73 69 6e 67 20 6f 70 65 72 61 |em.Missing opera|
00000170 74 69 6e 67 20 73 79 73 74 65 6d 00 00 00 00 00 |ting system.....|
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

わはは、全然違います(^_^;) 要するに、新しいHDDには明示的にMBRを導入してやらないと入らないらしい。

ということで、GRUBをインストールします。

# grub-install --root-directory=/ /dev/hdc

/dev/hdc does not have any corresponding BIOS drive.

あれれ…? GRUB的にはそんなドライブ無いそうです。

# fdisk -l /dev/hdc

Disk /dev/hdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/hdc1 * 1 64 514048+ fd Linux raid 自動検出
/dev/hdc2 65 5163 40957717+ fd Linux raid 自動検出
/dev/hdc3 5164 5294 1052257+ fd Linux raid 自動検出
/dev/hdc4 5295 9729 35624137+ fd Linux raid 自動検出

fdisk的にはhdcがちゃんと有るんだけど、GRUB的には無いそーで。両者は見てるところが違うんですな。

hdc/hddとかのままにしとくのも解りにくいので、一旦サーバの電源を切り物理的にIDE2→IDE1ポートにケーブルを差し替えた後、

linux rescue

としてCentOSインストールCDから起動。

# chroot /mnt/sysimage

としてHDDのRAID環境をルートにマウントして

# grub
grub> root (hd1,0)
grub> setup (hd1)
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

と各HDDにGRUBをインストールしときました。

# hexdump -C -n 512 /dev/hda

00000000 eb 48 90 00 00 00 00 00 00 00 00 00 00 00 00 00 |.H..............|
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 02 |................|
00000040 ff 00 00 20 01 00 00 00 00 02 fa 80 ca 80 ea 53 |... ...........S|
00000050 7c 00 00 31 c0 8e d8 8e d0 bc 00 20 fb a0 40 7c ||..1....... ..@||
00000060 3c ff 74 02 88 c2 52 be 79 7d e8 34 01 f6 c2 80 |<.t...R.y}.4....|
00000070 74 54 b4 41 bb aa 55 cd 13 5a 52 72 49 81 fb 55 |tT.A..U..ZRrI..U|
00000080 aa 75 43 a0 41 7c 84 c0 75 05 83 e1 01 74 37 66 |.uC.A|..u....t7f|
00000090 8b 4c 10 be 05 7c c6 44 ff 01 66 8b 1e 44 7c c7 |.L...|.D..f..D|.|
000000a0 04 10 00 c7 44 02 01 00 66 89 5c 08 c7 44 06 00 |....D...f.\..D..|
000000b0 70 66 31 c0 89 44 04 66 89 44 0c b4 42 cd 13 72 |pf1..D.f.D..B..r|
000000c0 05 bb 00 70 eb 7d b4 08 cd 13 73 0a f6 c2 80 0f |...p.}....s.....|
000000d0 84 f0 00 e9 8d 00 be 05 7c c6 44 ff 00 66 31 c0 |........|.D..f1.|
000000e0 88 f0 40 66 89 44 04 31 d2 88 ca c1 e2 02 88 e8 |..@f.D.1........|
000000f0 88 f4 40 89 44 08 31 c0 88 d0 c0 e8 02 66 89 04 |..@.D.1......f..|
00000100 66 a1 44 7c 66 31 d2 66 f7 34 88 54 0a 66 31 d2 |f.D|f1.f.4.T.f1.|
00000110 66 f7 74 04 88 54 0b 89 44 0c 3b 44 08 7d 3c 8a |f.t..T..D.;D.}<.|
00000120 54 0d c0 e2 06 8a 4c 0a fe c1 08 d1 8a 6c 0c 5a |T.....L......l.Z|
00000130 8a 74 0b bb 00 70 8e c3 31 db b8 01 02 cd 13 72 |.t...p..1......r|
00000140 2a 8c c3 8e 06 48 7c 60 1e b9 00 01 8e db 31 f6 |*....H|`......1.|
00000150 31 ff fc f3 a5 1f 61 ff 26 42 7c be 7f 7d e8 40 |1.....a.&B|..}.@|
00000160 00 eb 0e be 84 7d e8 38 00 eb 06 be 8e 7d e8 30 |.....}.8.....}.0|
00000170 00 be 93 7d e8 2a 00 eb fe 47 52 55 42 20 00 47 |...}.*...GRUB .G|
00000180 65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 |eom.Hard Disk.Re|
00000190 61 64 00 20 45 72 72 6f 72 00 bb 01 00 b4 0e cd |ad. Error.......|
000001a0 10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 00 00 00 |..<.u...........|
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 |................|
000001c0 01 00 fd fe 3f 3f 3f 00 00 00 01 b0 0f 00 00 00 |....???.........|
000001d0 01 40 fd fe ff ff 40 b0 0f 00 2b ee e1 04 00 fe |.@....@...+.....|
000001e0 ff ff fd fe ff ff 6b 9e f1 04 c3 1c 20 00 00 fe |......k..... ...|
000001f0 ff ff fd fe ff ff 2e bb 11 05 93 29 3f 04 55 aa |...........)?.U.|
00000200

# hexdump -C -n 512 /dev/hdb

00000000 eb 48 90 d0 bc 00 7c fb 50 07 50 1f fc be 1b 7c |.H....|.P.P....||
00000010 bf 1b 06 50 57 b9 e5 01 f3 a4 cb bd be 07 b1 04 |...PW...........|
00000020 38 6e 00 7c 09 75 13 83 c5 10 e2 f4 cd 18 8b f5 |8n.|.u..........|
00000030 83 c6 10 49 74 19 38 2c 74 f6 a0 b5 07 b4 03 02 |...It.8,t.......|
00000040 ff 00 00 20 01 00 00 00 00 02 fa 80 ca 80 ea 53 |... ...........S|
00000050 7c 00 00 31 c0 8e d8 8e d0 bc 00 20 fb a0 40 7c ||..1....... ..@||
00000060 3c ff 74 02 88 c2 52 be 79 7d e8 34 01 f6 c2 80 |<.t...R.y}.4....|
00000070 74 54 b4 41 bb aa 55 cd 13 5a 52 72 49 81 fb 55 |tT.A..U..ZRrI..U|
00000080 aa 75 43 a0 41 7c 84 c0 75 05 83 e1 01 74 37 66 |.uC.A|..u....t7f|
00000090 8b 4c 10 be 05 7c c6 44 ff 01 66 8b 1e 44 7c c7 |.L...|.D..f..D|.|
000000a0 04 10 00 c7 44 02 01 00 66 89 5c 08 c7 44 06 00 |....D...f.\..D..|
000000b0 70 66 31 c0 89 44 04 66 89 44 0c b4 42 cd 13 72 |pf1..D.f.D..B..r|
000000c0 05 bb 00 70 eb 7d b4 08 cd 13 73 0a f6 c2 80 0f |...p.}....s.....|
000000d0 84 f0 00 e9 8d 00 be 05 7c c6 44 ff 00 66 31 c0 |........|.D..f1.|
000000e0 88 f0 40 66 89 44 04 31 d2 88 ca c1 e2 02 88 e8 |..@f.D.1........|
000000f0 88 f4 40 89 44 08 31 c0 88 d0 c0 e8 02 66 89 04 |..@.D.1......f..|
00000100 66 a1 44 7c 66 31 d2 66 f7 34 88 54 0a 66 31 d2 |f.D|f1.f.4.T.f1.|
00000110 66 f7 74 04 88 54 0b 89 44 0c 3b 44 08 7d 3c 8a |f.t..T..D.;D.}<.|
00000120 54 0d c0 e2 06 8a 4c 0a fe c1 08 d1 8a 6c 0c 5a |T.....L......l.Z|
00000130 8a 74 0b bb 00 70 8e c3 31 db b8 01 02 cd 13 72 |.t...p..1......r|
00000140 2a 8c c3 8e 06 48 7c 60 1e b9 00 01 8e db 31 f6 |*....H|`......1.|
00000150 31 ff fc f3 a5 1f 61 ff 26 42 7c be 7f 7d e8 40 |1.....a.&B|..}.@|
00000160 00 eb 0e be 84 7d e8 38 00 eb 06 be 8e 7d e8 30 |.....}.8.....}.0|
00000170 00 be 93 7d e8 2a 00 eb fe 47 52 55 42 20 00 47 |...}.*...GRUB .G|
00000180 65 6f 6d 00 48 61 72 64 20 44 69 73 6b 00 52 65 |eom.Hard Disk.Re|
00000190 61 64 00 20 45 72 72 6f 72 00 bb 01 00 b4 0e cd |ad. Error.......|
000001a0 10 ac 3c 00 75 f4 c3 00 00 00 00 00 00 00 00 00 |..<.u...........|
000001b0 00 00 00 00 00 00 00 00 59 8e 59 8e 00 00 80 01 |........Y.Y.....|
000001c0 01 00 fd fe 3f 3f 3f 00 00 00 01 b0 0f 00 00 00 |....???.........|
000001d0 01 40 fd fe ff ff 40 b0 0f 00 2b ee e1 04 00 fe |.@....@...+.....|
000001e0 ff ff fd fe ff ff 6b 9e f1 04 c3 1c 20 00 00 fe |......k..... ...|
000001f0 ff ff fd fe ff ff 2e bb 11 05 93 29 3f 04 55 aa |...........)?.U.|
00000200

今度は大丈夫そう。ちゃんと立ち上がりました(^_^)

久々にサーバをローカルで立ち上げてコンソールを見守ったけど、ここには

「CentOS4は2012年の2月で終わります」

って出てたのね。ずっとリモート管理なので知らなんだ(^_^;)

先日買った鼻毛鯖とかで新サーバの建設準備を始めなきゃ。