NAS 1号機(その2:zfsの設定)

HDDが届いたので、早速zfsの設定を行っています。

(1) 旧HDD構成はada0〜ada4で、ada4が起動ディスクで/, /var,
  /usrもada4上にある。そこで/etc/fstabをeditして、ada4以外
  はmountしないようにコメントアウトする。
(2) 5個の旧HDDを外して、新しいHDDと入れ替える。
(3) 旧ada4をESATAで6個目のHDDとして接続する。(当初、SATAで
  繋ぐつもりだったのですが、SATAケーブルをどこにしまったの
  か忘れてしまい探すのが面倒だったのでESATAで接続した。)
  ESATAが5個目の内蔵HDDよりも前に来るので、新HDDはada0〜
  ada3、ada5になり、旧HDDはada4になる。
(4) 6個目のHDD(ada4)から起動した後、別マシンからsshでログイン
  して作業する。5個の新設HDD(ada0〜ada3, ada5)にswapと
  raidzを作成。更にada0にはbootcodeを書き込む。
 # for a in 0 1 2 3; do
 > gpart create -s GPT ada$a
 > gpart add -t freebsd-swap -s 2g -l freebsd-swap$a \
    ada$a
 > gpart add -t freebsd-zfs -l freebsd-zfs$a ada$a
 > done
 # gpart create -s GPT ada5
 # gpart add -t freebsd-swap -s 2g -l freebsd-swap4 \
    ada5
 # gpart add -t freebsd-zfs -l freebsd-zfs4 ada5
 # gpart delete -i 1 ada0
 # gpart add -i 127 -t freebsd-boot -s 512k \
    -l freebsd-boot ada0
 # gpart add -t freebsd-swap -l freebsd-swap0 ada0
 # gpart bootcode -b /boot/pmbr ada0
 # gpart bootcode -p /boot/gptzfsboot -i 127 ada0
 # zpool create -o altroot=/mnt -m none hoge \
     raidz ada0p2 ada1p2 ada2p2 ada3p2 ada5p2
 # zfs set compression=lz4  hoge
 # zfs set atime=off hoge
 # zfs create -o mountpoint=none hoge/ROOT 
 # zfs create -o mountpoint=/ hoge/ROOT/default
 (snip)
 # zpool set bootfs=hoge/ROOT/default hoge
 # reboot
(5) ここでrebootしてsingle user modeで旧HDDから新HDDへ
  dump/restoreする。しかし、何故かESATA接続が安定せず、エ
  ラーを吐くのでada5を外し、ada4をESATAではなく内蔵SATAで
  接続して作業を行う。(raidzはada5が故障したのと同じ状況に
  なる。)
(6) 旧ada4から起動した後、
 # zpool import -f -R /mnt hoge
 # cd /mnt
 # dump 0af - / | restore rf -
 # cd /mnt/usr
 # dump 0af - /usr | restore rf -
 (その他のパーティションも同様にdump & restoreする)
(7) 旧ada4のdump & restoreが全て終了したら一旦shutdownして、
  旧HDDを交換して、全ての旧HDDをdump & restoreする。なお、
  旧ada4のdump & restoreが終了した時点で新HDDでzfs boot
  できる状態なので、旧HDD交換後は新HDDからzfs bootしてssh経
  由で他のマシンから作業を行っている。
(8) 現在、旧HDDからのdump & restore途中なので、本日はここま
  で。約4TB/日しかdump & restoreできないので、完了までには
  4日近くかかる見込みです。(ということは50MB/sec程度しか
  出ていないことになるなぁ。300MB/sec出る訳はないけど、も
  うちょっと速いといいのになぁ。)

その1へ戻る その3へ続く