2012年6月27日水曜日

virt-v2v を使用して Xen 環境から KVM 環境へ

こんにちは。サイオステクノロジー OSS テクノロジーセンターの村田です。

SIOS では、本日も RHEV ハンズオンセミナーを開催しております。 その、関連したトピックスとして v2v の機能をご案内したいと思います。


Red Hat より Xen を標準搭載した Red Hat Enterprise Linux (RHEL) 5 が発売されたのが 2007年3月となるため、当時導入を行なわれたシステムも5年以上経過し、リプレースの時期が来ているのではないでしょうか。

この時に Xen で仮想環境のシステムを導入された方の中には、現在動作している Xen 仮想ホスト上の VM はどのように移行しようかと、お悩みの方も中にはいるのではないかと思います。

今回は、当時の Linux では標準的に提供されていた Xen 仮想ホストから KVM 仮想ホストへ移行を行う virt-v2v をご案内します。

まずは簡単ですが、virt-v2v の概要と対応する仮想ホストを紹介します。

virt-v2v とは

virtual to virtual の略で Xen、KVM、VMware ESX 仮想プラットフォームの仮想マシンを libvirt で管理する KVM もしくは、 Red Hat Enterprise Virtualization (RHEV) で稼働するよう変換する機能です。


virt-v2v が対応するソースハイパーバイザー(元となる仮想ホスト)

- Xen
- KVM
- VMware ESX

virt-v2v は、Xen 以外にも VMware ESX の仮想ゲストも移行できるので、プロプライエタリな製品からオープンソースへという流れもできそうですね。

ここからは導入方法からコンバートまでを最小の手順で行ないたいと思います。

今回は、以下の環境にて virt-v2v を使用して KVM 環境へのコンバートを行います。

Xen 仮想ホスト環境 KVM 仮想ホスト環境
CentOS 5.6
Xen 仮想ホスト
ホスト名:cent56xen
CentOS 6.2
KVM仮想ホスト
ホスト名:cent62v2v

※ KVM 仮想化ホスト環境を最小インストールで導入された場合は、yum コマンドにて以下のグループを追加して KVM 仮想ホストとして動作できる環境にして下さい。

[root@cent62v2v ~]# yum groupinstall Virtualization "Virtualization Client" "Virtualization Platform"
  1. virt-v2v のインストール
  2. virt-v2v のインストールは yum コマンドより virt-v2v をインストールするだけで簡単に行うことができます。
    (標準インストールの場合、48パッケージのインストール、1パッケージのアップデート、合計 19M のパッケージダウンロードが行われます)

    [root@cent62v2v ~]# yum install virt-v2v

    これだけで virt-v2v ホストとしては準備完了です。
    次は実際に Xen 仮想ホスト上の仮想OSを KVM 形式に変換し、 libvirt で管理する KVM に移行していきます。

  3. 移行対象の VM をシャットオフ状態にします。
  4. ここでは xenclient を対象とします。

  5. 移行先の KVM ホストの設定を確認します。
  6. 仮想ネットワークとストレージプールの設定を確認します。今回はどちらも最初から用意されている "default" を使用します。

    virt-v2v コマンドにて KVM 環境向けにコンバートします。

    [root@cent62v2v ~]# virt-v2v -o libvirt -ic xen+ssh://root@cent56xen -os default --network default xenclient
    root@cent56xen's password:
    xenclient.img: 84% [================================================================* ]1m06s Left

    今回使用した virt-v2v のオプションは以下のとおりです。

    -o method 出力メソッドを指定します。出力メソッドを指定しないとデフォルトは libvirt になります。 対応出力メソッドは以下の通りです。
    • libvirt 、libvirt ゲストを作成します。-oc と -op のオプションを参照してください。
      libvirt 出力メソッドには -op を指定しなければなりません。
    • rhev 、Red Hat Enterprise Virtualization エクスポートストレージドメイン上に、
      後日 Managerを使用してインポートができるゲストを作成します。rhev 出力メソッド
      には -osd またはエクスポートストレージドメインを指定しなければなりません。
    -ic URI libvirt 入力メソッドを使う場合に使用する接続を指定します。
    -os storage 変換したゲスト用に作成する新しいストレージの作成先を指定します。 -o パラメータで指定される移行メソッドにより異なります。
    -n network | --network network 設定ファイル内に指定ネットワークへのマッピングがない、すべてのゲストのブリッジや ネットワークのマッピングを行います。 このオプションは --bridge との併用はできません

    virt-v2v を実行したホストマシンの仮想マシンマネージャを開くと、Xen 仮想ホスト環境で動作していた xenclient がKVM 仮想ホストへコンバートされたことが確認できます。


  7. 移行先 KVM ホストでの動作確認

以上で Xen ホスト環境で動作していた仮想マシンを KVM ホスト環境で動作できるようにコンバートできました。

今回は KVM ホスト(libvirt) に対して移行を行いましたが、RHEV 環境への移行も virt-v2v で行うことができます。
RHEL6.3 からは物理環境から仮想環境へ移行するツール、virt-p2v も提供されるので、今後の仮想化への移行はますます加速しそうな勢いですね。

0 件のコメント:

コメントを投稿