タグ別アーカイブ: プラン変更

さくらVPSを再インストール無しに上位プランへ移行する(Linux編) – ddによるイメージコピーでお手軽複製・プラン変更

 今回は以前書いたWindows化したさくらのVPSでの移行方法を多少修正して、Linux版でもイメージコピーで移行する方法を解説する。

Virtioで動いている仮想マシン上でKNOPPIXを使う場合は、こちらの記事も参照のこと
◆:前回と同じ

  1. KNOPPIXを入手する(最新CD版を利用した)
  2. DaemonTools or WinRARを入手する
  3. Skip
  4. KNOPPIXのISOイメージをDaemonToolsでマウントするかWinRARで開く。
    CDの/KNOPPIXをVPSの/KNOPPIXとしてコピーする。
    CDの/boot/isolinuxの中身をVPSの/KNOPPIXにコピーする。
  5. VPSのGRUB設定を追加する。
    VPSの/boot/grub/menu.lstに追記して、KNOPPIXを起動できる様にする(最下行に追記)

    title KNOPPIX
    root (hd0,1)
    kernel /KNOPPIX/linux ramdisk_size=100000 init=/etc/init ro
    initrd /KNOPPIX/minirt.gz

     デフォルトインストールのさくらVPSだと、hd0,0が/bootで、hd0,1が/なので、/KNOPPIXにアクセスする場合はhd0,1である。

  6. システムを再起動して、直ちにVNCコンソールを開く。
    GRUBのスタート画面でカーソルキーか何か押すと選択画面が開く。 この時、先ほど追記したKNOPPIXがあるので、選んでEnter。
    KNOPPIXが起動する。
    ※GrubからKNOPPIXを実行したとき Error 2: Bad file or directory type. が出る場合。
    古いGrubでは、ext2fsのInode sizeは128までしか対応していないが、大きいパーティションはInode size 256で切られるために読み込みに失敗する。
    この場合、isolinuxを/boot/KNOPPIXとしてコピーして、menu.lstを
    root (hd0,1)
    kernel (hd0,0)/KNOPPIX/linux ramdisk_size=100000 init=/etc/init ro
    initrd (hd0,0)/KNOPPIX/minirt.gz
    のように編集して、KNOPPIX本体はルートパーティションに、起動用のイメージのみbootパーティションに配置して起動することで対応できる。

    GrubをGrub2等にアップグレードする方法もあるが、失敗したときに起動不能になるのでこちらの方法が良いと思う。

  7. ◆システムドライブのイメージを丸ごと新サーバにコピーする。
    ・ネットワークの設定

    #ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.254.0
    #route add default gw yyy.yyy.yyy.yyy
    #cat > /etc/resolv.conf
    nameserver 8.8.8.8
    ctrl+d

    xxx.xxx.xxx.xxxはVPSの割り当てIPアドレス
    yyy.yyy.yyy.yyyは指定されたデフォルトゲートウェイ
    8.8.8.8はPublic DNS

    KNOPPIXのターミナルから操作する場合

    #dd if=/dev/sda | ssh -l hoge piyo.tld “dd of=/dev/sda”

    hoge:新サーバのユーザ piyo.tld:新サーバのアドレス
    ダイレクトにDD出来ない場合は、

    #dd if=/dev/sda | ssh -l hoge piyo.tld “cat > /tmp/sda.dd”

    みたいにすると、/tmp/sda.ddにイメージを保存できる。
    イメージファイルをどこかのサーバに配置しておけば、クラウド風に複製イメージ起動も出来るだろう。

 これで、旧サーバのディスクイメージを丸ごと新サーバに移すことが出来る。
 LinuxでもKNOPPIXから行っているので、メインのLinuxが途中でファイルを書き換える心配がない。

 移行後の環境では、
残りのHDD領域(通常/home)の設定

#fdisk /dev/vda
#mke2fs -j /dev/fdiskで確保したパーティション

ネットワーク設定修正

vi /etc/sysconfig/network-scripts/ifcfg-eth0

ディスクマウント設定修正

vi /etc/fstab

/dev/hdb1 /home ext3 defaults 0 0

/dev/fdiskで確保したパーティション /home ext3 defaults 0 0

最低限、これらを修正する。
旧環境のhomeをコピーする場合は、

scp -p -r hoge@nnn.nnn.nnn.nnn:/home/* /home

※hoge:旧VPSのユーザ nnn.nnn.nnn.nnn:旧VPSのIP
で、旧VPSのhome以下を全て新VPSのhome以下にコピーする(旧VPSは通常起動状態で作業。 rootのsshを一時的に許可して、rootでコピーするのが楽)

 ちなみに dd の進行状況を確認する場合には、 kill -USR1 をddのプロセスに送ると標準エラー出力に進捗が出る。

 このサイトをこの方法で旧さくらのVPS 4GBから、新さくらのVPS 2GBに移行して動作確認済み。

(591)


カテゴリー: サーバ設定 | タグ: , , , , , , , | 1件のコメント