概要
物理サーバ(普通のLinuxサーバ)をkvmのゲストサーバ化する。
変換元サーバのOSイメージを
稼働先KVMホストにネットワーク経由で転送する。
※当然出力先を変更すれば、ローカル内やDASに保存も可能
前提条件
稼働先KVMホストで既にkvmを動かせる環境であること。
対象
変換元サーバ :Linuxサーバ(RedHat系/centOS 4/centOS 5)
稼働先KVMホスト:Linuxサーバ(centOS 6系)
前準備
kvm化した後、コンソール接続できるように
予め変換するサーバで設定ファイルを追記する。
以下の3箇所を追記することにより virsh console が可能になる。
vi /etc/inittab
+ co:2345:respawn:/sbin/agetty ttyS0 9600 vt100-nav
vi /etc/securetty
+ ttyS0
vi /etc/grub.conf
(hiddenmenuの下に追加)
+ serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
+ terminal --timeout=5 serial console
OSシャットダウン
shutdown -h now
イメージ吸い出し・転送
シングルユーザモードで起動する。
(レスキューCDを入れてブートが可能であればそれがベスト)
/etc/init.d/network start
/sbin/ifconfig
df -k
で表示されるファイルシステムを転送する
dd if=/dev/sda | ssh root@稼働先KVMホスト " dd of=/転送先ディレクトリ/server.sda.img"
dd if=/dev/sdb | ssh root@稼働先KVMホスト " dd of=/転送先ディレクトリ/server.sdb.img"
DISKを全て読み込むので長時間かかる。
バックグラウンドへ移す
長時間かかるため、万が一回線が切れた事を考慮してバックグラウンドに移すとよい。
ctrl + z
jobs
bg 1
設定ファイル作成
http://think-t.hatenablog.com/entry/20130224/p2
が参考になる。
KVMイメージ起動
稼働先KVMホストにログインする。
virsh define 設定ファイル
virsh start 定義した仮想サーバ名 --console
注意事項
KVM化した後、稀に物理サーバの時のmacアドレスを保持し続けて
ネットワークに接続できなくなることがある。
その際は以下のファイルを削除する。
centOS 4,5,6系の場合
以下のファイルを念のためバックアップ取得して削除する。
cp -p /etc/udev/rules.d/70-persistent-net.rules /tmp/.
:>/etc/udev/rules.d/70-persistent-net.rules
余談
今回、イメージの吸い上げはddコマンドで行っているが、このddコマンドは何かと便利である。
ddコマンドの他の便利な使い方について、以下参照。
https://tsukada.sumito.jp/2018/09/14/linux-mac%E3%81%A7%E5%A5%BD%E3%81%8D%E3%81%AA%E5%AE%B9%E9%87%8F%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/