HDD入れ換え+RAID組み直し

こんな感じでraid0の片割れ(wd1)からエラー。

wd1a: error reading fsbn 32759616 of 32759616-3275
9743 (wd1 bn 32759679; cn 32499 tn 10 sn 57), retrying
wd1: (uncorrectable data error)

raid0が片肺になっていたのでwd1(120GB)を外して250GBディスクを入れて 新wd1とした。

fdisk -iuB wd1
fdisk: primary partition table invalid, no magic in sector 0
Disk: /dev/rwd1d
NetBSD disklabel disk geometry:
cylinders: 239340, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 241254720

BIOS disk geometry:
cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 241254720

Do you want to change our idea of what BIOS thinks? [n] n

Partition table:
0: <UNUSED>
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector disabled.
Which partition do you want to change?: [none] 0
The data for partition 0 is:
<UNUSED>
sysid: [0..255 default: 169]
start: [0..15017cyl default: 63, 0cyl, 0MB] 
size: [0..15017cyl default: 241254657, 15017cyl, 117800MB] 
bootmenu: [] NetBSD

Partition table:
0: NetBSD (sysid 169)
    bootmenu: NetBSD
    start 63, size 241254657 (117800 MB, Cyls 0-15017/105/1)
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector disabled.
Which partition do you want to change?: [none] 
Bootfile /usr/mdec/mbr doesn't support the required options,
install default bootfile instead? [n] y
Update the bootcode from /usr/mdec/mbr_bootsel? [n] y

Boot selector configuration:
Timeout value (0 to 3600 seconds, -1 => never): [-1..3600 default: 10] 8
Select the default boot option. Options are:

0: The first active partition
1: NetBSD
2: Harddisk 0
3: Harddisk 1
4: Harddisk 2
Default boot option: [0..4 default: 0] 1

We haven't written the MBR back to disk yet.  This is your last chance.
Partition table:
0: NetBSD (sysid 169)
    bootmenu: NetBSD
    start 63, size 241254657 (117800 MB, Cyls 0-15017/105/1)
1: <UNUSED>
2: <UNUSED>
3: <UNUSED>
Bootselector enabled, timeout 8 seconds.
Should we write new partition table? [n] y

disklabel -Ie wd1

disklabelはこんな風に、末尾に swap パーティションを持って来た。

#        size    offset     fstype [fsize bsize cpg/sgs]
 a: 239157505        63       RAID           # (Cyl.     0*- 237259*)
 b:   2097152 239157568       swap           # (Cyl.237259*- 239339)
 c: 241254657        63     unused      0 0  # (Cyl.     0*- 239339)

bootプログラムのインストール。

installboot -v -o timeout=8,console=com0kbd \
/dev/rwd1a /usr/mdec/bootxx_ffsv1

raid4.confを書く。

#
# RAIDframe raid0 configuration
#
START array
1 2 0

START disks
absent
/dev/wd1a

START layout
128 1 1 1

START queue
fifo 100

初期状態のraid4を作る。

raidctl -C raid4.conf raid4
raidctl -I 20071212 raid4
raidctl -iv raid4
Initiating re-write of parity
Parity Re-write status:
raidctl -A root raid4
raid4: Autoconfigure: Yes
raid4: Root: Yes
disklabel -Ie raid4

raid4のdisklabelはこう。

#        size    offset     fstype
 a:   2097152         0     4.2BSD 0 0 0  # (Cyl.      0 -   2047)
 d: 239157376         0     unused 0 0    # (Cyl.      0 - 233552*)
 e:  20971520   2097152     4.4LFS 0 0 0  # (Cyl.   2048 -  22527)
 f:  20971520  23068672     4.4LFS 0 0 0  # (Cyl.  22528 -  43007)
 g: 195117184  44040192     4.4LFS 0 0 0  # (Cyl.  43008 - 233552*)

それぞれnewfsしてmountしてファイルコピー

newfs /dev/rraid4a
newfs_lfs /dev/rraid4e
newfs_lfs /dev/rraid4f
newfs_lfs /dev/rraid4g
mount -o softdep /dev/raid4a /mnt
mkdir /mnt/{usr,opt}
mount /dev/raid4e /mnt/usr
mkdir /mnt/usr/local
mount /dev/raid4f /mnt/usr/local
mount /dev/raid4g /mnt/opt
cd /
tar -cf - --one-file-system usr usr/local opt|tar xpfC - /mnt

と、せっかくここまでやったところで、新しく入れたHDDが S.M.A.R.T. 予測で壊れるとのメッセージが出て正常には使えないと判明。 がびーん。てことで、元のHDDを Maxtor のHDD診断ツール(PowerMax)で Low Level Format してみた。あら、直っちゃった。ひー。

また元の鞘に戻してraid0を大きく取り直して継続使用したとさ。 ポイントとしては、raidctl -A root raid* で、 ルートパーティションとして自動構築をする パーティションを1個だけにしておかないとブート時にrootデバイスを聞かれて 止まっちゃう。解除はもちろん raidctl -A yes raid* でOK。

今回何を実験したかったかというと

  1. raid0コンポーネントが壊れる
  2. もっと大きなHDDを2台買って来る
  3. 大きなHDDの方を使って今のよりも大きなraid0を構築するには…

どしたらええのん? ってことで、その手順を確認したかった。 今回は1台だけあった「もっと大きなHDD」の方でraid4なんてのを作っちゃったけど、 それだとraid4を最終的にraid0に戻すのが難しくなっちゃうような気がするなあ。 まあ番号変わっても気にせずraid1で作りゃいいんだけど、0がないのに1があるの は気持ち悪いしfstab書き換えないといけないのはやな感じ。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]