[Memo]gptで作ったraidframeからのbootdisk換装

目新しいテーマではないが、GPTでパーティション分けしておいた SSD がエラーを吐いたので、予防的交換。 旧が CFD CSSD-S6B480CG3VXで、新が Crucial CT480BX500SSD1 のいずれも480GB.セクタ数がちょっとでも 下回っていると使えないが、どちらも937703088でセーフ。

さて作業。旧SSDが wd0とwd1で、新SSDを順次外付けのsd0につないだ。

gpt show -l wd0
      start       size  index  contents
          0          1         PMBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34         46         Unused
         80  937702975      1  GPT part - system0
  937703055         32         Sec GPT table
  937703087          1         Sec GPT header
: これの真似をする。
gpt create sd0
gpt add -t raid -b 80 -l system2 sd0
dkctl sd0 listwedges
/dev/rsd0: 1 wedge:
dk4: system2, 937702975 blocks at 80, type: raidframe
: 生まれたdk4をraidframeのスペアに突っ込む
raidctl -s raid2
Components:
            /dev/dk2: optimal
            /dev/dk3: optimal
No spares.
Component label for /dev/dk2:
   :
   :
raidctl -a /dev/dk4 raid2
: wd0のほうがエラーを吐いていたので先に外す(FAILさせる)
raidctl -F /dev/dk2 raid2
: あれ、3時間もかかる
: 先にブートコードを書くか
gpt biosboot -L system2 sd0
/dev/rsd0: Partition 1 marked as bootable
installboot -v -o timeout=4 /dev/rdk4 /usr/mdec/bootxx_ffsv2
File system:         /dev/rdk4
Primary bootstrap:   /usr/mdec/bootxx_ffsv2
Ignoring PBR with invalid magic in sector 0 of `/dev/rdk4'
Boot options:        timeout 4, flags 0, speed 9600, ioaddr 0, console pc
: 一度ここで外付けUSB-SSDがハングアップしてリセット。
: 内蔵SATAに付け替えてから raidctl -F やり直した
: 次もう一個のSSDをつけた(コマンドのみ)
gpt create wd1
gpt add -t raid -b 80 -l system3 wd1
: これでdk3が生える
gpt biosboot -L system3 wd1
installboot -v -o timeout=3 /dev/rdk3 /usr/mdec/bootxx_ffsv2
raidctl -a /dev/dk3 raid2
raidctl -F component1 raid2
raidctl -S raid2

内蔵同士だと1時間位で同期が終わるようだ。