昨年夏に導入した HDD がエラーを吐いてRAID-1から外れたので念のため置き換え。
raidctl -s と dkctl wd* listwedges を駆使して親子関係の確認。
raidctl -s raid0 | head -3 Components: /dev/dk0: optimal /dev/dk3: optimal raidctl -s raid1 | head -3 Components: Components: /dev/dk2: failed /dev/dk5: optimal dkctl wd0 listwedges /dev/rwd0d: 3 wedges: dk0: UUID, 209715200 blocks at 80, type: raidframe dk1: swap0, 8388608 blocks at 209715280, type: swap dk2: toy0, 7595933247 blocks at 218103888, type: raidframe dkctl wd1 listwedges /dev/rwd1d: 3 wedges: dk3: UUID, 209715200 blocks at 80, type: raidframe dk4: swap1, 8388608 blocks at 209715280, type: swap dk5: toy1, 7595933247 blocks at 218103888, type: raidframe dkctl wd2 listwedges /dev/rwd2d: 3 wedges: dk6: boot2, 209715200 blocks at 80, type: raidframe dk7: swap2, 8388608 blocks at 209715280, type: swap dk8: toy2, 7595933247 blocks at 218103888, type: raidframe
親子関係をまとめるとこう(dk2がRAIDミラーから外れた)。
raid0 - {dk0, dk3} raid1 - {**dk2, dk5} wd0 - {dk0, dk1, dk2} wd1 - {dk3, dk4, dk5} wd2 - {dk6, dk7, dk8}
gpt show wd2 start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 46 80 209715200 1 GPT part - NetBSD RAIDFrame component 209715280 8388608 2 GPT part - NetBSD swap 218103888 7595933247 3 GPT part - NetBSD RAIDFrame component 7814037135 32 Sec GPT table 7814037167 1 Sec GPT header : 既にGPTが切ってあった。 : /dev/raid1 の dk2 を dk8 へ raidctl -a /dev/dk8 raid1 raidctl -F /dev/dk2 raid1 RECON: initiating reconstruction on col 0 -> spare at col 2 : /dev/raid1 のミラー再構築を待つ。 : 続いて /dev/raid0 はブートブロックも書き込む。 installboot -v /dev/rdk6 /usr/mdec/bootxx_ffsv2 raidctl -a /dev/dk6 raid0 raidctl -F /dev/dk0 raid0 RECON: initiating reconstruction on col 0 -> spare at col 2
あとはwd0を外しておしまい。