virt-v2v is a handy tool used to convert VMs from Xen, VMware and Hyper-V to KVM. In this post we’ll step through importing an OVA file for use on libvirt. This is a very narrowly scoped example, but the concepts are applicable to a wide range of conversions. Check the man page for a complete list of input and output options.
Consider the common scenario of a management appliance VM. It is a simple way to distribute complex software, but not all vendors can support all hypervisors. A common solution is to export the original VMs to an open standard such as OVA, then users can import the OVAs into their hypervisor.
Defining a pool for appliances
The hypervisor stores VM image files in pools. A dedicated pool will help keep VMs separate logically and/or physically. For example, the new pool could live on a different storage device. If you are going to use an existing pool, you can skip ahead to “Importing”.
Check to see what pools are available on your hypervisor:
# virsh pool-list
Name State Autostart
-------------------------------------------
default active yes
To create a separate pool called Appliances make the target directory, create and start the pool. Lastly, set it to start automatically:
# mkdir /var/lib/libvirt/Appliances # virsh pool-define-as Appliances --type dir \ --target /var/lib/libvirt/Appliances # virsh pool-start Appliances # virsh pool-autostart Appliances
Check the status of the new pool:
# virsh pool-list
Name State Autostart
-------------------------------------------
Appliances active yes
default active yes
Importing
Place the OVA file in a location that is accessible from the hypervisor. In this example the appliance is /root/third_party_appliance.ova. This is the command we’ll use:
# virt-v2v \ -i ova /root/third_party_appliance.ova \ -o libvirt -of qcow2 \ -os Appliances -n default
The options read as:
-
“-i ova /root/third_party_appliance.ova” == “input is an ova file called /root/third_party_appliance.ova”
-
“-o libvirt -of qcow2” == “output a libvirt VM in a qcow2 file format”
-
“-os Appliances” == “place the output VM in the Appliances pool”
-
“-n default” == “configure the VM to use the default network”
This could take a while depending on the speed of the hypervisor and the size of the input VM. The output gives plenty of relevant feedback.
[ 0.0] Opening the source -i ova third_party_appliance.ova
[ 0.1] Creating an overlay to protect the source from being modified
[ 0.1] Initializing the target -o libvirt -os Appliances
[ 0.1] Opening the overlay
[ 13.7] Inspecting the overlay
[ 14.6] Checking for sufficient free disk space in the guest
[ 14.6] Estimating space required on target for each disk
[ 14.6] Converting Windows 7 Enterprise to run on KVM
[ 15.0] Mapping filesystem data to avoid copying unused and blank areas
[ 15.4] Closing the overlay
[ 15.6] Checking if the guest needs BIOS or UEFI to boot
[ 15.6] Assigning disks to buses
[ 15.6] Copying disk 1/1 to /var/lib/libvirt/Appliances/third_party_appliance-sda (qcow2)
(100.00/100%)
[ 132.3] Creating output metadata
Pool Appliances refreshed
[ 132.5] Finishing off
Once the import is finished, start the appliance VM and check its status:
# virsh start third_party_appliance
Domain third_party_appliance started
# virsh list --all
Id Name State
----------------------------------------------------
12 third_party_appliance running
- cfme_demo shut off
- Fedora27-test shut off
The process is quite simple once you break down the options. As mentioned above, the same techniques could be used for more complex conversions. The main page has examples for migrating VMs from an existing virtualization infrastructure into Red Hat Virtualization or Red Hat OpenStack Platform.
Want to learn more about edge computing?
Edge computing is in use today across many industries, including telecommunications, manufacturing, transportation, and utilities. Visit our resources to see how Red Hat's bringing connectivity out to the edge.
Tim Quinlan (RHCE, RHCVA) is a Technical Account Manager (TAM) in the US Central region. Since 1996, he has applied Linux geekery in a wide array of industries including retail, energy, rail control and manufacturing before coming to Red Hat.
A Red Hat Technical Account Manager is a specialized product expert who works collaboratively with IT organizations to strategically plan for successful deployments and help realize optimal performance and growth. The TAM is part of Red Hat’s world-class Customer Experience and Engagement organization and provides proactive advice and guidance to help you identify and address potential problems before they occur. Should a problem arise, your TAM will own the issue and engage the best resources to resolve it as quickly as possible with minimal disruption to your business.
Connect with TAMs at a Red Hat Convergence event near you! Red Hat Convergence is a free, invitation-only event offering technical users an opportunity to deepen their Red Hat product knowledge and discover new ways to apply open source technology to meet their business goals. These events travel to cities around the world to provide you with a convenient, local one-day experience to learn and connect with Red Hat experts and industry peers.
執筆者紹介
チャンネル別に見る
自動化
テクノロジー、チームおよび環境に関する IT 自動化の最新情報
AI (人工知能)
お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート
オープン・ハイブリッドクラウド
ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。
セキュリティ
環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報
エッジコンピューティング
エッジでの運用を単純化するプラットフォームのアップデート
インフラストラクチャ
世界有数のエンタープライズ向け Linux プラットフォームの最新情報
アプリケーション
アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細
オリジナル番組
エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー
製品
ツール
試用、購入、販売
コミュニケーション
Red Hat について
エンタープライズ・オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、Linux、クラウド、コンテナ、Kubernetes などのテクノロジーを提供しています。Red Hat は強化されたソリューションを提供し、コアデータセンターからネットワークエッジまで、企業が複数のプラットフォームおよび環境間で容易に運用できるようにしています。
言語を選択してください
Red Hat legal and privacy links
- Red Hat について
- 採用情報
- イベント
- 各国のオフィス
- Red Hat へのお問い合わせ
- Red Hat ブログ
- Red Hat におけるインクルージョン
- Cool Stuff Store
- Red Hat Summit