virt-v2vの使い方を清書した物をこちらで公開しました。→http://blog.virtualtech.jp/ouchi/395 virt-v2v(0.5.2)の使い方 RHEL6からXenがなくなってKVM1本になるとのことで、もちろんそれに追従するCentOS6からもXenが消えるのだと思われますが、CentOSとXenで自宅サーバを運用している僕としてはいずれどうにかしないといけない問題です。 前提
VMの用意 CentOSのXen環境で適当なVMをテスト用に用意します。 #virsh dumpxml /etc/xen/<VM名> > /root/<VM名>.xml virt-v2vのコンパイルとインストールFedoraマシンにgitパッケージをインストールして、最新コードをダウンロードします。 # git clone git://git.fedorahosted.org/virt-v2v.git コンパイルの手順は次のとおりです。 # perl Build.pl # ./Build # ./Build install ……が、たぶん、いろいろ足りないとエラーが出ると思います。適当に解決してしまったので記録が残っていないのですが、perl-Net-SSLGlueパッケージを入れたり、cpanでIO::Socket::SSLをインストールしたりするとなんとかなるかと思います。 いろいろ用意 virt-v2vがディスクイメージにアクセスしてカーネルの差し替えとかを行うため、差し替えを行うカーネルのパッケージと、それを支持する設定ファイル「virt-v2v.conf」を用意します。 mkdir -p /root/centos/5 cd /root/centos/5 wget http://rsync.atworks.co.jp/centos/5.4/os/x86_64/CentOS/ecryptfs-utils-75-5.el5.x86_64.rpm wget http://rsync.atworks.co.jp/centos/5.4/updates/x86_64/RPMS/lvm2-2.02.46-8.el5_4.2.x86_64.rpm wget http://rsync.atworks.co.jp/centos/5.4/os/x86_64/CentOS/device-mapper-1.02.32-1.el5.x86_64.rpm wget http://rsync.atworks.co.jp/centos/5.4/os/x86_64/CentOS/device-mapper-event-1.02.32-1.el5.x86_64.rpm wget http://rsync.atworks.co.jp/centos/5.4/os/i386/CentOS/ecryptfs-utils-75-5.el5.i386.rpm wget http://rsync.atworks.co.jp/centos/5.4/updates/i386/RPMS/lvm2-2.02.46-8.el5_4.2.i386.rpm wget http://rsync.atworks.co.jp/centos/5.4/os/i386/CentOS/device-mapper-1.02.32-1.el5.i386.rpm wget http://rsync.atworks.co.jp/centos/5.4/os/i386/CentOS/device-mapper-event-1.02.32-1.el5.i386.rpm wget http://rsync.atworks.co.jp/centos/5.4/updates/i386/RPMS/kernel-2.6.18-164.15.1.el5.i686.rpm wget http://rsync.atworks.co.jp/centos/5.4/updates/x86_64/RPMS/kernel-2.6.18-164.15.1.el5.x86_64.rpm コンバートの実行次のコマンドを実行して、コンバートを実行します。ストレージのプールはvirt-managerやvirshコマンドで作成しておいてください。 virt-v2v -i libvirtxml -op <ストレージのプール名> -f virt-v2v.conf <VM名>.xml 実行しても何も表示されませんが、裏でディスクイメージを作成したりしています。 VMの追加と起動テストFedora13のKVMでそのまま起動できたらスムーズなのですが、virsh createする際、エラーが発生して登録できないため、今回はCentOSのKVM環境を作って、そちらにディスクイメージを写して起動テストを行いました。 ちなみに、エラーの内容はこんな感じ。 >> エラー: v2vtest.xml からのドメイン作成に失敗しました >> エラー: internal error Process exited while reading console log output: char device redirected to /dev/pts/1 >> qemu: could not open disk image /var/lib/libvirt/images/test/v2vtest.img: Permission denied たぶん、これ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574241 )と同じ現象のようで、0.80以降なら問題ないようです。Fedora13にも適用されると良いですね。 ディスクイメージと設定ファイルをコピーします。scpでは遅いので、webサーバをたててhttpプロトコルでブワっとファイルをやり取りするのが個人的に好きです。nfsとかでも良いと思います。それはお任せで。
memoyum install git perl-libguestfs perl-XML-DOM-XPath perl-Sys-Virt cpan Locale::TextDomain |