名前

virt-v2v-output-local - Using virt-v2v to convert guests to local files or libvirt

書式

 virt-v2v [-i* options] [-o libvirt] -os POOL
 virt-v2v [-i* options] -o local -os DIRECTORY
 virt-v2v [-i* options] -o qemu -os DIRECTORY [--qemu-boot]
 virt-v2v [-i* options] -o null

説明

This page documents how to use virt-v2v(1) to convert guests to local files or to a locally running libvirt instance. There are four output modes you can select on the virt-v2v command line:
-o libvirt -os "POOL"
-os "POOL"
This converts the guest to a libvirt directory pool call "POOL", and instantiates the guest in libvirt (but does not start it running). See "OUTPUT TO LIBVIRT" below. -o libvirt is the default if no -o option is given, so you can omit it.
-o local -os "DIRECTORY"
This converts the guest to files in "DIRECTORY". A libvirt XML file is also created, but unlike -o libvirt the guest is not instantiated in libvirt, only files are created. The files will be called:
 NAME-sda, NAME-sdb, etc.      Guest disk(s).
 NAME.xml                      Libvirt XML.
    
where "NAME" is the guest name.
-o qemu -os "DIRECTORY"
-o qemu -os "DIRECTORY" --qemu-boot
This converts the guest to files in "DIRECTORY". Unlike -o local above, a shell script is created which contains the raw qemu command you would need to boot the guest. However the shell script is not run, unless you also add the --qemu-boot option.
-o null
The guest is converted, but the final result is thrown away and no metadata is created. This is mainly useful for testing.

OUTPUT TO LIBVIRT

The -o libvirt option lets you upload the converted guest to a libvirt-managed host. There are several limitations:
You can only use a local libvirt connection [see below for how to workaround this].
The -os pool option must specify a directory pool, not anything more exotic such as iSCSI [but see below].
You can only upload to a KVM hypervisor.

Workaround for output to a remote libvirt instance and/or a non-directory storage pool

1.
Use virt-v2v in -o local mode to convert the guest disks and metadata into a local temporary directory:
 virt-v2v [...] -o local -os /var/tmp
    
This creates two (or more) files in /var/tmp called:
 /var/tmp/NAME.xml     # the libvirt XML (metadata)
 /var/tmp/NAME-sda     # the guest’s first disk
    
(for "NAME" substitute the guest’s name).
2.
Upload the converted disk(s) into the storage pool called "POOL":
 size=$(stat -c%s /var/tmp/NAME-sda)
 virsh vol-create-as POOL NAME-sda $size --format raw
 virsh vol-upload --pool POOL NAME-sda /var/tmp/NAME-sda
    
3.
Edit /var/tmp/NAME.xml to change /var/tmp/NAME-sda to the pool name. In other words, locate the following bit of XML:
 <disk type='file' device='disk'>
   <driver name='qemu' type='raw' />
   <source file='/var/tmp/NAME-sda' />
   <target dev='hda' bus='ide' />
 </disk>
    
and change two things: The "type='file'" attribute must be changed to "type='volume'", and the "<source>" element must be changed to include "pool" and "volume" attributes:
 <disk type='volume' device='disk'>
   ...
   <source pool='POOL' volume='NAME-sda' />
   ...
 </disk>
    
4.
Define the final guest in libvirt:
 virsh define /var/tmp/NAME.xml
    

関連項目

virt-v2v(1).

著者

Richard W.M. Jones Copyright (C) 2009-2020 Red Hat Inc.

LICENSE

BUGS

To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
The version of libguestfs.
Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
Describe the bug accurately and give a way to reproduce it.
Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.

Recommended readings

Pages related to virt-v2v-output-local you should read also:

Questions & Answers

Helpful answers and articles about virt-v2v-output-local you may found on these sites:
Stack Overflow Server Fault Super User Unix & Linux Ask Ubuntu Network Engineering DevOps Raspberry Pi Webmasters Google Search