conoha VPS V3(その6:今回の移行手順)

まとめトクの有効期限が切れる3年後には再度VPSの移行が必要になる可能性が高いので、備忘のために今回の移行手順の概要をメモしておきます。

(1) VPSはconoha標準テンプレートのFreeBSD 14.0R(ufs)を使ってVPSを作成。
 当初は、FreeBSD 14.0R(zfs)を使ったのですが、パーティションがfreebsd-boot, freebsd-swap, freebsd-zfsの順番で嫌だったのでufs版のテンプレートで作業しました。
 今後のことも考えてfreebsd-bootとfreebsd-zfsはSSDの先頭50GBに収め、残りの50GBにswapや今回の移行作業用(及び今後の緊急作業用)のfreebsd-ufsを作成する。FreeBSD 14.0R(ufs)のイメージは30GB用なので、gpart recover vtbd0して100GB環境に合わせた後、vtbd0p2のfreebsd-ufsを58GBからのvtbd0p4へddした後にmountして/etc/fstabを/dev/vtbd0p4へ編集した後、vtbd0p2を解放してrebootし、vtbd0p4のFreeBSD(ufs)を起動する。

(2) パーティション構成を変更。
 reboot後、gpartで以下の構成に変更する。

% gpart show
=>       40  209715120  vtbd0  GPT  (100G)
         40       1024      1  freebsd-boot  (512K)
       1064  104856576      2  freebsd-zfs  (50G)   <=== このサーバ
  104857640   16777216      3  freebsd-swap  (8.0G)
  121634856   58719232      4  freebsd-ufs  (28G)   <=== 移行/緊急作業用
  180354088   29361072         - free -  (14G)

(3) 旧マシンとの間でzfs send/receiveを実行。
 旧マシンで各プールのsnapshotを作成し、それらをsend/receiveする。通常は、その後bectlでreceiveしたもので起動するように設定するだけで良いが、元のサーバのpoolを細かく分けてしまっているのでpool毎にmountpointの設定が必要であった。なお、上位のpoolのmountpointを設定すれば下位のpoolのmountpointは自動的に設定されます。

(4) boot codeを書き込んでzfs bootに切り替えてreboot。
 今回、bootcodeの書き換えでgpart bootcode -b /boot/pmbr -p 1 vtbd0を書き込むのを忘れてrebootしてしまったため、boot:プロンプトでの手入力が必要になったのですが、この作業がvncが101キーボードに対していないためにコロン(:)等の入力に非常に苦労しました。ちゃんとgpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 vtbd0していれば、余計な苦労はなかったと思います。

(5) 起動後、OS及び各アプリケーションのIPアドレス設定を更新してvpsの設定完了。

(6) DNS関係を設定変更。

その5へ戻る その7へ続く