1virt-v2v(1) Virtualization Support virt-v2v(1)
2
3
4
6 virt-v2v - Convert a guest to use KVM
7
9 virt-v2v [-i mode] [other -i* options]
10 [-o mode] [other -o* options]
11 [guest|filename]
12
14 Virt-v2v converts a single guest from a foreign hypervisor to run on
15 KVM. It can read Linux and Windows guests running on VMware, Xen,
16 Hyper-V and some other hypervisors, and convert them to KVM managed by
17 libvirt, OpenStack, oVirt, Red Hat Virtualisation (RHV) or several
18 other targets. It can modify the guest to make it bootable on KVM and
19 install virtio drivers so it will run quickly.
20
21 There is also a companion front-end called virt-p2v(1) which comes as
22 an ISO, CD or PXE image that can be booted on physical machines to
23 virtualize those machines (physical to virtual, or p2v).
24
25 For in-place conversion, there is a separate tool called
26 virt-v2v-in-place(1).
27
28 Input and Output
29 You normally run virt-v2v with several -i* options controlling the
30 input mode and also several -o* options controlling the output mode.
31 In this sense, "input" refers to the source foreign hypervisor such as
32 VMware, and "output" refers to the target KVM-based management system
33 such as oVirt or OpenStack.
34
35 The input and output sides of virt-v2v are separate and unrelated.
36 Virt-v2v can read from any input and write to any output. Therefore
37 these sides of virt-v2v are documented separately in this manual.
38
39 Virt-v2v normally copies from the input to the output, called "copying
40 mode". In this case the source guest is always left unchanged. In-
41 place conversions may be done using virt-v2v-in-place(1).
42
43 Other virt-v2v topics
44 virt-v2v-support(1) — Supported hypervisors, virtualization management
45 systems, guests.
46
47 virt-v2v-input-vmware(1) — Input from VMware.
48
49 virt-v2v-input-xen(1) — Input from Xen.
50
51 virt-v2v-output-local(1) — Output to local files or local libvirt.
52
53 virt-v2v-output-rhv(1) — Output to oVirt or RHV.
54
55 virt-v2v-output-openstack(1) — Output to OpenStack.
56
57 virt-v2v-release-notes-1.42(1) — Release notes for 1.42 release.
58
59 virt-v2v-release-notes-2.0(1) — Release notes for 2.0 release.
60
62 Convert from VMware vCenter server to local libvirt
63 You have a VMware vCenter server called "vcenter.example.com", a
64 datacenter called "Datacenter", and an ESXi hypervisor called "esxi".
65 You want to convert a guest called "vmware_guest" to run locally under
66 libvirt.
67
68 virt-v2v -ic vpx://vcenter.example.com/Datacenter/esxi vmware_guest
69
70 In this case you will most likely have to run virt-v2v as "root", since
71 it needs to talk to the system libvirt daemon and copy the guest disks
72 to /var/lib/libvirt/images.
73
74 For more information see virt-v2v-input-vmware(1).
75
76 Convert from VMware to RHV/oVirt
77 This is the same as the previous example, except you want to send the
78 guest to a RHV Data Domain using the RHV REST API. Guest network
79 interface(s) are connected to the target network called "ovirtmgmt".
80
81 virt-v2v -ic vpx://vcenter.example.com/Datacenter/esxi vmware_guest \
82 -o rhv-upload -oc https://ovirt-engine.example.com/ovirt-engine/api \
83 -os ovirt-data -op /tmp/ovirt-admin-password -of raw \
84 -oo rhv-cafile=/tmp/ca.pem --bridge ovirtmgmt
85
86 In this case the host running virt-v2v acts as a conversion server.
87
88 For more information see virt-v2v-output-rhv(1).
89
90 Convert from ESXi hypervisor over SSH to local libvirt
91 You have an ESXi hypervisor called "esxi.example.com" with SSH access
92 enabled. You want to convert from VMFS storage on that server to a
93 local file.
94
95 virt-v2v \
96 -i vmx -it ssh \
97 "ssh://root@esxi.example.com/vmfs/volumes/datastore1/guest/guest.vmx" \
98 -o local -os /var/tmp
99
100 The guest must not be running. Virt-v2v would not need to be run as
101 root in this case.
102
103 For more information about converting from VMX files see
104 virt-v2v-input-vmware(1).
105
106 Convert disk image to OpenStack
107 Given a disk image from another hypervisor that you want to convert to
108 run on OpenStack (only KVM-based OpenStack is supported), you can run
109 virt-v2v inside an OpenStack VM (called "v2v-vm" below), and do:
110
111 virt-v2v -i disk disk.img -o openstack -oo server-id=v2v-vm
112
113 See virt-v2v-output-openstack(1).
114
115 Convert disk image to disk image
116 Given a disk image from another hypervisor that you want to convert to
117 run on KVM, you have two options. The simplest way is to try:
118
119 virt-v2v -i disk disk.img -o local -os /var/tmp
120
121 where virt-v2v guesses everything about the input disk.img and (in this
122 case) writes the converted result to /var/tmp.
123
124 A more complex method is to write some libvirt XML describing the input
125 guest (if you can get the source hypervisor to provide you with libvirt
126 XML, then so much the better). You can then do:
127
128 virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
129
130 Since guest-domain.xml contains the path(s) to the guest disk image(s)
131 you do not need to specify the name of the disk image on the command
132 line.
133
134 To convert a local disk image and immediately boot it in local qemu,
135 do:
136
137 virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot
138
140 --help
141 Display help.
142
143 --bandwidth bps
144 --bandwidth-file filename
145 Some input methods are able to limit the network bandwidth they
146 will use statically or dynamically. In the first variant this sets
147 the bandwidth limit statically in bits per second. Formats like
148 "10M" may be used (meaning 10 megabits per second).
149
150 In the second variant the bandwidth is limited dynamically from the
151 content of the file (also in bits per second, in the same formats
152 supported by the first variant). You may use both parameters
153 together, meaning: first limit to a static rate, then you can
154 create the file while virt-v2v is running to adjust the rate
155 dynamically.
156
157 This is only supported for:
158
159 • input from Xen
160
161 • input from VMware VMX when using the SSH transport method
162
163 • input from VDDK
164
165 • -i libvirtxml when using HTTP or HTTPS disks
166
167 • input from VMware vCenter server
168
169 The options are silently ignored for other input methods.
170
171 -b ...
172 --bridge ...
173 See --network below.
174
175 --colors
176 --colours
177 Use ANSI colour sequences to colourize messages. This is the
178 default when the output is a tty. If the output of the program is
179 redirected to a file, ANSI colour sequences are disabled unless you
180 use this option.
181
182 --compressed
183 This is the same as -oo compressed.
184
185 --echo-keys
186 When prompting for keys and passphrases, virt-v2v normally turns
187 echoing off so you cannot see what you are typing. If you are not
188 worried about Tempest attacks and there is no one else in the room
189 you can specify this flag to see what you are typing.
190
191 Note this options only applies to keys and passphrases for
192 encrypted devices and partitions, not for passwords used to connect
193 to remote servers.
194
195 -i disk
196 Set the input method to disk.
197
198 In this mode you can read a virtual machine disk image with no
199 metadata. virt-v2v tries to guess the best default metadata. This
200 is usually adequate but you can get finer control (eg. of memory
201 and vCPUs) by using -i libvirtxml instead. Only guests that use a
202 single disk can be imported this way.
203
204 -i libvirt
205 Set the input method to libvirt. This is the default.
206
207 In this mode you have to specify a libvirt guest name or UUID on
208 the command line. You may also specify a libvirt connection URI
209 (see -ic).
210
211 -i libvirtxml
212 Set the input method to libvirtxml.
213
214 In this mode you have to pass a libvirt XML file on the command
215 line. This file is read in order to get metadata about the source
216 guest (such as its name, amount of memory), and also to locate the
217 input disks. See "Minimal XML for -i libvirtxml option" below.
218
219 -i local
220 This is the same as -i disk.
221
222 -i ova
223 Set the input method to ova.
224
225 In this mode you can read a VMware ova file. Virt-v2v will read
226 the ova manifest file and check the vmdk volumes for validity
227 (checksums) as well as analyzing the ovf file, and then convert the
228 guest. See virt-v2v-input-vmware(1).
229
230 -i vmx
231 Set the input method to vmx.
232
233 In this mode you can read a VMware vmx file directly or over SSH.
234 This is useful when VMware VMs are stored on an NFS server which
235 you can mount directly, or where you have access by SSH to an ESXi
236 hypervisor. See virt-v2v-input-vmware(1).
237
238 -ic libvirtURI
239 Specify a libvirt connection URI to use when reading the guest.
240 This is only used when -i libvirt.
241
242 Only local libvirt connections, VMware vCenter connections, or RHEL
243 5 Xen remote connections can be used. Other remote libvirt
244 connections will not work in general.
245
246 See also virt-v2v-input-vmware(1), virt-v2v-input-xen(1).
247
248 -if format
249 For -i disk only, this specifies the format of the input disk
250 image. For other input methods you should specify the input format
251 in the metadata.
252
253 -io OPTION=VALUE
254 Set input option(s) related to the current input mode or transport.
255 To display short help on what options are available you can use:
256
257 virt-v2v -it vddk -io "?"
258
259 -io vddk-libdir=LIBDIR
260 Set the VDDK library directory. This directory should contain
261 subdirectories called include, lib64 etc., but do not include lib64
262 actually in the parameter.
263
264 In most cases this parameter is required when using the -it vddk
265 (VDDK) transport. See virt-v2v-input-vmware(1) for details.
266
267 -io vddk-thumbprint=xx:xx:xx:...
268 Set the thumbprint of the remote VMware server.
269
270 This parameter is required when using the -it vddk (VDDK)
271 transport. See virt-v2v-input-vmware(1) for details.
272
273 -io vddk-config=FILENAME
274 -io vddk-cookie=COOKIE
275 -io vddk-nfchostport=PORT
276 -io vddk-port=PORT
277 -io vddk-snapshot=SNAPSHOT-MOREF
278 -io vddk-transports=MODE:MODE:...
279 When using VDDK mode, these options are passed unmodified to the
280 nbdkit(1) VDDK plugin. Please refer to nbdkit-vddk-plugin(1). Do
281 not use these options unless you know what you are doing. These
282 are all optional.
283
284 -ip filename
285 Supply a file containing a password to be used when connecting to
286 the target hypervisor. If this is omitted then the input
287 hypervisor may ask for the password interactively. Note the file
288 should contain the whole password, without any trailing newline,
289 and for security the file should have mode 0600 so that others
290 cannot read it.
291
292 -it ssh
293 When using -i vmx, this enables the ssh transport. See
294 virt-v2v-input-vmware(1).
295
296 -it vddk
297 Use VMware VDDK as a transport to copy the input disks. See
298 virt-v2v-input-vmware(1). If you use this parameter then you may
299 need to use other -io vddk* options to specify how to connect
300 through VDDK.
301
302 --key SELECTOR
303 Specify a key for LUKS, to automatically open a LUKS device when
304 using the inspection. "ID" can be either the libguestfs device
305 name, or the UUID of the LUKS device.
306
307 --key "ID":key:KEY_STRING
308 Use the specified "KEY_STRING" as passphrase.
309
310 --key "ID":file:FILENAME
311 Read the passphrase from FILENAME.
312
313 --key "ID":clevis
314 Attempt passphrase-less unlocking for "ID" with Clevis, over
315 the network. Please refer to "ENCRYPTED DISKS" in guestfs(3)
316 for more information on network-bound disk encryption (NBDE).
317
318 Note that if any such option is present on the command line,
319 QEMU user networking will be automatically enabled for the
320 libguestfs appliance.
321
322 --keys-from-stdin
323 Read key or passphrase parameters from stdin. The default is to
324 try to read passphrases from the user by opening /dev/tty.
325
326 If there are multiple encrypted devices then you may need to supply
327 multiple keys on stdin, one per line.
328
329 Note --keys-from-stdin only applies to keys and passphrases for
330 encrypted devices and partitions, not for passwords used to connect
331 to remote servers.
332
333 --mac aa:bb:cc:dd:ee:ff:network:out
334 --mac aa:bb:cc:dd:ee:ff:bridge:out
335 Map source NIC MAC address to a network or bridge.
336
337 See "Networks and bridges" below.
338
339 --mac aa:bb:cc:dd:ee:ff:ip:ipaddr[,gw[,len[,ns,ns,...]]]
340 Force a particular interface (controlled by its MAC address) to
341 have a static IP address after boot.
342
343 The fields in the parameter are: "ipaddr" is the IP address. "gw"
344 is the optional gateway IP address. "len" is the subnet mask
345 length (an integer). The final parameters are zero or more
346 nameserver IP addresses.
347
348 This option can be supplied zero or more times.
349
350 You only need to use this option for certain broken guests such as
351 Windows which are unable to preserve MAC to static IP address
352 mappings automatically. You don't need to use it if Windows is
353 using DHCP. It is currently ignored for Linux guests since they do
354 not have this problem.
355
356 --machine-readable
357 --machine-readable=format
358 This option is used to make the output more machine friendly when
359 being parsed by other programs. See "Machine readable output"
360 below.
361
362 -n in:out
363 -n out
364 --network in:out
365 --network out
366 -b in:out
367 -b out
368 --bridge in:out
369 --bridge out
370 Map network (or bridge) called "in" to network (or bridge) called
371 "out". If no "in:" prefix is given, all other networks (or
372 bridges) are mapped to "out".
373
374 See "Networks and bridges" below.
375
376 -o disk
377 This is the same as -o local.
378
379 -o glance
380 This is a legacy option. You should probably use -o openstack
381 instead.
382
383 Set the output method to OpenStack Glance. In this mode the
384 converted guest is uploaded to Glance. See
385 virt-v2v-output-openstack(1).
386
387 -o json
388 This option is deprecated and will be removed in virt-v2v 2.2.
389
390 -o libvirt
391 Set the output method to libvirt. This is the default.
392
393 In this mode, the converted guest is created as a libvirt guest.
394 You may also specify a libvirt connection URI (see -oc).
395
396 See virt-v2v-output-local(1).
397
398 -o local
399 Set the output method to local.
400
401 In this mode, the converted guest is written to a local directory
402 specified by -os /dir (the directory must exist). The converted
403 guest’s disks are written as:
404
405 /dir/name-sda
406 /dir/name-sdb
407 [etc]
408
409 and a libvirt XML file is created containing guest metadata:
410
411 /dir/name.xml
412
413 where "name" is the guest name.
414
415 -o null
416 Set the output method to null.
417
418 The guest is converted and copied but the results are thrown away
419 and no metadata is written.
420
421 -o openstack
422 Set the output method to OpenStack. See
423 virt-v2v-output-openstack(1).
424
425 -o ovirt
426 This is the same as -o rhv.
427
428 -o ovirt-upload
429 This is the same as -o rhv-upload.
430
431 -o qemu
432 Set the output method to qemu.
433
434 This is similar to -o local, except that a shell script is written
435 which you can use to boot the guest in qemu. The converted disks
436 and shell script are written to the directory specified by -os.
437
438 When using this output mode, you can also specify the -oo qemu-boot
439 option which boots the guest under qemu immediately.
440
441 -o rhev
442 This is the same as -o rhv.
443
444 -o rhv
445 Set the output method to rhv.
446
447 The converted guest is written to a RHV Export Storage Domain. The
448 -os parameter must also be used to specify the location of the
449 Export Storage Domain. Note this does not actually import the
450 guest into RHV. You have to do that manually later using the UI.
451
452 See virt-v2v-output-rhv(1).
453
454 -o rhv-upload
455 Set the output method to rhv-upload.
456
457 The converted guest is written directly to a RHV Data Domain. This
458 is a faster method than -o rhv, but requires oVirt or RHV ≥ 4.2.
459
460 See virt-v2v-output-rhv(1).
461
462 -o vdsm
463 Set the output method to vdsm.
464
465 This mode is similar to -o rhv, but the full path to the data
466 domain must be given:
467 /rhv/data-center/<data-center-uuid>/<data-domain-uuid>. This mode
468 is only used when virt-v2v runs under VDSM control.
469
470 -oa sparse
471 -oa preallocated
472 Set the output file allocation mode. The default is "sparse".
473
474 -oc URI
475 Specify a connection URI to use when writing the converted guest.
476
477 For -o libvirt this is the libvirt URI. Only local libvirt
478 connections can be used. Remote libvirt connections will not work.
479 See virt-v2v-output-local(1) for further information.
480
481 -of format
482 When converting the guest, convert the disks to the given format.
483
484 If not specified, then the input format is used.
485
486 -on name
487 Rename the guest when converting it. If this option is not used
488 then the output name is the same as the input name.
489
490 -oo OPTION=VALUE
491 Set output option(s) related to the current output mode. To
492 display short help on what options are available you can use:
493
494 virt-v2v -o rhv-upload -oo "?"
495
496 -oo compressed
497 For outputs which support qcow2 format (-of qcow2), this writes a
498 compressed qcow2 file. It is the equivalent to the -c option of
499 qemu-img(1).
500
501 -oo guest-id="ID"
502 For -o openstack (virt-v2v-output-openstack(1)) only, set a guest
503 ID which is saved on each Cinder volume in the "virt_v2v_guest_id"
504 volume property.
505
506 -oo qemu-boot
507 When using -o qemu only, this boots the guest immediately after
508 virt-v2v finishes.
509
510 -oo verify-server-certificate
511 -oo verify-server-certificate="true|false"
512 For -o openstack (virt-v2v-output-openstack(1)) only, this can be
513 used to disable SSL certification validation when connecting to
514 OpenStack by specifying -oo verify-server-certificate=false.
515
516 -oo os-*=*
517 For -o openstack (virt-v2v-output-openstack(1)) only, set optional
518 OpenStack authentication. For example -oo os-username=NAME is
519 equivalent to "openstack --os-username=NAME".
520
521 -oo rhv-cafile=ca.pem
522 For -o rhv-upload (virt-v2v-output-rhv(1)) only, the ca.pem file
523 (Certificate Authority), copied from /etc/pki/ovirt-engine/ca.pem
524 on the oVirt engine.
525
526 -oo rhv-cluster="CLUSTERNAME"
527 For -o rhv-upload (virt-v2v-output-rhv(1)) only, set the RHV
528 Cluster Name. If not given it uses "Default".
529
530 -oo rhv-proxy
531 For -o rhv-upload (virt-v2v-output-rhv(1)) only, proxy the upload
532 through oVirt Engine. This is slower than uploading directly to
533 the oVirt node but may be necessary if you do not have direct
534 network access to the nodes.
535
536 -oo rhv-verifypeer
537 For -o rhv-upload (virt-v2v-output-rhv(1)) only, verify the
538 oVirt/RHV server’s identity by checking the server‘s certificate
539 against the Certificate Authority.
540
541 -oo server-id="NAME|UUID"
542 For -o openstack (virt-v2v-output-openstack(1)) only, set the name
543 of the conversion appliance where virt-v2v is running.
544
545 -oo vdsm-compat=0.10
546 -oo vdsm-compat=1.1
547 If -o vdsm and the output format is qcow2, then we add the qcow2
548 compat=0.10 option to the output file for compatibility with RHEL 6
549 (see https://bugzilla.redhat.com/1145582).
550
551 If -oo vdsm-compat=1.1 is used then modern qcow2 (compat=1.1) files
552 are generated instead.
553
554 Currently -oo vdsm-compat=0.10 is the default, but this will change
555 to -oo vdsm-compat=1.1 in a future version of virt-v2v (when we can
556 assume that everyone is using a modern version of qemu).
557
558 Note this option only affects -o vdsm output. All other output
559 modes (including -o rhv) generate modern qcow2 compat=1.1 files,
560 always.
561
562 If this option is available, then "vdsm-compat-option" will appear
563 in the --machine-readable output.
564
565 -oo vdsm-image-uuid=UUID
566 -oo vdsm-vol-uuid=UUID
567 -oo vdsm-vm-uuid=UUID
568 -oo vdsm-ovf-output=DIR
569 Normally the RHV output mode chooses random UUIDs for the target
570 guest. However VDSM needs to control the UUIDs and passes these
571 parameters when virt-v2v runs under VDSM control. The parameters
572 control:
573
574 • the image directory of each guest disk (-oo vdsm-image-uuid)
575 (this option is passed once for each guest disk)
576
577 • UUIDs for each guest disk (-oo vdsm-vol-uuid) (this option is
578 passed once for each guest disk)
579
580 • the OVF file name (-oo vdsm-vm-uuid).
581
582 • the OVF output directory (default current directory) (-oo vdsm-
583 ovf-output).
584
585 The format of UUIDs is: "12345678-1234-1234-1234-123456789abc"
586 (each hex digit can be "0-9" or "a-f"), conforming to OSF DCE 1.1.
587
588 These options can only be used with -o vdsm.
589
590 -oo vdsm-ovf-flavour=flavour
591 This option controls the format of the OVF generated at the end of
592 conversion. Currently there are two possible flavours:
593
594 rhvexp
595 The OVF format used in RHV export storage domain.
596
597 ovirt
598 The OVF format understood by oVirt REST API.
599
600 For backward compatibility the default is rhvexp, but this may
601 change in the future.
602
603 -op file
604 Supply a file containing a password to be used when connecting to
605 the target hypervisor. Note the file should contain the whole
606 password, without any trailing newline, and for security the file
607 should have mode 0600 so that others cannot read it.
608
609 -os storage
610 The location of the storage for the converted guest.
611
612 For -o libvirt, this is a libvirt directory pool (see
613 "virsh pool-list") or pool UUID.
614
615 For -o local and -o qemu, this is a directory name. The directory
616 must exist.
617
618 For -o rhv-upload, this is the name of the destination Storage
619 Domain.
620
621 For -o openstack, this is the optional Cinder volume type.
622
623 For -o rhv, this can be an NFS path of the Export Storage Domain of
624 the form "<host>:<path>", eg:
625
626 rhv-storage.example.com:/rhv/export
627
628 The NFS export must be mountable and writable by the user and host
629 running virt-v2v, since the virt-v2v program has to actually mount
630 it when it runs. So you probably have to run virt-v2v as "root".
631
632 Or: You can mount the Export Storage Domain yourself, and point -os
633 to the mountpoint. Note that virt-v2v will still need to write to
634 this remote directory, so virt-v2v will still need to run as
635 "root".
636
637 You will get an error if virt-v2v is unable to mount/write to the
638 Export Storage Domain.
639
640 --print-source
641 Print information about the source guest and stop. This option is
642 useful when you are setting up network and bridge maps. See
643 "Networks and bridges".
644
645 --qemu-boot
646 This is the same as -oo qemu-boot.
647
648 -q
649 --quiet
650 This disables progress bars and other unnecessary output.
651
652 --root ask
653 --root single
654 --root first
655 --root /dev/sdX
656 --root /dev/VG/LV
657 Choose the root filesystem to be converted.
658
659 In the case where the virtual machine is dual-boot or multi-boot,
660 or where the VM has other filesystems that look like operating
661 systems, this option can be used to select the root filesystem
662 (a.k.a. "C:" drive or /) of the operating system that is to be
663 converted. The Windows Recovery Console, certain attached DVD
664 drives, and bugs in libguestfs inspection heuristics, can make a
665 guest look like a multi-boot operating system.
666
667 The default in virt-v2v ≤ 0.7.1 was --root single, which causes
668 virt-v2v to die if a multi-boot operating system is found.
669
670 Since virt-v2v ≥ 0.7.2 the default is now --root ask: If the VM is
671 found to be multi-boot, then virt-v2v will stop and list the
672 possible root filesystems and ask the user which to use. This
673 requires that virt-v2v is run interactively.
674
675 --root first means to choose the first root device in the case of a
676 multi-boot operating system. Since this is a heuristic, it may
677 sometimes choose the wrong one.
678
679 You can also name a specific root device, eg. --root /dev/sda2
680 would mean to use the second partition on the first hard drive. If
681 the named root device does not exist or was not detected as a root
682 device, then virt-v2v will fail.
683
684 Note that there is a bug in grub which prevents it from
685 successfully booting a multiboot system if virtio is enabled. Grub
686 is only able to boot an operating system from the first virtio
687 disk. Specifically, /boot must be on the first virtio disk, and it
688 cannot chainload an OS which is not in the first virtio disk.
689
690 -v
691 --verbose
692 Enable verbose messages for debugging.
693
694 -V
695 --version
696 Display version number and exit.
697
698 --wrap
699 Wrap error, warning, and informative messages. This is the default
700 when the output is a tty. If the output of the program is
701 redirected to a file, wrapping is disabled unless you use this
702 option.
703
704 -x Enable tracing of libguestfs API calls.
705
707 Xen paravirtualized guests
708 Older versions of virt-v2v could turn a Xen paravirtualized (PV) guest
709 into a KVM guest by installing a new kernel. This version of virt-v2v
710 does not attempt to install any new kernels. Instead it will give you
711 an error if there are only Xen PV kernels available.
712
713 Therefore before conversion you should check that a regular kernel is
714 installed. For some older Linux distributions, this means installing a
715 kernel from the table below:
716
717 RHEL 3 (Does not apply, as there was no Xen PV kernel)
718
719 RHEL 4 i686 with > 10GB of RAM: install 'kernel-hugemem'
720 i686 SMP: install 'kernel-smp'
721 other i686: install 'kernel'
722 x86-64 SMP with > 8 CPUs: install 'kernel-largesmp'
723 x86-64 SMP: install 'kernel-smp'
724 other x86-64: install 'kernel'
725
726 RHEL 5 i686: install 'kernel-PAE'
727 x86-64: install 'kernel'
728
729 SLES 10 i586 with > 10GB of RAM: install 'kernel-bigsmp'
730 i586 SMP: install 'kernel-smp'
731 other i586: install 'kernel-default'
732 x86-64 SMP: install 'kernel-smp'
733 other x86-64: install 'kernel-default'
734
735 SLES 11+ i586: install 'kernel-pae'
736 x86-64: install 'kernel-default'
737
738 Windows (Does not apply, as there is no Xen PV Windows kernel)
739
740 Enabling virtio
741 "Virtio" is the name for a set of drivers which make disk (block
742 device), network and other guest operations work much faster on KVM.
743
744 Older versions of virt-v2v could install these drivers for certain
745 Linux guests. This version of virt-v2v does not attempt to install new
746 Linux kernels or drivers, but will warn you if they are not installed
747 already.
748
749 In order to enable virtio, and hence improve performance of the guest
750 after conversion, you should ensure that the minimum versions of
751 packages are installed before conversion, by consulting the table
752 below.
753
754 RHEL 3 No virtio drivers are available
755
756 RHEL 4 kernel >= 2.5.9-89.EL
757 lvm2 >= 2.02.42-5.el4
758 device-mapper >= 1.02.28-2.el4
759 selinux-policy-targeted >= 1.17.30-2.152.el4
760 policycoreutils >= 1.18.1-4.13
761
762 RHEL 5 kernel >= 2.6.18-128.el5
763 lvm2 >= 2.02.40-6.el5
764 selinux-policy-targeted >= 2.4.6-203.el5
765
766 RHEL 6+ All versions support virtio
767
768 Fedora All versions support virtio
769
770 SLES 11+ All versions support virtio
771
772 SLES 10 kernel >= 2.6.16.60-0.85.1
773
774 OpenSUSE 11+ All versions support virtio
775
776 OpenSUSE 10 kernel >= 2.6.25.5-1.1
777
778 Debian 6+ All versions support virtio
779
780 Ubuntu 10.04+ All versions support virtio
781
782 Windows Drivers are installed from the ISO or directory pointed
783 to by the "VIRTIO_WIN" environment variable if present.
784 If the "VIRTIO_WIN" environment variable is absent
785 (which is the recommended setting), then libosinfo is
786 consulted first, for driver files that are locally
787 available on the conversion host.
788
789 RHEL 4: SELinux relabel appears to hang forever
790 In RHEL ≤ 4.7 there was a bug which causes SELinux relabelling to
791 appear to hang forever at:
792
793 *** Warning -- SELinux relabel is required. ***
794 *** Disabling security enforcement. ***
795 *** Relabeling could take a very long time, ***
796 *** depending on file system size. ***
797
798 In reality it is waiting for you to press a key (but there is no visual
799 indication of this). You can either hit the "[Return]" key, at which
800 point the guest will finish relabelling and reboot, or you can install
801 policycoreutils ≥ 1.18.1-4.13 before starting the v2v conversion. See
802 also https://bugzilla.redhat.com/show_bug.cgi?id=244636
803
804 Debian and Ubuntu
805 "warning: could not determine a way to update the configuration of
806 Grub2"
807
808 Currently, virt-v2v has no way to set the default kernel in Debian and
809 Ubuntu guests using GRUB 2 as bootloader. This means that virt-v2v
810 will not change the default kernel used for booting, even in case it is
811 not the best kernel available on the guest. A recommended procedure
812 is, before using virt-v2v, to check that the boot kernel is the best
813 kernel available in the guest (for example by making sure the guest is
814 up-to-date).
815
816 "vsyscall attempted with vsyscall=none"
817
818 When run on a recent Debian host virt-v2v may fail to convert guests
819 which were created before 2013. In the debugging output you will see a
820 crash message similar to:
821
822 vsyscall attempted with vsyscall=none ip:...
823 segfault at ...
824
825 This is caused because Debian removed support for running old binaries
826 which used the legacy vsyscall page to call into the kernel.
827
828 You can work around this problem by running this command before running
829 virt-v2v:
830
831 export LIBGUESTFS_APPEND="vsyscall=emulate"
832
833 For more information, see https://bugzilla.redhat.com/1592061
834
835 Windows
836 Windows ≥ 8 Fast Startup is incompatible with virt-v2v
837
838 Guests which use the Windows ≥ 8 "Fast Startup" feature (or guests
839 which are hibernated) cannot be converted with virt-v2v. You will see
840 an error:
841
842 virt-v2v: error: unable to mount the disk image for writing. This has
843 probably happened because Windows Hibernation or Fast Restart is being
844 used in this guest. You have to disable this (in the guest) in order
845 to use virt-v2v.
846
847 As the message says, you need to boot the guest and disable the "Fast
848 Startup" feature (Control Panel → Power Options → Choose what the power
849 buttons do → Change settings that are currently unavailable → Turn on
850 fast startup), and shut down the guest, and then you will be able to
851 convert it.
852
853 For more information, see: "WINDOWS HIBERNATION AND WINDOWS 8 FAST
854 STARTUP" in guestfs(3).
855
856 Boot failure: 0x0000007B
857
858 This boot failure is caused by Windows being unable to find or load the
859 right disk driver (eg. viostor.sys). If you experience this error,
860 here are some things to check:
861
862 • First ensure that the guest boots on the source hypervisor before
863 conversion.
864
865 • Check you have the Windows virtio drivers available in
866 /usr/share/virtio-win, and that virt-v2v did not print any warning
867 about not being able to install virtio drivers.
868
869 On Red Hat Enterprise Linux 7, you will need to install the signed
870 drivers available in the "virtio-win" package. If you do not have
871 access to the signed drivers, then you will probably need to
872 disable driver signing in the boot menus.
873
874 • Check that you are presenting a virtio-blk interface (not virtio-
875 scsi and not ide) to the guest. On the qemu/KVM command line you
876 should see something similar to this:
877
878 ... -drive file=windows-sda,if=virtio ...
879
880 In libvirt XML, you should see:
881
882 <target dev='vda' bus='virtio'/>
883
884 • Check that Windows Group Policy does not prevent the driver from
885 being installed or used. Try deleting Windows Group Policy before
886 conversion.
887
888 • Check there is no anti-virus or other software which implements
889 Group Policy-like prohibitions on installing or using new drivers.
890
891 • Enable boot debugging and check the viostor.sys driver is being
892 loaded.
893
894 OpenStack and Windows reactivation
895
896 OpenStack does not offer stable device / PCI addresses to guests.
897 Every time it creates or starts a guest, it regenerates the libvirt XML
898 for that guest from scratch. The libvirt XML will have no <address>
899 fields. Libvirt will then assign addresses to devices, in a
900 predictable manner. Addresses may change if any of the following are
901 true:
902
903 • A new disk or network device has been added or removed from the
904 guest.
905
906 • The version of OpenStack or (possibly) libvirt has changed.
907
908 Because Windows does not like "hardware" changes of this kind, it may
909 trigger Windows reactivation.
910
911 This can also prevent booting with a 7B error [see previous section] if
912 the guest has group policy containing "Device Installation
913 Restrictions".
914
915 Support for SHA-2 certificates in Windows 7 and Windows Server 2008 R2
916
917 Later versions of the Windows virtio drivers are signed using SHA-2
918 certificates (instead of SHA-1). The original shipping Windows 7 and
919 Windows Server 2008 R2 did not understand SHA-2 certificates and so the
920 Windows virtio drivers will not install properly.
921
922 To fix this you must apply SHA-2 Code Signing Support from:
923 https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2015/3033929
924 before converting the guest.
925
926 For further information see:
927 https://bugzilla.redhat.com/show_bug.cgi?id=1624878
928
929 Networks and bridges
930 Guests are usually connected to one or more networks, and when
931 converted to the target hypervisor you usually want to reconnect those
932 networks at the destination. The options --network, --bridge and --mac
933 allow you to do that.
934
935 If you are unsure of what networks and bridges are in use on the source
936 hypervisor, then you can examine the source metadata (libvirt XML,
937 vCenter information, etc.). Or you can run virt-v2v with the
938 --print-source option which causes virt-v2v to print out the
939 information it has about the guest on the source and then exit.
940
941 In the --print-source output you will see a section showing the guest’s
942 Network Interface Cards (NICs):
943
944 $ virt-v2v [-i ...] --print-source name
945 [...]
946 NICs:
947 Network "default" mac: 52:54:00:d0:cf:0e
948
949 Bridges are special classes of network devices which are attached to a
950 named external network on the source hypervisor, for example:
951
952 $ virt-v2v [-i ...] --print-source name
953 [...]
954 NICs:
955 Bridge "br0"
956
957 To map a specific source bridge to a target network, for example "br0"
958 on the source to "ovirtmgmt" on the target, use:
959
960 virt-v2v [...] --bridge br0:ovirtmgmt
961
962 To map every bridge to a target network, use:
963
964 virt-v2v [...] --bridge ovirtmgmt
965
966 Fine-grained mapping of guest NICs
967
968 The --mac option gives you more control over the mapping, letting you
969 map single NICs to either networks or bridges on the target. For
970 example a source guest with two NICs could map them individually to two
971 networks called "mgmt" and "clientdata" like this:
972
973 $ virt-v2v [...] \
974 --mac 52:54:00:d0:cf:0e:network:mgmt \
975 --mac 52:54:00:d0:cf:0f:network:clientdata
976
977 Note that virt-v2v does not have the ability to change a guest’s MAC
978 address. The MAC address is part of the guest metadata and must remain
979 the same on source and target hypervisors. Most guests will use the
980 MAC address to set up persistent associations between NICs and internal
981 names (like "eth0"), with firewall settings, or even for other purposes
982 like software licensing.
983
984 Resource requirements
985 Network
986
987 The most important resource for virt-v2v appears to be network
988 bandwidth. Virt-v2v should be able to copy guest data at gigabit
989 ethernet speeds or greater.
990
991 Ensure that the network connections between servers (conversion server,
992 NFS server, vCenter, Xen) are as fast and as low latency as possible.
993
994 Disk space
995
996 Virt-v2v places potentially large temporary files in $VIRT_V2V_TMPDIR
997 (usually /var/tmp, see also "ENVIRONMENT VARIBLES" below). Using tmpfs
998 is a bad idea.
999
1000 For each guest disk, an overlay is stored temporarily. This stores the
1001 changes made during conversion, and is used as a cache. The overlays
1002 are not particularly large - tens or low hundreds of megabytes per disk
1003 is typical. In addition to the overlay(s), input and output methods
1004 may use disk space, as outlined in the table below.
1005
1006 -i ova
1007 This temporarily places a full copy of the uncompressed source
1008 disks in $VIRT_V2V_TMPDIR (or /var/tmp).
1009
1010 -o glance
1011 This temporarily places a full copy of the output disks in
1012 $VIRT_V2V_TMPDIR (or /var/tmp).
1013
1014 -o local
1015 -o qemu
1016 You must ensure there is sufficient space in the output directory
1017 for the converted guest.
1018
1019 See also "Minimum free space check in the host" below.
1020
1021 VMware vCenter resources
1022
1023 Copying from VMware vCenter is currently quite slow, but we believe
1024 this to be an issue with VMware. Ensuring the VMware ESXi hypervisor
1025 and vCenter are running on fast hardware with plenty of memory should
1026 alleviate this.
1027
1028 Compute power and RAM
1029
1030 Virt-v2v is not especially compute or RAM intensive. If you are
1031 running many parallel conversions, then you may consider allocating one
1032 CPU core and 2 GB of RAM per running instance.
1033
1034 Virt-v2v can be run in a virtual machine.
1035
1036 Trimming
1037
1038 Virt-v2v attempts to optimize the speed of conversion by ignoring guest
1039 filesystem data which is not used. This would include unused
1040 filesystem blocks, blocks containing zeroes, and deleted files.
1041
1042 To do this, virt-v2v issues a non-destructive fstrim(8) operation. As
1043 this happens to an overlay placed over the guest data, it does not
1044 affect the source in any way.
1045
1046 If this fstrim operation fails, you will see a warning, but virt-v2v
1047 will continue anyway. It may run more slowly (in some cases much more
1048 slowly), because it is copying the unused parts of the disk.
1049
1050 Unfortunately support for fstrim is not universal, and it also depends
1051 on specific details of the filesystem, partition alignment, and backing
1052 storage. As an example, NTFS filesystems cannot be fstrimmed if they
1053 occupy a partition which is not aligned to the underlying storage.
1054 That was the default on Windows before Vista. As another example, VFAT
1055 filesystems (used by UEFI guests) cannot be trimmed at all.
1056
1057 fstrim support in the Linux kernel is improving gradually, so over time
1058 some of these restrictions will be lifted and virt-v2v will work
1059 faster.
1060
1061 Post-conversion tasks
1062 Guest network configuration
1063
1064 Virt-v2v cannot currently reconfigure a guest’s network configuration.
1065 If the converted guest is not connected to the same subnet as the
1066 source, its network configuration may have to be updated. See also
1067 virt-customize(1).
1068
1069 Converting a Windows guest
1070
1071 When converting a Windows guests, the conversion process is split into
1072 two stages:
1073
1074 1. Offline conversion.
1075
1076 2. First boot.
1077
1078 The guest will be bootable after the offline conversion stage, but will
1079 not yet have all necessary drivers installed to work correctly. These
1080 will be installed automatically the first time the guest boots.
1081
1082 N.B. Take care not to interrupt the automatic driver installation
1083 process when logging in to the guest for the first time, as this may
1084 prevent the guest from subsequently booting correctly.
1085
1086 Free space for conversion
1087 Free space in the guest
1088
1089 Virt-v2v checks there is sufficient free space in the guest filesystem
1090 to perform the conversion. Currently it checks:
1091
1092 Linux root filesystem
1093 Minimum free space: 100 MB
1094
1095 Linux /boot
1096 Minimum free space: 50 MB
1097
1098 This is because we need to build a new initramfs for some
1099 Enterprise Linux conversions.
1100
1101 Windows "C:" drive
1102 Minimum free space: 100 MB
1103
1104 We may have to copy in many virtio drivers and guest agents.
1105
1106 Any other mountable filesystem
1107 Minimum free space: 10 MB
1108
1109 In addition to the actual free space, each filesystem is required to
1110 have at least 100 available inodes.
1111
1112 Minimum free space check in the host
1113
1114 You must have sufficient free space in the host directory used to store
1115 large temporary overlays. To find out which directory this is, use:
1116
1117 $ df -h "`guestfish get-cachedir`"
1118 Filesystem Size Used Avail Use% Mounted on
1119 /dev/mapper/root 50G 40G 6.8G 86% /
1120
1121 and look under the "Avail" column. Virt-v2v will refuse to do the
1122 conversion at all unless at least 1GB is available there. You can
1123 change the directory that virt-v2v uses by setting $VIRT_V2V_TMPDIR.
1124
1125 See also "Resource requirements" above and "ENVIRONMENT VARIABLES"
1126 below.
1127
1128 Running virt-v2v as root or non-root
1129 Nothing in virt-v2v inherently needs root access, and it will run just
1130 fine as a non-root user. However, certain external features may
1131 require either root or a special user:
1132
1133 Mounting the Export Storage Domain
1134 When using -o rhv -os server:/esd virt-v2v has to have sufficient
1135 privileges to NFS mount the Export Storage Domain from "server".
1136
1137 You can avoid needing root here by mounting it yourself before
1138 running virt-v2v, and passing -os /mountpoint instead, but first of
1139 all read the next section ...
1140
1141 Writing to the Export Storage Domain as 36:36
1142 RHV-M cannot read files and directories from the Export Storage
1143 Domain unless they have UID:GID 36:36. You will see VM import
1144 problems if the UID:GID is not correct.
1145
1146 When you run virt-v2v -o rhv as root, virt-v2v attempts to create
1147 files and directories with the correct ownership. If you run
1148 virt-v2v as non-root, it will probably still work, but you will
1149 need to manually change ownership after virt-v2v has finished.
1150
1151 Writing to libvirt
1152 When using -o libvirt, you may need to run virt-v2v as root so that
1153 it can write to the libvirt system instance (ie. "qemu:///system")
1154 and to the default location for disk images (usually
1155 /var/lib/libvirt/images).
1156
1157 You can avoid this by setting up libvirt connection authentication,
1158 see http://libvirt.org/auth.html. Alternatively, use -oc
1159 qemu:///session, which will write to your per-user libvirt
1160 instance.
1161
1162 Writing to Openstack
1163 Because of how Cinder volumes are presented as /dev block devices,
1164 using -o openstack normally requires that virt-v2v is run as root.
1165
1166 Writing to Glance
1167 This does not need root (in fact it probably won’t work), but may
1168 require either a special user and/or for you to source a script
1169 that sets authentication environment variables. Consult the Glance
1170 documentation.
1171
1172 Writing to block devices
1173 This normally requires root. See the next section.
1174
1175 Writing to block devices
1176 Some output modes write to local files. In general these modes also
1177 let you write to block devices, but before you run virt-v2v you may
1178 have to arrange for symbolic links to the desired block devices in the
1179 output directory.
1180
1181 For example if using -o local -os /dir then virt-v2v would normally
1182 create files called:
1183
1184 /dir/name-sda # first disk
1185 /dir/name-sdb # second disk
1186 ...
1187 /dir/name.xml # metadata
1188
1189 If you wish the disks to be written to block devices then you would
1190 need to create /dir/name-sda (etc) as symlinks to the block devices:
1191
1192 # lvcreate -L 10G -n VolumeForDiskA VG
1193 # lvcreate -L 6G -n VolumeForDiskB VG
1194 # ln -sf /dev/VG/VolumeForDiskA /dir/name-sda
1195 # ln -sf /dev/VG/VolumeForDiskB /dir/name-sdb
1196
1197 Note that you must precreate the correct number of block devices of the
1198 correct size. Typically -of raw has to be used too, but other formats
1199 such as qcow2 can be useful occasionally so virt-v2v does not force you
1200 to use raw on block devices.
1201
1202 Minimal XML for -i libvirtxml option
1203 When using the -i libvirtxml option, you have to supply some libvirt
1204 XML. Writing this from scratch is hard, so the template below is
1205 helpful.
1206
1207 Note this should only be used for testing and/or where you know what
1208 you're doing! If you have libvirt metadata for the guest, always use
1209 that instead.
1210
1211 <domain type='kvm'>
1212 <name> NAME </name>
1213 <memory>1048576</memory>
1214 <vcpu>2</vcpu>
1215 <os>
1216 <type>hvm</type>
1217 <boot dev='hd'/>
1218 </os>
1219 <features>
1220 <acpi/>
1221 <apic/>
1222 <pae/>
1223 </features>
1224 <devices>
1225 <disk type='file' device='disk'>
1226 <driver name='qemu' type='raw'/>
1227 <source file='/path/to/disk/image'/>
1228 <target dev='hda' bus='ide'/>
1229 </disk>
1230 <interface type='network'>
1231 <mac address='52:54:00:01:02:03'/>
1232 <source network='default'/>
1233 <model type='rtl8139'/>
1234 </interface>
1235 </devices>
1236 </domain>
1237
1238 Machine readable output
1239 The --machine-readable option can be used to make the output more
1240 machine friendly, which is useful when calling virt-v2v from other
1241 programs, GUIs etc.
1242
1243 There are two ways to use this option.
1244
1245 Firstly use the option on its own to query the capabilities of the
1246 virt-v2v binary. Typical output looks like this:
1247
1248 $ virt-v2v --machine-readable
1249 virt-v2v
1250 libguestfs-rewrite
1251 colours-option
1252 vdsm-compat-option
1253 input:disk
1254 [...]
1255 output:local
1256 [...]
1257 convert:linux
1258 convert:windows
1259
1260 A list of features is printed, one per line, and the program exits with
1261 status 0.
1262
1263 The "input:" and "output:" features refer to -i and -o (input and
1264 output mode) options supported by this binary. The "convert:" features
1265 refer to guest types that this binary knows how to convert.
1266
1267 Secondly use the option in conjunction with other options to make the
1268 regular program output more machine friendly.
1269
1270 At the moment this means:
1271
1272 1. Progress bar messages can be parsed from stdout by looking for this
1273 regular expression:
1274
1275 ^[0-9]+/[0-9]+$
1276
1277 2. The calling program should treat messages sent to stdout (except
1278 for progress bar messages) as status messages. They can be logged
1279 and/or displayed to the user.
1280
1281 3. The calling program should treat messages sent to stderr as error
1282 messages. In addition, virt-v2v exits with a non-zero status code
1283 if there was a fatal error.
1284
1285 Virt-v2v ≤ 0.9.1 did not support the --machine-readable option at all.
1286 The option was added when virt-v2v was rewritten in 2014.
1287
1288 It is possible to specify a format string for controlling the output;
1289 see "ADVANCED MACHINE READABLE OUTPUT" in guestfs(3).
1290
1292 /usr/share/virtio-win
1293 (Optional)
1294
1295 If this directory is present, then virtio drivers for Windows
1296 guests will be found from this directory and installed in the guest
1297 during conversion.
1298
1300 "VIRT_V2V_TMPDIR"
1301 "LIBGUESTFS_CACHEDIR"
1302 Location of the temporary directory used for the potentially large
1303 temporary overlay file. If neither environment variable is set
1304 then /var/tmp is used.
1305
1306 To reliably ensure large temporary files are cleaned up (for
1307 example in case virt-v2v crashes) you should create a randomly
1308 named directory under /var/tmp, set "VIRT_V2V_TMPDIR" to point to
1309 this directory, then when virt-v2v exits remove the directory.
1310
1311 See the "Disk space" section above.
1312
1313 "VIRT_TOOLS_DATA_DIR"
1314 This can point to the directory containing data files used for
1315 Windows conversion.
1316
1317 Normally you do not need to set this. If not set, a compiled-in
1318 default will be used (something like /usr/share/virt-tools).
1319
1320 This directory may contain the following files:
1321
1322 rhsrvany.exe
1323 (Required when doing conversions of Windows guests)
1324
1325 This is the RHSrvAny Windows binary, used to install a
1326 "firstboot" script in the guest during conversion of Windows
1327 guests.
1328
1329 See also: "https://github.com/rwmjones/rhsrvany"
1330
1331 pnp_wait.exe
1332 (Recommended when doing conversions of Windows guests)
1333
1334 This tool waits for newly installed Windows devices to become
1335 available before trying to configure them, for example to set
1336 network configuration. It is part of the RHSrvAny project.
1337
1338 pvvxsvc.exe
1339 This is a Windows binary shipped with SUSE VMDP, used to
1340 install a "firstboot" script in Windows guests. It is an
1341 alternative to RHSrvAny.
1342
1343 "VIRTIO_WIN"
1344 This is an override for where virtio drivers for Windows are
1345 searched for. It can be a directory or point to virtio-win.iso (CD
1346 ROM image containing drivers).
1347
1348 If unset, then we look for drivers via whichever of these methods
1349 succeeds first:
1350
1351 "osinfo-db"
1352 Load osinfo data from the default paths, and attempt to find
1353 drivers via libosinfo lookup. This is the preferred method.
1354
1355 /usr/share/virtio-win/virtio-win.iso
1356 The ISO containing virtio drivers for Windows.
1357
1358 /usr/share/virtio-win
1359 The exploded tree of virtio drivers for Windows. This is
1360 usually incomplete, hence the least preferred method.
1361
1362 See "Enabling virtio".
1363
1364 For other environment variables, see "ENVIRONMENT VARIABLES" in
1365 guestfs(3).
1366
1368 engine-image-uploader(8)
1369 Variously called "engine-image-uploader", "ovirt-image-uploader" or
1370 "rhevm-image-uploader", this tool allows you to copy a guest from
1371 one oVirt or RHV Export Storage Domain to another. It only permits
1372 importing a guest that was previously exported from another
1373 oVirt/RHV instance.
1374
1375 import-to-ovirt.pl
1376 This script can be used to import guests that already run on KVM to
1377 oVirt or RHV. For more information, see this blog posting by the
1378 author of virt-v2v:
1379
1380 https://rwmj.wordpress.com/2015/09/18/importing-kvm-guests-to-ovirt-or-rhev/#content
1381
1383 virt-p2v(1), virt-v2v-in-place(1), virt-customize(1), virt-df(1),
1384 virt-filesystems(1), virt-sparsify(1), virt-sysprep(1), guestfs(3),
1385 guestfish(1), qemu-img(1), engine-image-uploader(8),
1386 import-to-ovirt.pl, nbdkit(1), nbdkit-vddk-plugin(1),
1387 http://libguestfs.org/.
1388
1390 Matthew Booth
1391
1392 Cédric Bosdonnat
1393
1394 Laszlo Ersek
1395
1396 Tomáš Golembiovský
1397
1398 Shahar Havivi
1399
1400 Richard W.M. Jones
1401
1402 Roman Kagan
1403
1404 Mike Latimer
1405
1406 Nir Soffer
1407
1408 Pino Toscano
1409
1410 Xiaodai Wang
1411
1412 Ming Xie
1413
1414 Tingting Zheng
1415
1417 Copyright (C) 2009-2022 Red Hat Inc.
1418
1420 This program is free software; you can redistribute it and/or modify it
1421 under the terms of the GNU General Public License as published by the
1422 Free Software Foundation; either version 2 of the License, or (at your
1423 option) any later version.
1424
1425 This program is distributed in the hope that it will be useful, but
1426 WITHOUT ANY WARRANTY; without even the implied warranty of
1427 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1428 General Public License for more details.
1429
1430 You should have received a copy of the GNU General Public License along
1431 with this program; if not, write to the Free Software Foundation, Inc.,
1432 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1433
1435 To get a list of bugs against libguestfs, use this link:
1436 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
1437
1438 To report a new bug against libguestfs, use this link:
1439 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
1440
1441 When reporting a bug, please supply:
1442
1443 • The version of libguestfs.
1444
1445 • Where you got libguestfs (eg. which Linux distro, compiled from
1446 source, etc)
1447
1448 • Describe the bug accurately and give a way to reproduce it.
1449
1450 • Run libguestfs-test-tool(1) and paste the complete, unedited output
1451 into the bug report.
1452
1453
1454
1455virt-v2v-2.0.7 2022-07-06 virt-v2v(1)