さくらのVPSで動いていた開発環境(CentOS5.7)について、さくらのクラウド経由でオンプレミスの仮想マシン(CentOS6上のKVM)に移設したメモ。VPS→クラウド→KVMと言う流れなので、さくらのVPSでなく、さくらのクラウドのアーカイブからでも同様の手順で移設は可能のはず。
【概要】
1)さくらのVPS→さくらのクラウドのアーカイブに変換
2)アーカイブをFTPでダウンロード
3)KVMサーバに配置して起動
【詳細】
1)さくらのVPS→さくらのクラウドのアーカイブに変換
あらかじめ「さくらのVPSコントロールパネル」にログインしておき、その状態でさくらのクラウドの管理コンソールから[ストレージ]-[アーカイブ]-[追加]-[VPSディスク]とすると、VPSをさくらのクラウドのアーカイブにすることができます。
※なお、念のためアーカイブを取得する際にはVPSをシャットダウンした状態で取得することをお勧めします。
2)FTPでアーカイブを取得
アーカイブ一覧から、取得したいアーカイブの[詳細]-[FTPを開始]でFTP開始。
表示される情報からimgファイルを取得します。
※以下では仮に「sakuravps.img」として保存したことにします。
3)KVMサーバに配置して起動
# /var/lib/libvirt/images/の下に配置
mv sakuravps.img /var/lib/libvirt/images
# qemuコマンドによるimgファイルのスタイル確認
qemu-img info sakuravps.img
image: sakuravps.img
file format: raw
→rawなのでkvm形式で起動できる。
# 仮想マシンマネージャを利用して、仮想マシンとして登録
→事前に元のOS バージョン、設定等を確認しておきます。
# OS確認
cat /etc/redhat-release
→CentOS release 5.7 だった
# CPU数確認
cat /proc/cpuinfo
# メモリ確認
free -m
# ネットワーク
ifconfig
■新しい仮想マシンを作成
CentOSの[アプリケーション]-[システムツール]-[新しい仮想マシンの作成]
名前:sakuravps
●既存のディスクイメージをインポート にチェックを入れて[進む]
既存のストレージパスを指定:
/var/lib/libvirt/images/sakuravps.img
OSの種類:Linux
バージョン:Red Hat Enterprise Linux 5.4 or later
で[進む]
メモリーとCPUの設定
メモリ:1024M
CPU:1
で[進む]
詳細なオプションで、
固定MACアドレスを設定 で表示されているMACアドレスを控える
アーキテクチャー:i686
(上記uname -aで確認したもの)
で[完了]
■ここでOSは起動しますが、ブート画面中に
Kernel panic – not syncing: Attempted to kill init!
として停止した場合、「強制的に電源OFF]したうえで以下の対応を行います。
仮想マシンの設定より[仮想ディスク]-[IDE Disk1]-[Advanced options]-[Disk bus]を確認。
[Virtio]となっていた場合は、これを[IDE]として再度起動してください。
■以下は起動した仮想マシン上での設定例。あくまで一例です。
# ネットワークの設定
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=sakuravps
GATEWAY=<KVMホストマシンのゲートウェイ>
vi etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
HWADDR=<仮想マシンマネージャが採番したMACアドレス>
IPADDR=192.168.x.x<KVMマシン上でぶつからないローカルIP>
NETMASK=255.255.255.0
ONBOOT=yes
ホストサーバ経由でsshできることを確認。
※外部からのWEBアクセスについてはpound等リバースプロキシを使って実現しています。