1virt-v2v-in-place(1) Virtualization Support virt-v2v-in-place(1)
2
3
4
6 virt-v2v-in-place - Convert a guest to use KVM in-place
7
9 virt-v2v-in-place -i disk [other -i* options] filename
10
11 virt-v2v-in-place -i libvirt|libvirtxml [other -i* options] guest
12
14 Virt-v2v-in-place converts a single guest from a foreign hypervisor to
15 run on KVM. It does this conversion in place, modifying the original
16 disk.
17
18 This manual page only documents the differences between this tool and
19 virt-v2v. You should read virt-v2v(1) first.
20
21 Selecting the input disk
22 You normally run virt-v2v with one or more -i* options controlling the
23 input mode. Virt-v2v-in-place can only convert guests stored in local
24 files.
25
26 This command will do an in-place conversion of filename.img:
27
28 virt-v2v-in-place -i disk filename.img
29
30 If the guest has been copied to local libvirt then:
31
32 virt-v2v-in-place -i libvirt guest
33
36 --help
37 Display help.
38
39 -b ...
40 --bridge ...
41 See --network below.
42
43 --block-driver virtio-blk
44 --block-driver virtio-scsi
45 When choosing a block driver for Windows guests, prefer
46 "virtio-blk" or "virtio-scsi". The default is "virtio-blk".
47
48 Note this has no effect for Linux guests at the moment. That may
49 be added in future.
50
51 --colors
52 --colours
53 Use ANSI colour sequences to colourize messages. This is the
54 default when the output is a tty. If the output of the program is
55 redirected to a file, ANSI colour sequences are disabled unless you
56 use this option.
57
58 --echo-keys
59 When prompting for keys and passphrases, virt-v2v normally turns
60 echoing off so you cannot see what you are typing. If you are not
61 worried about Tempest attacks and there is no one else in the room
62 you can specify this flag to see what you are typing.
63
64 Note this options only applies to keys and passphrases for
65 encrypted devices and partitions, not for passwords used to connect
66 to remote servers.
67
68 -i disk
69 Set the input method to disk.
70
71 In this mode you can read a virtual machine disk image with no
72 metadata. virt-v2v tries to guess the best default metadata. This
73 is usually adequate but you can get finer control (eg. of memory
74 and vCPUs) by using -i libvirtxml instead. Only guests that use a
75 single disk can be imported this way.
76
77 -i libvirt
78 Set the input method to libvirt. This is the default.
79
80 In this mode you have to specify a libvirt guest name or UUID on
81 the command line. You may also specify a libvirt connection URI
82 (see -ic).
83
84 -i libvirtxml
85 Set the input method to libvirtxml.
86
87 In this mode you have to pass a libvirt XML file on the command
88 line. This file is read in order to get metadata about the source
89 guest (such as its name, amount of memory), and also to locate the
90 input disks. See "Minimal XML for -i libvirtxml option" below.
91
92 -i local
93 This is the same as -i disk.
94
95 -ic libvirtURI
96 Specify a libvirt connection URI to use when reading the guest.
97 This is only used when -i libvirt.
98
99 Only local libvirt connections to locally stored disks can be used.
100
101 -if format
102 For -i disk only, this specifies the format of the input disk
103 image. For other input methods you should specify the input format
104 in the metadata.
105
106 -io OPTION=VALUE
107 Set input option(s) related to the current input mode or transport.
108 To display short help on what options are available you can use:
109
110 virt-v2v-in-place -it disk -io "?"
111
112 -ip filename
113 Supply a file containing a password to be used when connecting to
114 the source. If this is omitted then the input hypervisor may ask
115 for the password interactively. Note the file should contain the
116 whole password, without any trailing newline, and for security the
117 file should have mode 0600 so that others cannot read it.
118
119 --key SELECTOR
120 Specify a key for LUKS, to automatically open a LUKS device when
121 using the inspection. "ID" can be either the libguestfs device
122 name, or the UUID of the LUKS device.
123
124 --key "ID":key:KEY_STRING
125 Use the specified "KEY_STRING" as passphrase.
126
127 --key "ID":file:FILENAME
128 Read the passphrase from FILENAME.
129
130 --key "ID":clevis
131 Attempt passphrase-less unlocking for "ID" with Clevis, over
132 the network. Please refer to "ENCRYPTED DISKS" in guestfs(3)
133 for more information on network-bound disk encryption (NBDE).
134
135 Note that if any such option is present on the command line,
136 QEMU user networking will be automatically enabled for the
137 libguestfs appliance.
138
139 --keys-from-stdin
140 Read key or passphrase parameters from stdin. The default is to
141 try to read passphrases from the user by opening /dev/tty.
142
143 If there are multiple encrypted devices then you may need to supply
144 multiple keys on stdin, one per line.
145
146 Note --keys-from-stdin only applies to keys and passphrases for
147 encrypted devices and partitions, not for passwords used to connect
148 to remote servers.
149
150 --mac aa:bb:cc:dd:ee:ff:network:out
151 --mac aa:bb:cc:dd:ee:ff:bridge:out
152 Map source NIC MAC address to a network or bridge.
153
154 See "Networks and bridges" in virt-v2v(1).
155
156 --mac aa:bb:cc:dd:ee:ff:ip:ipaddr[,gw[,len[,ns,ns,...]]]
157 Force a particular interface (controlled by its MAC address) to
158 have a static IP address after boot.
159
160 The fields in the parameter are: "ipaddr" is the IP address. "gw"
161 is the optional gateway IP address. "len" is the subnet mask
162 length (an integer). The final parameters are zero or more
163 nameserver IP addresses.
164
165 This option can be supplied zero or more times.
166
167 You only need to use this option for certain broken guests such as
168 Windows which are unable to preserve MAC to static IP address
169 mappings automatically. You don't need to use it if Windows is
170 using DHCP. It is currently ignored for Linux guests since they do
171 not have this problem.
172
173 --machine-readable
174 --machine-readable=format
175 This option is used to make the output more machine friendly when
176 being parsed by other programs. See "Machine readable output" in
177 virt-v2v(1).
178
179 -n in:out
180 -n out
181 --network in:out
182 --network out
183 -b in:out
184 -b out
185 --bridge in:out
186 --bridge out
187 Map network (or bridge) called "in" to network (or bridge) called
188 "out". If no "in:" prefix is given, all other networks (or
189 bridges) are mapped to "out".
190
191 See "Networks and bridges" in virt-v2v(1).
192
193 --print-source
194 Print information about the source guest and stop. This option is
195 useful when you are setting up network and bridge maps. See
196 "Networks and bridges" in virt-v2v(1).
197
198 -q
199 --quiet
200 This disables progress bars and other unnecessary output.
201
202 --root ask
203 --root single
204 --root first
205 --root /dev/sdX
206 --root /dev/VG/LV
207 Choose the root filesystem to be converted.
208
209 In the case where the virtual machine is dual-boot or multi-boot,
210 or where the VM has other filesystems that look like operating
211 systems, this option can be used to select the root filesystem
212 (a.k.a. "C:" drive or /) of the operating system that is to be
213 converted. The Windows Recovery Console, certain attached DVD
214 drives, and bugs in libguestfs inspection heuristics, can make a
215 guest look like a multi-boot operating system.
216
217 The default in virt-v2v ≤ 0.7.1 was --root single, which causes
218 virt-v2v to die if a multi-boot operating system is found.
219
220 Since virt-v2v ≥ 0.7.2 the default is now --root ask: If the VM is
221 found to be multi-boot, then virt-v2v will stop and list the
222 possible root filesystems and ask the user which to use. This
223 requires that virt-v2v is run interactively.
224
225 --root first means to choose the first root device in the case of a
226 multi-boot operating system. Since this is a heuristic, it may
227 sometimes choose the wrong one.
228
229 You can also name a specific root device, eg. --root /dev/sda2
230 would mean to use the second partition on the first hard drive. If
231 the named root device does not exist or was not detected as a root
232 device, then virt-v2v will fail.
233
234 Note that there is a bug in grub which prevents it from
235 successfully booting a multiboot system if virtio is enabled. Grub
236 is only able to boot an operating system from the first virtio
237 disk. Specifically, /boot must be on the first virtio disk, and it
238 cannot chainload an OS which is not in the first virtio disk.
239
240 -v
241 --verbose
242 Enable verbose messages for debugging.
243
244 -V
245 --version
246 Display version number and exit.
247
248 --wrap
249 Wrap error, warning, and informative messages. This is the default
250 when the output is a tty. If the output of the program is
251 redirected to a file, wrapping is disabled unless you use this
252 option.
253
254 -x Enable tracing of libguestfs API calls.
255
256 Minimal XML for -i libvirtxml option
257 When using the -i libvirtxml option, you have to supply some libvirt
258 XML. Writing this from scratch is hard, so the template below is
259 helpful.
260
261 Note this should only be used for testing and/or where you know what
262 you're doing! If you have libvirt metadata for the guest, always use
263 that instead.
264
265 <domain type='kvm'>
266 <name> NAME </name>
267 <memory>1048576</memory>
268 <vcpu>2</vcpu>
269 <os>
270 <type>hvm</type>
271 <boot dev='hd'/>
272 </os>
273 <features>
274 <acpi/>
275 <apic/>
276 <pae/>
277 </features>
278 <devices>
279 <disk type='file' device='disk'>
280 <driver name='qemu' type='raw'/>
281 <source file='/path/to/disk/image'/>
282 <target dev='hda' bus='ide'/>
283 </disk>
284 <interface type='network'>
285 <mac address='52:54:00:01:02:03'/>
286 <source network='default'/>
287 <model type='rtl8139'/>
288 </interface>
289 </devices>
290 </domain>
291
293 Files used are the same as for virt-v2v. See "FILES" in virt-v2v(1).
294
296 Environment variables used are the same as for virt-v2v. See
297 "ENVIRONMENT VARIABLES" in virt-v2v(1).
298
300 virt-v2v(1), virt-p2v(1), guestfs(3), guestfish(1), qemu-img(1),
301 nbdkit(1), http://libguestfs.org/.
302
304 Matthew Booth
305
306 Cédric Bosdonnat
307
308 Laszlo Ersek
309
310 Tomáš Golembiovský
311
312 Shahar Havivi
313
314 Richard W.M. Jones
315
316 Roman Kagan
317
318 Mike Latimer
319
320 Nir Soffer
321
322 Pino Toscano
323
324 Xiaodai Wang
325
326 Ming Xie
327
328 Tingting Zheng
329
331 Copyright (C) 2009-2022 Red Hat Inc.
332
334 This program is free software; you can redistribute it and/or modify it
335 under the terms of the GNU General Public License as published by the
336 Free Software Foundation; either version 2 of the License, or (at your
337 option) any later version.
338
339 This program is distributed in the hope that it will be useful, but
340 WITHOUT ANY WARRANTY; without even the implied warranty of
341 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
342 General Public License for more details.
343
344 You should have received a copy of the GNU General Public License along
345 with this program; if not, write to the Free Software Foundation, Inc.,
346 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
347
349 To get a list of bugs against libguestfs, use this link:
350 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
351
352 To report a new bug against libguestfs, use this link:
353 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
354
355 When reporting a bug, please supply:
356
357 • The version of libguestfs.
358
359 • Where you got libguestfs (eg. which Linux distro, compiled from
360 source, etc)
361
362 • Describe the bug accurately and give a way to reproduce it.
363
364 • Run libguestfs-test-tool(1) and paste the complete, unedited output
365 into the bug report.
366
367
368
369virt-v2v-2.3.6 2023-11-02 virt-v2v-in-place(1)