LoginSignup
12
12

More than 5 years have passed since last update.

VMware vCenter ConverterでP2Vする

Last updated at Posted at 2014-06-03

物理マシンを仮想化する事をP2V (Physical to Virtual)というらしい。
古い物理のLinuxサーバーを仮想化してVMware ESXiに集約したい。

vc07.png

イメージ

ネットワーク的に接続が可能か確認しておく

vc06.png

また物理サーバーへはrootでログインできる必要があると思います。

VMware vCenter Converter をインストール

ダウンロード
http://www.vmware.com/jp/products/converter

サーバーを操作しているWindows機にvCenter Converterをインストールします

VMware vCenter Converter でP2V

特に意識せず設定すれば問題なくいけました。

  • VMware vCenter Converterを起動
  • Convert machine を選択
  • [Source System] Source typeをPowerd-on machineにして remote machine
  • [Destination System] VMware ESXiの情報を入れる
  • [Destination Virtual Machine] VMWare ESXiのインスタンスリストが見れる。仮想サーバー名等を設定
  • [Destination Location] 仮想ディスクの保存先のdatastoreなどを選択

最後まで設定したらConvertが開始される。
Statusが完了になったらESXi側に変換した仮想マシンができてる。

変換中物理サーバーのプロセスを確認すると

tar --one-file-system --sparse -C /usr -cf - .

というコマンドが走っていたので、実際の移行では整合性や負荷について考慮する必要があると思います。(極力サービスを停止して行う、など)

ここで「一般的なシステム エラーが発生しました」となる場合、クライアントからESXiサーバーにSSHできなかったり、ESXiのサーバーから物理マシンにSSHできなかったりの可能性があるので確認する。

また、LVSボリュームの場合はConvert時の設定でターゲットレイアウトを基本に変換する必要がある。

(参考)
http://www.umasugi.com/~h070017/201205060001_ja.html

基本的にはこれでできた仮想マシンが起動すれば終わり。

Kernel Panicで起動しない場合はinitrd.imgを再作成

LVSの変換を忘れたり、それ以外でもなぜかKernel Panicが起きて起動しない時があった。
エラー時のメッセージは

* Mounting /dev/sda5 on /sysroot
mount: mounting /dev/sda5 on /sysroot failed: No such file or directory
mkmod: /sysroot/dev/console : No such file or directory
mkmod: /sysroot/dev/null : No such file or directory
mkmod: /sysroot/dev/zero : No such file or directory
* Switching / to /sysroot
switch_root: bad newroot /sysroot
Kernel panic - not syncing: Attempted to kill init!

こういうときはinitrd.imgを再作成する必要があるらしい。
以下を参考に作業を行う
https://www.centos.org/forums/viewtopic.php?t=24563

現在のディスクではKernel Panicで操作できないのでLinux系LiveCDで仮想マシンを起動してディスクを操作します。

  • vSphere Clientで作られた仮想マシンのプロパティを表示。
  • オプション -> 起動オプション -> 強制的にBIOSセットアップ にチェック
  • Linux系LiveCDをデバイスから選択する
  • 再起動。
  • BIOS画面が立ち上がったらbootの設定をCDにして起動。
  • Ubuntuが起動したらターミナルを起動して操作。

今回はUbuntuのLive CDでブートしました。
ちなみに今回の移行対象物理サーバーはこんな感じのパーティション

/dev/sda5 /
/dev/sda1 /boot
/dev/sda7 /home
/dev/sda2 /usr
/dev/sda3 /var

マウントポイントを作成

mkdir /mnt/root

hddデータをマウント

mount /dev/sda5 /mnt/root
mount /dev/sda7 /mnt/root/home
mount /dev/sda2 /mnt/root/usr
mount /dev/sda3 /mnt/root/var
mount --bind /dev /mnt/root/dev
mount -t proc proc /mnt/root/proc
mount -t sysfs sysfs /mnt/root/sys

chrootしてlabelが張り直しフラグをたてる

chroot /mnt/root
touch .autorelabel

initrdの再作成。こんなコマンドです。
mkinitramfs -o [出力パス] [カーネルバージョン]

(例)
mkinitramfs -o /boot/initrd.img-2.6.26-2-686 2.6.26-2-686

第2引数がなければ uname -rの結果を入り、Live CDのカーネルバージョンになってしまうので注意。

無事にinitrd.imgが再作成できたら再起動で正常にブートできる。(はず)

これでもカーネルパニックする場合

  • fstab grub.confの内容は見る
  • hdaでsdaになってたりしないか
  • 仮想マシンのHDDの設定をSCSIからIDEに変更してみたりする

似たエントリ
VMware vCenter Converterで5.5環境にP2Vしてみた
http://qiita.com/mnagaku/items/3f0b3285328b5072493d

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12