※この記事は古いです。 新しいバージョンの記事を参照してください。
DTIのServersman@VPSだと、プランのアップグレードは管理画面操作で移行できて、特別な操作は不要だけど、さくらVPSの場合には新しいサーバとして契約して、環境は自分で引っ越し作業をしなければならない。
Linuxでrsyncを使う方法が公式にあるけど、Windows化している場合には使えないので、独自に移行する方法を考えた。
まず、Windows版DDを入手する。
http://www.chrysocome.net/dd
ローカルPCにPPTPサーバの設定を行う(Windows7ならば、スタート>コントロールパネル>ネットワークとインターネット>ネットワーク接続を開き、Altキーでメニューを出して、ファイル>新しい着信接続、ユーザを選んで次へ、インターネット接続をチェックして次へ、アクセスを許可をクリックするとPPTPの着信接続が出来る。 ルータでNAPTを使っている場合は、静的ルートでTCPポート1723とGREプロトコル(プロトコル番号47)をPPTPサーバにしたマシンに転送する様にする)
VPS上のWindowsからPPTPダイアルアップ(新しい接続ウィザード>職場のネットワークへ接続する>仮想プライベートネットワーク接続>IPアドレスにPPTPサーバを設定したマシンのグローバルIPを設定し、それ以外は適当で作成。 このダイアルアップ接続を開いて、PPTPサーバのユーザとパスワードを入力して接続)して、VPSよりサイズの大きいドライブをマウントする。
dd if=\\?\Device\Harddisk0\Partition0 of=z:\sakura_windows.dd
これで丸コピーしたら、新規導入時と同様、新しいVPSに踏み台Linux経由でdd書き込みしてやれば環境そのまま新サーバに移ることが出来る。 一応、イメージをgzかbz2で圧縮しておいたほうが速いかもしれない。
ただし、イメージが大きくなっている場合には、踏み台の容量が足りなくなる。
今回は980円プランから1480円プラン(空きディスクは/dev/sdbの10GBだけ)で足りなかったので、別のサーバにbz2圧縮したイメージを配置して
ssh -l user hoge.piyo “cat ~/sakura_windows.dd.bz2″|bzip2 -dc|dd of=/dev/sda
※userは接続先のユーザ名、hoge.piyoはサーバのアドレス(ヒナギク.com等)である。
みたいに、ssh経由で処理した。
1980円プランなら/dev/sdbに30GBの空きがあるので、/dev/sdaの20GB全てを放り込んでも余裕がある。
ちなみに、UNIX系OSで移動する場合には、ssh経由で、
ssh -l user hoge.piyo “dd if=/dev/sda | bzip2 -c”|bzip2 -dc|dd of=/dev/sda
みたいにして、終始パイプで済ますのもあり。
これだと、イメージが起動した状態なので、新VPSで起動するときにchkdskをかけてやる必要がある。
セクタ単位で処理しているから、どこかで致命的なエラーが出るかもしれないが、基本的にはこれで動く。 Acronisのツールなどを入れてシャドウコピー併用でやればもう少し信頼性が上がるかもしれない。
(413)