セクタ63開始を2048開始に変更 - raidframeの場合

買って繋いで適当にnewfsして使っていたドライブがいわゆるAFT、 ビッグセクタドライブなのに、導入当時のfdiskのデフォルトの63セクタはじまり で使っていた。しばらく問題なかったが、RAID1を組む相手ドライブを非AFTから AFT に変えて、そっちだけ2048始まりにしたことで遅さが顕著になった。 じゃ、2048セクタ始まりに変えよう。

wd0が今回問題となった WDC WD20EARX-00PASB0 で、wd1 は問題なし。 極端に書くとこんな感じ。

wd0(start=63s)wd1(start=2048s)
mbrmbr
:
wd0a
wd1a/dev/raid0
swap
swap
wd0e
wd1e/dev/raid2
:
::

いったんwd0をRAID1セットから外してfdiskしなおしてまたくっつける。

raidctl -F /dev/wd0a raid0
raidctl -F /dev/wd0e raid2

: mbrをこわす
dd if=/dev/zero of=/dev/rwd0d count=64

fdisk -iuBa0 wd0
: startに2048で答えて2048で確保しなおす

: disklabelをつくりなおす
disklabel -e wd0
: vi上がったら :r! disklabel wd1 | tail[Ret] してwd0の仕分け情報をコピー
: 古い値は消す。

: で、いまの / って ffsv1なのかなv2なのかな?
dumpfs / | head -2
file system: /dev/rraid0a
format  FFSv1

: あらーffsv1 だったのかー
installboot -v -o timeout=3,speed=115200,console=com0kbd \
	/dev/rwd0a /usr/mdec/bootxx_ffsv1

: in-place reconstructする。
raidctl -R /dev/wd0a raid0
raidctl -R /dev/wd0e raid2

: 待つ
: 待つ
: 待つ
: ……翌日、確認後rebootしておしまい
raidctl -s raid0
raidctl -s raid2
shutdown -r now

raidframeによるRAID1構成なので、リブート以外に止めることなく完了。 上記の例ではリブート1回だが、 実際にはwd0からの起動とwd1からの起動両方を確認するために数回リブートした。