
=head1 НАЗВА

virt-v2v - перетворення гостьової системи для використання KVM

=head1 КОРОТКИЙ ОПИС

 virt-v2v [-i режим] [інші параметри -i*]
          [-o режим] [інші параметри -o*]
          [параметри virt-customize]
          [гостьова_система|назва_файла]

=head1 ОПИС

Virt-v2v converts a single guest from a foreign hypervisor to run on KVM. It can read Linux and Windows guests running on VMware, ifelse(ENABLE_XEN, yes, Xen,) Hyper-V and some other hypervisors, and convert them to KVM managed by libvirt, OpenStack, ifelse(ENABLE_OVIRT, yes, oVirt,) or several other targets.  It can modify the guest to make it bootable on KVM and install virtio drivers so it will run quickly.

Існує також супутня оболонка із назвою L<virt-p2v(1)>, яка постачається у форматі ISO, образу компакт-диска або PXE, який можна завантажити на фізичних машинах із метою віртуалізації цих машин (фізична машина у віртуальну, або physical to virtual чи p2v).

To estimate the disk space needed before conversion, see L<virt-v2v-inspector(1)>.

For in-place conversion, there is a separate tool called L<virt-v2v-in-place(1)>.

=head2 Введення і виведення

Зазвичай, virt-v2v запускається із декількома параметрами I<-i*>, які керують режимом обробки вхідних даних, і декількома параметрами I<-o*>, які керують режимом виведення даних. У цьому сенсі «вхід» — це сторонній гіпервізор, зокрема VMware, а «вихід» — заснована на KVM система керування призначення, зокрема oVirt або OpenStack.

Вхід і вихід virt-v2v є окремими і непов'язаними між собою. Virt-v2v може читати з будь-якого входу і записувати до будь-якого виходу. Тому у цьому підручнику документацію щодо входів і виходів virt-v2v наведено окремо.

Зазвичай, virt-v2v копіює дані з входу до виходу, тобто працює у режимі копіювання. У цьому випадку початкова гостьова система завжди лишається незмінною. Перетворення на місці можна виконати за допомогою L<virt-v2v-in-place(1)>.

=head2 Налаштування

Virt-v2v can also customize the guest during conversion, using the same options as L<virt-customize(1)>.  For example, injecting files using I<--upload>, or using I<--firstboot-script> to add additional script(s) to run at the first boot after conversion.  Read the virt-customize manual for more information on this topic.

=head2 Інші питання щодо virt-v2v

L<virt-v2v-support(1)> — підтримувані гіпервізори, системи керування віртуалізацією, гостьові системи.

L<virt-v2v-input-vmware(1)> — вхідні дані з VMware.

ifelse(ENABLE_XEN, yes, ` L<virt-v2v-input-xen(1)> — Input from Xen.  ')

L<virt-v2v-output-local(1)> — виведення до локальних файлів або локальної libvirt.

ifelse(ENABLE_OVIRT, yes,` L<virt-v2v-output-ovirt(1)> — Output to oVirt ')

L<virt-v2v-output-openstack(1)> — виведення до OpenStack.

L<virt-v2v-release-notes-1.42(1)> — нотатки щодо випуску 1.42.

L<virt-v2v-release-notes-2.0(1)> — нотатки щодо випуску 2.0.

L<virt-v2v-release-notes-2.2(1)> — нотатки щодо випуску 2.2.

L<virt-v2v-release-notes-2.4(1)> — нотатки щодо випуску 2.4.

L<virt-v2v-release-notes-2.6(1)> — нотатки щодо випуску 2.6.

L<virt-v2v-release-notes-2.8(1)> — Release notes for 2.8 release.

L<virt-v2v-release-notes-2.10(1)> — Release notes for 2.10 release.

L<virt-v2v-release-notes-2.12(1)> — Release notes for 2.12 release.

=head1 ПРИКЛАДИ

=head2 Перетворення з сервера vCenter VMware до локальної libvirt

Нехай маємо сервер vCenter VMware із назвою C<vcenter.example.com>, датацентр із назвою C<Datacenter> і гіпервізор ESXi із назвою C<esxi>. Нам потрібно перетворити гостьову систему із назвою C<vmware_guest> так, щоб її можна було запустити локально під керуванням libvirt.

 virt-v2v -ic vpx://vcenter.example.com/Datacenter/esxi vmware_guest

У цьому випадку, найімовірніше, вам доведеться запускати virt-v2v від імені користувача C<root>, оскільки програмі буде потрібен обмін даними із фоновою службою libvirt системи і копіювання дисків гостьової системи до F</var/lib/libvirt/images>.

Докладніші відомості: L<virt-v2v-input-vmware(1)>.

ifelse(ENABLE_OVIRT, yes, `

=head2 Convert from VMware to oVirt

This is the same as the previous example, except you want to send the guest to an oVirt Data Domain using the oVirt REST API.  Guest network interface(s) are connected to the target network called C<ovirtmgmt>.

 virt-v2v -ic vpx://vcenter.example.com/Datacenter/esxi vmware_guest \
   -o ovirt-upload -oc https://ovirt-engine.example.com/ovirt-engine/api \
   -os ovirt-data -op /tmp/ovirt-admin-password -of raw \
   -oo ovirt-cafile=/tmp/ca.pem --bridge ovirtmgmt

У цьому випадку основна система, де запущено virt-v2v, працює як B<сервер перетворення>.

For more information see L<virt-v2v-output-ovirt(1)>.  ')

=head2 Перетворення з гіпервізору ESXi за допомогою SSH до локальної libvirt

Нехай маємо гіпервізор ESXi із назвою C<esxi.example.com> і уможливленим доступом за допомогою SSH. Потрібно перетворити його зі сховища VMFS на сервері до локального файла.

 virt-v2v \
   -i vmx -it ssh \
   "ssh://root@esxi.example.com/vmfs/volumes/datastore1/guest/guest.vmx" \
   -o local -os /var/tmp

The guest must not be running.

Virt-v2v does I<not> need to be run as root.

Докладніший опис перетворення файлів VMX наведено на сторінці L<virt-v2v-input-vmware(1)>.

=head2 Перетворення образу диска до формату OpenStack

Нехай маємо образ диска з іншого гіпервізору, який слід перетворити для запуску на OpenStack (підтримку передбачено лише для OpenStack на основі KVM). Тоді можна запустити virt-v2v у віртуальній машині OpenStack (яку ми називатимемо нижче C<v2v-vm>) ось так:

 virt-v2v -i disk disk.img -o openstack -oo server-id=v2v-vm

Див. L<virt-v2v-output-openstack(1)>.

=head2 Перетворення образу диска на образ диска

Нехай маємо образ диска з іншого гіпервізору, який слід перетворити для запуску на KVM. Тоді можна піти одним зі двох шляхів. Найпростішим шляхом буде такий:

 virt-v2v -i disk диск.img -o local -os /var/tmp

де virt-v2v має визначити усі параметри вхідного образу F<disk.img> і (у цьому випадку) записати перетворений результат до F</var/tmp>.

Складнішим способом є створення L<XML libvirt|http://libvirt.org/formatdomain.html> із описом вхідної гостьової системи (якщо можна якось отримати XML libvirt з початкового гіпервізора, все стає набагато простішим). Далі, можна зробити так:

 virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp

Оскільки F<guest-domain.xml> містить шляхи до образів гостьової системи, вам не потрібно вказувати назву образу диска у рядку команди.

Щоб перетворити локальний образ диска і негайно завантажити його у локальному qemu, віддайте таку команду:

 virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot

=head1 ПАРАМЕТРИ

=over 4

=item B<--help>

Показати довідкове повідомлення.

=item B<--bandwidth> біти_за_секунду

=item B<--bandwidth-file> файл

Для деяких методів введення можна обмежити ширину каналу мережі, які вони використовуватимуть статично або динамічно. У першому варіанті встановлюється статичне обмеження ширини каналу у бітах за секунду. Можна використовувати формати, подібні до C<10M> (означає 10 мегабітів за секунду).

У другому варіанті ширина каналу обмежується динамічно на основі вмісту файла (також у бітах за секунду у тих самих форматах, підтримку яких передбачено у першому варіанті). Ви можете використовувати обидва параметри разом, тобто: спочатку обмежити швидкістю статично, а потім ви можете створити файл вже під час роботи virt-v2v для коригування швидкості динамічно.

Підтримку передбачено лише для таких варіантів:

=over 4

ifelse(ENABLE_XEN, yes, `

=item *

L<input from Xen|virt-v2v-input-xen(1)> ')

=item *

L<вхідні дані з VMX VMware|virt-v2v-input-vmware(1)/ВХІДНІ ДАНІ З VMX VMWARE>, якщо використано спосіб передавання даних SSH

=item *

L<input from VDDK|virt-v2v-input-vmware(1)/INPUT FROM VDDK>

=item *

I<-i libvirtxml> при використанні дисків HTTP або HTTPS

=item *

L<вхідні дані з сервера vCenter VMware|virt-v2v-input-vmware(1)/ВХІДНІ ДАНІ З СЕРВЕРА VCENTER VMWARE>

=back

Параметри без додаткових повідомлень ігноруються для інших способів введення.

=item B<-b> ...

=item B<--bridge> ...

Див. I<--network> нижче.

ifelse(ENABLE_BLOCK_DRIVER, yes, `

=item B<--block-driver> B<virtio-blk>

=item B<--block-driver> B<virtio-scsi>

Вибираючи блоковий драйвер для гостьових систем Windows, віддавайте перевагу C<virtio-blk> або C<virtio-scsi>. Типовим є C<virtio-blk>.

Note this has no effect for Linux guests at the moment.  That may be added in future.  ')

=item B<--collect> GUEST[B<:>LOCAL]

=item B<--collect-output> PATH/TO/OUTPUTB<.tar.xz>

See L</Collecting files for later diagnostics>

=item B<--colors>

=item B<--colours>

Використовувати послідовності символів ANSI для розфарбовування повідомлень. Ці послідовності типово використовуються, якщо дані виводяться на термінал tty.  Якщо дані, виведені програмою, спрямовуються до файла, послідовності визначення кольорів ANSI буде вимкнено, якщо ви не додасте до команди цей параметр.

=item B<--echo-keys>

Типово, якщо virt-v2v попросить вас ввести ключ або пароль, програма не відтворюватиме введені символи на екрані. Якщо ви не боїтеся TEMPEST-нападів, або у вашій кімнаті нікого, окрім вас, немає, ви можете скористатися цим прапорцем, щоб бачити, які саме символи ви вводите.

Зауважте, що цей параметр стосується лише ключів і паролів до зашифрованих пристроїв і розділів, а не паролів, які використовуються для встановлення з'єднання із віддаленими серверами.

=item B<-i> B<disk> disk [disk ...]

Встановити метод введення I<disk>.

In this mode you can read a virtual machine disk image with no metadata. virt-v2v tries to guess the best default metadata.  This is usually adequate but you can get finer control (eg. of memory and vCPUs) by using I<-i libvirtxml> instead.

Each disk can be a local file or an C<nbd://> URI if you want to pull the guest disk from an NBD server (see L<nbd_connect_uri(3)> for the supported URI formats).

=item B<-i> B<libvirt> name|UUID

Встановити метод введення I<libvirt>. Цей метод є типовим.

У цьому режимі вам слід вказати назву гостьової системи libvirt або UUID у рядку команди. Ви також можете вказати адресу з'єднання libvirt (див. I<-ic>).

See L</Starting the libvirt system instance> below.

=item B<-i> B<libvirtxml> guestB<.xml>

Встановити метод введення I<libvirtxml>.

У цьому режимі вам слід передати за допомогою рядка команди файл XML libvirt. Цей файл буде прочитано для отримання метаданих (зокрема назви та обсягу пам'яті) щодо початкової гостьової системи, а також розташування дисків із вхідними даними. Див. L</Мінімальний XML для параметра -i libvirtxml> нижче.

=item B<-i> B<local> disk [disk ...]

Те саме, що і I<-i disk>.

=item B<-i> B<ova> guestB<.ova>

Встановити метод введення I<ova>.

У цьому режимі ви можете читати файл OVA VMware. Virt-v2v прочитає файл маніфесту ova і перевірити томи vmdk на коректність (за контрольними сумами), а також проаналізує файл ovf, а потім виконає перетворення гостьової системи. Див. L<virt-v2v-input-vmware(1)>.

=item B<-i> B<vmx> guestB<.vmx>|B<ssh://>...

Встановити метод введення I<vmx>.

У цьому режимі ви можете читати файл VMX VMware безпосередньо або за допомогою SSH. Такий режим корисний, якщо віртуальні машини VMware зберігаються на сервері NFS так, що їх можна змонтувати безпосередньо, або так, що можна отримати доступ за допомогою SSH до гіпервізору ESXi. Див. L<virt-v2v-input-vmware(1)>.

=item B<-ic> адреса_libvirt

Вказати адресу з'єднання libvirt, яким слід скористатися під час читання гостьової системи. Використовується, лише якщо S<I<-i libvirt>>.

Only local libvirt connections, or VMware vCenter connections ifelse(ENABLE_XEN, yes, `, or RHEL 5 Xen remote connections')  can be used. Other remote libvirt connections will not work in general.

See also: L<virt-v2v-input-vmware(1)> ifelse(ENABLE_XEN, yes, `, L<virt-v2v-input-xen(1)>')

=item B<-if> формат

Лише для I<-i disk>. Цей параметр вказує формат образу диска вхідних даних. Для інших варіантів вхідних даних вам слід вказати формат вхідних даних у метаданих.

=item B<-io> ПАРАМЕТР=ЗНАЧЕННЯ

Встановити параметри вхідних даних, пов'язані із поточним режимом обробки або пересилання вхідних даних. Щоб ознайомитися із короткою довідкою щодо цих параметрів, ви можете скористатися такою командою:

 virt-v2v -it vddk -io "?"

=item B<-io vddk-libdir=>LIBDIR

Встановити каталог бібліотеки VDDK. У цьому каталозі мають I<міститися> підкаталоги із назвами F<include>, F<lib64> тощо, але у аргументі параметра не повинно бути самої частини назви каталогу F<lib64>.

У більшості випадків цей параметр потрібен, якщо використовується канал передавання I<-it vddk> (VDDK). Щоб дізнатися більше, ознайомтеся зі сторінкою L<virt-v2v-input-vmware(1)>.

=item B<-io vddk-thumbprint=>xx:xx:xx:...

Встановити відбиток віддаленого сервера VMware.

See L<virt-v2v-input-vmware(1)/VDDK: Thumbprint> for details.

=item B<-io vddk-compression=>COMPRESSION

=item B<-io vddk-config=>НАЗВА_ФАЙЛА

=item B<-io vddk-cookie=>КУКА

=item B<-io vddk-file=>FILE

=item B<-io vddk-nfchostport=>ПОРТ

=item B<-io vddk-port=>ПОРТ

=item B<-io vddk-snapshot=>SNAPSHOT-MOREF

=item B<-io vddk-transports=>РЕЖИМ:РЕЖИМ:...

Якщо використовується режим VDDK, ці параметри передаються без змін до додатка L<nbdkit(1)> VDDK. Будь ласка, зверніться до сторінки підручника щодо L<nbdkit-vddk-plugin(1)>. Не користуйтеся цим, якщо не певні щодо наслідків. Усі ці параметри є необов'язковими.

=item B<-ip> назва_файла

Надає файл, який містить пароль і яким слід скористатися для з'єднання із рушієм гіпервізора призначення. Якщо не вказано, гіпервізор вхідних даних може надіслати запит щодо пароля у інтерактивному режимі. Зауважте, що файл має містити увесь пароль, B<без завершального символу нового рядка>, і, з міркувань безпеки, для файла має бути встановлено режим доступу C<0600>, щоб інші користувачі не змогли його читати.

=item B<-it> B<ssh>

Якщо використано I<-i vmx>, вмикає передавання даних за допомогою SSH. Див. L<virt-v2v-input-vmware(1)>.

=item B<-it> B<vddk>

Використати VDDK VMware як канал передавання даних під час копіювання дисків вхідних даних Див. L<virt-v2v-input-vmware(1)>. Якщо ви скористаєтеся цим параметром, ймовірно, вам доведеться скористатися і іншими параметрами I<-io vddk*> для визначення способу встановлення з'єднання за допомогою VDDK.

__INCLUDE:key-option.pod__

__INCLUDE:keys-from-stdin-option.pod__

Зауважте, що I<--keys-from-stdin> стосується лише ключів і паролів до зашифрованих пристроїв і розділів, а не паролів, які використовуються для встановлення з'єднання із віддаленими серверами.

=item B<--mac> aa:bb:cc:dd:ee:ffB<:network:>out

=item B<--mac> aa:bb:cc:dd:ee:ffB<:bridge:>out

Прив'язка MAC-адреси NIC до мережі або містка.

Див. L</Мережі і містки> нижче.

=item B<--mac> aa:bb:cc:dd:ee:ffB<:ip:>ipaddr[,gw[,len[,ns,ns,...]]]

Примусово використати для певного інтерфейсу (контрольованого за його MAC-адресою) статичну IP-адресу після завантаження.

Поля у параметрі є такими: C<ipaddr> є IP-адресою; C<gw> — необов'язкова IP-адреса шлюзу; C<len> — необов'язкова довжина маски підмережі (ціле число). Останні параметри є нульовими або додатковими IP-адресами назв серверів.

Цей параметр можна не вказувати або вказувати довільну кількість разів.

Потреба у цьому параметрі виникає лише для деяких гостьових систем із помилками, зокрема Windows, які не здатні зберігати прив'язки MAC-адрес до статичних IP-адрес автоматично. Він вам не знадобиться, якщо Windows використовує DHCP. У поточній версії параметр ігнорується для гостьових систем Linux, оскільки у цих систем цієї проблеми немає.

=item B<--machine-readable>

=item B<--machine-readable>=формат

За допомогою цього параметра можна зробити виведені дані придатнішими для обробки комп'ютером, якщо для цієї обробки використовуються інші програми. Див. L</Придатне до читання компʼютером виведення> нижче.

=item B<-m> MB

=item B<--memsize> MB

Change the amount of memory allocated when doing the conversion.  Virt-v2v will usually choose a suitable default.  Increase this if you see that the conversion step is running out of memory.

See also L</Adjusting memory available for conversion>.

=item B<-n> вхід:вихід

=item B<-n> вихід

=item B<--network> вхід:вихід

=item B<--network> вихід

=item B<-b> вхід:вихід

=item B<-b> вихід

=item B<--bridge> вхід:вихід

=item B<--bridge> вихід

Пов'язати мережу (або місток) із назвою C<вхід> із мережею (або містком) із назвою C<вихід>. Якщо не вказано префікс C<вхід:>, із C<вихід> буде пов'язано усі інші мережі (або містки).

Див. L</Мережі і містки> нижче.

=item B<--no-fstrim>

Do not trim the filesystem.  See L</Trimming> below.

=item B<-o> B<disk>

Те саме, що і I<-o local>.

ifelse(ENABLE_GLANCE, yes, `

=item B<-o> B<glance>

Цей параметр є застарілим. Вам, ймовірно, слід скористатися замість нього параметром I<-o openstack>.

Set the output method to OpenStack Glance.  In this mode the converted guest is uploaded to Glance.  See L<virt-v2v-output-openstack(1)>.  ')

=item B<-o> B<kubevirt>

Set the output method to I<kubevirt>.  B<Note the way this mode works is experimental and will change in future.>

In this mode, the converted guest is written to a local directory specified by I<-os /dir> (the directory must exist).

By default the converted guest’s disks are written to:

 /каталог/назва-sda
 /каталог/назва-sdb
 [тощо]

and guest metadata is created in the associated YAML file:

 /каталог/назва.yaml

де C<назва> — назва гостьової системи.

You can override the disk paths by using I<-oo disk=...> option(s).

=item B<-o> B<libvirt>

Встановити метод виведення I<libvirt>. Цей метод є типовим.

У цьому режимі перетворену гостьову систему буде створено як гостьову систему libvirt. Ви також можете вказати адресу з'єднання libvirt (див. I<-oc>).

See L</Starting the libvirt system instance> below, and L<virt-v2v-output-local(1)>.

=item B<-o> B<local>

Встановити метод виведення до I<local>.

У цьому режимі перетворену гостьову систему буде записано до локального каталогу, вказаного за допомогою параметра I<-os /каталог> (каталог має існувати). Перетворені диски гостьової системи буде записано так:

 /каталог/назва-sda
 /каталог/назва-sdb
 [тощо]

Також буде створено файл XML libvirt із метаданими гостьової системи:

 /каталог/назва.xml

де C<назва> — назва гостьової системи.

=item B<-o> B<null>

Встановити метод виведення до I<null>.

Гостьову систему буде перетворено і скопійовано, але результати буде викинуто, метадані не записуватимуться.

=item B<-o> B<openstack>

Встановити метод виведення до OpenStack. Див. L<virt-v2v-output-openstack(1)>.

ifelse(ENABLE_OVIRT, yes, `

=item B<-o> B<ovirt>

Set the output method to I<ovirt>.

The converted guest is written to an oVirt Export Storage Domain.  The I<-os> parameter must also be used to specify the location of the Export Storage Domain.  Note this does not actually import the guest into oVirt. You have to do that manually later using the UI.

See L<virt-v2v-output-ovirt(1)>.

=item B<-o> B<ovirt-upload>

Set the output method to I<ovirt-upload>.

The converted guest is written directly to an oVirt Data Domain.  This is a faster method than I<-o ovirt>, but requires oVirt E<ge> 4.2.

See L<virt-v2v-output-ovirt(1)>.  ')

=item B<-o> B<qemu>

Встановити метод виведення до I<qemu>.

Дія параметра подібна до I<-o local>, але при виконанні команди програма записує скрипт командної оболонки, яким можна скористатися для завантаження гостьової системи у qemu. Перетворені диски і скрипт оболонки буде записано до каталогу, вказаного за допомогою параметра I<-os>.

Якщо ви використовуєте цей режим виведення, ви також можете вказати параметр I<-oo qemu-boot>, який завантажує гостьову систему у qemu негайно.

ifelse(ENABLE_OVIRT, yes, `

=item B<-o> B<vdsm>

Встановити метод виведення до I<vdsm>.

This mode is similar to I<-o ovirt>, but the full path to the data domain must be given: F</ovirt/data-center/E<lt>data-center-uuidE<gt>/E<lt>data-domain-uuidE<gt>>. This mode is only used when virt-v2v runs under VDSM control.  ')

=item B<-oa> B<sparse>

=item B<-oa> B<preallocated>

Встановити режим розміщення виведеного файла. Типовим режимом є C<sparse> (розріджений файл).

=item B<-oc> АДРЕСА

Вказати адресу з'єднання, якою слід скористатися під час записування перетвореної гостьової системи.

Для S<I<-o libvirt>> це адреса libvirt. Можна використовувати лише локальні з'єднання libvirt. Віддалені з'єднання libvirt не працюватимуть. Докладніший опис можна знайти на сторінці L<virt-v2v-output-local(1)>.

=item B<-of> формат

Під час перетворення гостьової системи перетворити диски до вказаного формату.

Якщо не вказано, буде використано формат вхідних даних.

=item B<-on> назва

Перейменувати гостьову систему під час перетворення. Якщо цей параметр не використано, назва виведеного результату буде тією самою, що і назва вхідної системи.

=item B<-oo> ПАРАМЕТР=ЗНАЧЕННЯ

Встановити параметри вихідних даних, пов'язані із поточним режимом виведення даних. Щоб ознайомитися із короткою довідкою щодо цих параметрів, ви можете скористатися такою командою:

 $ virt-v2v -o libvirt -oo "?"
 Output options that can be used with -o libvirt:
 
  -oo compressed      Compress the output file (used only with
                      -of qcow2)

=item B<-oo compressed>

Для режимів виведення, де передбачено підтримку формату qcow2 (I<-of qcow2>), записує стиснений файл qcow2. Є еквівалентом параметра I<-c> у L<qemu-img(1)>.

=item B<-oo create=false>

For I<-o kubevirt>, indicate that another management process will create the output disks, so do not (re-)create them in virt-v2v.

=item B<-oo disk=>DISK

For I<-o kubevirt> this overrides the path to each output disk, instead of using the default which is C<DISK-sda> etc in the output storage (I<-os>) path.  If you use this option at all, you must repeat it once for each guest disk.  If you don't use it, then the default method of putting disks in the output storage path is used.

=item B<-oo guest-id=>C<ІДЕНТИФІКАТОР>

Лише для I<-o openstack> (L<virt-v2v-output-openstack(1)>). Встановити ідентифікатор гостьової системи, який буде збережено у кожному томі Cinder у властивості тому C<virt_v2v_guest_id>.

=item B<-oo qemu-boot>

Лише якщо використовується I<-o qemu>, негайно завантажує гостьову систему після завершення роботи virt-v2v.

=item B<-oo os->*B<=>*

Лише для I<-o openstack> (L<virt-v2v-output-openstack(1)>). Встановити параметри необов'язкового розпізнавання у OpenStack. Приклад: I<-oo os-username=>ІМʼЯ є еквівалентом C<openstack --os-username=ІМʼЯ>.

ifelse(ENABLE_OVIRT, yes, `

=item B<-oo ovirt-cafile=>F<ca.pem>

For I<-o ovirt-upload> (L<virt-v2v-output-ovirt(1)>) only, the F<ca.pem> file (Certificate Authority), copied from F</etc/pki/ovirt-engine/ca.pem> on the oVirt engine.

=item B<-oo ovirt-cluster=>C<CLUSTERNAME>

For I<-o ovirt-upload> (L<virt-v2v-output-ovirt(1)>) only, set the oVirt Cluster Name.  If not given it uses C<Default>.

=item B<-oo ovirt-proxy>

For I<-o ovirt-upload> (L<virt-v2v-output-ovirt(1)>) only, proxy the upload through oVirt Engine.  This is slower than uploading directly to the oVirt node but may be necessary if you do not have direct network access to the nodes.

=item B<-oo ovirt-verifypeer>

For I<-o ovirt-upload> (L<virt-v2v-output-ovirt(1)>) only, verify the oVirt server’s identity by checking the server‘s certificate against the Certificate Authority.  ')

=item B<-oo server-id=>C<НАЗВА|UUID>

Лише для I<-o openstack> (L<virt-v2v-output-openstack(1)>). Встановити назву базової системи перетворення, у якій буде запущено virt-v2v.

ifelse(ENABLE_OVIRT, yes, `

=item B<-oo vdsm-compat=0.10>

=item B<-oo vdsm-compat=1.1>

Якщо вказано I<-o vdsm> і форматом виведення даних є qcow2, ми додаємо параметр qcow2 I<compat=0.10> до файла виведених даних для сумісності із RHEL 6 (див. L<https://bugzilla.redhat.com/1145582>).

Якщо використовується I<-oo vdsm-compat=1.1>, замість цього буде створено сучасні файли qcow2 (I<compat=1.1>).

У поточній версії типовим є параметр I<-oo vdsm-compat=0.10>, але його буде змінено на I<-oo vdsm-compat=1.1> у майбутніх версіях virt-v2v (коли ми зможемо припускати, що усі користуються сучасною версією qemu).

B<Note this option only affects I<-o vdsm> output>.  All other output modes (including I<-o ovirt>) generate modern qcow2 I<compat=1.1> files, always.

Якщо доступний цей параметр, C<vdsm-compat-option> буде представлено у форматі виведення I<--machine-readable>.

=item B<-oo vdsm-image-uuid=>UUID

=item B<-oo vdsm-vol-uuid=>UUID

=item B<-oo vdsm-vm-uuid=>UUID

=item B<-oo vdsm-ovf-output=>КАТАЛОГ

Normally the oVirt output mode chooses random UUIDs for the target guest. However VDSM needs to control the UUIDs and passes these parameters when virt-v2v runs under VDSM control.  The parameters control:

=over 4

=item *

каталог образів для кожного диска гостьової системи (I<-oo vdsm-image-uuid>) (цей параметр передається одноразово для кожного диска гостьової системи)

=item *

UUID для кожного диска гостьової системи (I<-oo vdsm-vol-uuid>) (цей параметр передається одноразово для кожного диска гостьової системи)

=item *

назва файла OVF (I<-oo vdsm-vm-uuid>).

=item *

каталог виведення даних OVF (типовий поточний каталог) (I<-oo vdsm-ovf-output>).

=back

Формат запису UUID: C<12345678-1234-1234-1234-123456789abc> (кожна шістнадцяткова цифра може приймати значення C<0-9> або C<a-f>), відповідно до S<OSF DCE 1.1>.

Ці параметри можна використовувати лише з I<-o vdsm>.

=item B<-oo vdsm-ovf-flavour=>варіант

Цей параметр визначає формат OVF, який буде використано наприкінці перетворення. У поточній версії передбачено два можливих варіанти:

=over 4

=item ovirtexp

The OVF format used in oVirt export storage domain.

=item ovirt

Обробка формату OVF здійснюється за допомогою програмного інтерфейсу REST oVirt.

=back

For backward compatibility the default is I<ovirtexp>, but this may change in the future.  ')

=item B<-oo verify-server-certificate>

=item B<-oo verify-server-certificate=>C<true|false>

Лише для I<-o openstack> (L<virt-v2v-output-openstack(1)>). Цим параметром можна скористатися для вимикання процедури перевірки сертифікатів SSL під час встановлення з'єднання із OpenStack. Використовується I<-oo verify-server-certificate=false>.

=item B<-op> файл

Надає файл, який містить пароль і яким слід скористатися для з'єднання із рушієм гіпервізора призначення. Зауважте, що файл має містити увесь пароль, B<без завершального символу нового рядка>, і, з міркувань безпеки, для файла має бути встановлено режим доступу C<0600>, щоб інші користувачі не змогли його читати.

=item B<-os> сховище

Розташування сховища даних для перетвореної гостьової системи.

Для I<-o libvirt> цей параметр визначає каталог буфера libvirt (див. S<C<virsh pool-list>>) або UUID буфера.

Для I<-o local> і I<-o qemu> це назва каталогу. Каталог має вже існувати.

Для I<-o openstack> є необов'язковий тип тому Cinder.

ifelse(ENABLE_OVIRT, yes, ` For I<-o ovirt-upload>, this is the name of the destination Storage Domain.

For I<-o ovirt>, this can be an NFS path of the Export Storage Domain of the form C<E<lt>hostE<gt>:E<lt>pathE<gt>>, eg:

 ovirt-storage.example.com:/ovirt/export

Місце експортування NFS має бути придатним до монтування та доступним для запису користувачем та вузлом, де запущено virt-v2v, оскільки програмі virt-v2v потрібно буде його змонтувати під час роботи. Отже, ймовірно, вам доведеться запустити virt-v2v від імені користувача C<root>.

B<Альтернативний варіант:> ви можете змонтувати домен сховища експортування власноруч і вказати його точку монтування за допомогою I<-os>. Зауважте, що virt-v2v все ще потрібно буде вести запис до цього віддаленого каталогу, тому virt-v2v все одно доведеться запускати від імені C<root>.

You will get an error if virt-v2v is unable to mount/write to the Export Storage Domain.  ')

=item B<--parallel> N

Enable parallel copying if the guest has multiple disks.  I<N> is the maximum number of parallel L<nbdcopy(1)> instances to run.

The default is to run at most one instance of nbdcopy (ie. I<--parallel=1>).  All versions of virt-v2v E<le> 2.7.2 also did disk copies one at a time.

Within each guest disk, nbdcopy tries to copy in parallel if the underlying endpoints support that.  This is not affected by this command line option. See the L<nbdcopy(1)> manual page for details.

=item B<--print-source>

Вивести дані щодо початкової гостьової системи і припинити обробку. Цей параметр корисний, якщо ви налаштовуєте прив'язки мереж та містків. Див. L</Мереші і містки>.

=item B<-q>

=item B<--quiet>

Цей параметр вимикає смужки поступу та інші необов'язкові до виведення дані.

=item B<--root ask>

=item B<--root single>

Вибрати кореневу файлову систему для перетворення.

Якщо у віртуальній машині передбачено декілька варіантів завантаження або у віртуальній машині є сторонні файлові системи, які виглядають як розділи операційних систем, за допомогою цього параметра можна вибрати кореневу файлову систему (тобто диск C<C:> або F</>) операційної системи, яку слід перетворити. Використання консолі відновлення Windows, деякі долучені диски DVD та вади у евристиці засобу інспектування libguestfs можуть призвести до помилкового визначення гостьової операційної системи як такої, у якій передбачено варіанти завантаження.

Either L<virt-inspector(1)> or L<virt-v2v-open(1)> can be used to list the roots for a dual-boot or multi-boot VM.

Типовим варіантом у virt-v2v E<le> 0.7.1 був параметр S<I<--root single>>, який спричиняв аварійне завершення virt-v2v, якщо виявлялася операційна система із варіантами завантаження.

Починаючи з версії virt-v2v E<ge> 0.7.2 типовим режимом є S<I<--root ask>>: якщо буде виявлено варіанти завантаження у віртуальній машині, virt-v2v припинить роботу, виведе список усіх можливих кореневих файлових системи і попросить користувача вказати ту, яку слід перетворити. Це потребує роботи virt-v2v у інтерактивному режимі.

=item B<--root first>

Choose the first root device in the case of a multi-boot operating system. Since this is a heuristic, it may sometimes choose the wrong one, and it may not choose the default option from the guest bootloader.  For predictable results it is better to use L<virt-v2v-open(1)> and L<virt-inspector(1)> to inspect the guest and then specify which root you want to convert.

=item B<--root> /dev/sdX

=item B<--root> /dev/VG/LV

Name a specific root device to convert, eg. S<I<--root /dev/sda2>> would mean to use the second partition on the first hard drive.  If the named root device does not exist or was not detected as a root device, then virt-v2v will fail.

=item B<--smp> N

Change the number of virtual CPUs used when doing the conversion.  Virt-v2v will usually choose a suitable default.

Increasing this beyond 8 may improve conversion performance, if your host has sufficient physical CPUs.  You may also need to increase the memory size (I<--memsize> option).

=item B<-v>

=item B<--verbose>

Увімкнути докладний показ повідомлень з метою діагностики.

=item B<-V>

=item B<--version>

Показати дані щодо версії і завершити роботу.

=item B<--wrap>

Переносити рядки повідомлень помилок, попереджень та відомостей. Типовий варіант, якщо дані виводяться на термінал tty.  Якщо дані, виведені програмою, спрямовуються до файла, перенесення рядків буде вимкнено, якщо ви не додасте до команди цей параметр.

=item B<-x>

Увімкнути трасування викликів програмного інтерфейсу libguestfs.

=back

=head2 Параметри налаштовування

__CUSTOMIZE_OPTIONS__

=head1 RESOURCE REQUIREMENTS

=head2 Мережа

Здається, найважливішим ресурсом для virt-v2v є канал мережі. Virt-v2v повинна мати можливість копіювати дані гостьових систем із гігабітними або навіть вищими швидкостями мережею.

Ensure that the network connections between servers (conversion server, NFS server, vCenter, etc.) are as fast and as low latency as possible.

=head2 Місце на диску

Virt-v2v places potentially large temporary files in C<$VIRT_V2V_TMPDIR> (usually F</var/tmp>, see also L</ENVIRONMENT VARIABLES> below).  Using tmpfs is a bad idea.

Для кожного диска гостьової системи тимчасово зберігається накладка. У ній містяться дані щодо змін, які було внесено з часу перетворення, а також дані кешу. Накладки не є дуже великими — типово десятки або декілька сотень мегабайтів. Окрім накладок, місце на диску може використовуватися засобами обробки вхідних і вихідних даних. Дані щодо цих витрат місця на диску наведено у викладеній нижче таблиці.

=over 4

=item I<-i ova>

Ця команда тимчасово зберігає повну копію нестиснених початкових дисків у C<$VIRT_V2V_TMPDIR> (або F</var/tmp>).

ifelse(ENABLE_GLANCE, yes, `

=item I<-o glance>

This temporarily places a full copy of the output disks in C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).  ')

=item I<-o local>

=item I<-o qemu>

Вам слід переконатися щодо у каталозі для виведення даних є достатньо вільного місця для перетвореної гостьової системи.

=back

Див. також L</Мінімальне вільне місце у основній системі> нижче.

=head2 Ресурси vCenter VMware

У поточній версії копіювання з vCenter VMware є дуже повільним, ми вважаємо, що це проблема з VMware. Щоб частково усунути цю проблему, слід забезпечити роботу гіпервізору ESXi VMware та vCenter на швидкому обладнанні із великим обсягом пам'яті.

=head2 Обчислювальні потужності і обсяг оперативної пам’яті

Virt-v2v can be run in a virtual machine, but may run faster on bare metal.

Virt-v2v is not especially compute or RAM intensive.  If you are running many parallel conversions, then you may consider allocating one CPU core and 2 GB of RAM per running instance.  (You may adjust the amount of memory used by conversion, see the next heading.)

=head2 Adjusting memory available for conversion

Virt-v2v I<--memsize=N> can be used to increase the amount of memory available to do conversion.  This rarely needs to be adjusted, but can help to workaround some conversion problems.

=head3 Linux: setfiles runs out of memory when relabelling

For Linux guests that use SELinux, setfiles can run out of memory if a single directory contains millions of files.  As there is no simple way for virt-v2v to detect this problem in advance, you may have to use I<--memsize=4000> (or larger) to convert such guests.  For details see L<https://issues.redhat.com/browse/RHEL-125116>

=head2 Обрізання

Virt-v2v намагається оптимізувати перетворення, ігноруючи дані файлової системи гостьової операційної системи, які не використовуються. Це стосується невикористаних блоків файлових систем, блоків, які містять лише нулі, та вилучених файлів.

Для виконання цього завдання virt-v2v використовує неруйнівну дію L<fstrim(8)>. Оскільки відповідна програма виконує дії із накладкою над даними гостьової системи, початкова система B<ніяким чином> не змінюється.

Якщо робота цієї програми fstrim завершується помилкою, ви побачите попередження, а virt-v2v продовжить роботу. Програма може працювати повільніше (у деяких випадках набагато повільніше) через те, що копіюватиме і невикористані частини диска.

На жаль, підтримка fstrim не є універсальною. Результат також залежить від певних параметрів файлової системи, вирівнювання розділів та резервного сховища даних. Наприклад, fstrim не можна застосовувати до файлових систем NTFS, якщо вони займають розділи, які не вирівняно із базових сховищем даних. Такого вирівнювання типово не було у Windows до Vista. Іншим прикладом є файлові системи VFAT (використовуються гостьовими системами UEFI) — їх взагалі не можна обрізати.

Підтримка fstrim у ядрі Linux поступово поліпшується, отже, з часом, ці обмеження буде знято і virt-v2v працюватиме швидше.

Use I<--no-fstrim> to disable trimming.

=head2 Вільне місце для перетворення

=head3 Вільне місце у гостьовій системі

Virt-v2v перевіряє, чи достатньо місця у гостьовій файловій системі для виконання перетворення. У поточній версії програма перевіряє таке:

=over 4

=item Коренева файлова система Linux

Мінімальний вільний простір: 100 МБ

=item Linux F</boot>

Мінімальний вільний простір: 50 МБ

Причиною є те, що нам потрібно збирати нові initramfs для деяких перетворень Enterprise Linux.

=item Диск C<C:> Windows

Мінімальний вільний простір: 100 МБ

We may have to copy in many virtio drivers and guest agents.

=item Будь-яка інша придатна до монтування файлова система

Мінімальний вільний простір: 10 МБ

=back

Окрім самого вільного місця на диску, для кожної файлової системи потрібно принаймні 100 вільних записів inode.

=head3 Мінімальний обсяг місця у основній системі

У каталозі основної системи має бути достатньо вільного місця для зберігання великих тимчасових накладок. Щоб визначити каталог, у якому зберігатимуться накладки, скористайтеся такою командою:

 $ df -h "$(guestfish get-cachedir)"
 Filesystem        Size  Used Avail Use% Mounted on
 /dev/mapper/root   50G   40G  6.8G  86% /

і зверніть увагу га стовпчик C<Avail>. Virt-v2v взагалі відмовиться виконувати перетворення, якщо на диску не буде принаймні 1 ГБ вільного місця. Ви можете змінити використаний virt-v2v каталог за допомогою параметра C<$VIRT_V2V_TMPDIR>.

=head2 Запуск virt-v2v від імені root чи не від імені root

Нічого у virt-v2v не потребує обов'язкових прав доступу root — програма чудово працює і від імені звичайного користувача. Втім, використання деяких зовнішніх можливостей може потребувати прав доступу root або інших спеціалізованих користувачів:

=over 4

ifelse(ENABLE_OVIRT, yes, `

=item Mounting the Export Storage Domain

When using I<-o ovirt -os server:/esd> virt-v2v has to have sufficient privileges to NFS mount the Export Storage Domain from C<server>.

Ви можете уникнути тут потреби у використання прав доступу root, якщо змонтуєте диск власноруч до запуску virt-v2v і передасте його як параметр команди I<-os /точка_монтування>, але перед цим прочитайте наступний S<розділ...>

=item Запис до Export Storage Domain від імені 36:36

oVirt cannot read files and directories from the Export Storage Domain unless they have UID:GID 36:36.  You will see VM import problems if the UID:GID is not correct.

When you run virt-v2v I<-o ovirt> as root, virt-v2v attempts to create files and directories with the correct ownership.  If you run virt-v2v as non-root, it will probably still work, but you will need to manually change ownership after virt-v2v has finished.  ')

=item Запис до libvirt

Якщо використовується параметр I<-o libvirt>, може виникнути потреба у запуску virt-v2v від імені користувача root для уможливлення запису до каталогу загальносистемного екземпляра libvirt (тобто до C<qemu:///system>) і до типового каталогу для образів дисків (зазвичай, F</var/lib/libvirt/images>).

Ви можете уникнути цього, налаштувавши розпізнавання у з'єднанні із libvirt, див. L<http://libvirt.org/auth.html>. Крім того, можна скористатися параметром I<-oc qemu:///session>, використання якого призведе до запису даних до каталогів libvirt вашого користувача.

Див. також L</Запуск екземпляра системи libvirt>.

=item Запис до Openstack

Через спосіб, у який томи Cinder представляються як блокові пристрої F</dev>, використання I<-o openstack> зазвичай потребує запуску virt-v2v від імені користувача root.

ifelse(ENABLE_GLANCE, yes, `

=item Запис до Glance

This does I<not> need root (in fact it probably won’t work), but may require either a special user and/or for you to source a script that sets authentication environment variables.  Consult the Glance documentation.  ')

=item Запис на блокові пристрої

This normally requires root.  See the next section.

=back

=head2 Запис на блокові пристрої

Some output modes write to local files.  In general these modes also let you write to block devices, but before you run virt-v2v you may have to arrange for symbolic links to the desired block devices in the output directory.

For example if using I<-o local -os /dir> then virt-v2v would normally create files called:

 /dir/name-sda     # first disk
 /dir/name-sdb     # second disk
 ...
 /dir/name.xml     # metadata

If you wish the disks to be written to block devices then you would need to create F</dir/I<name>-sda> (etc) as symlinks to the block devices:

 # lvcreate -L 10G -n VolumeForDiskA VG
 # lvcreate -L 6G -n VolumeForDiskB VG
 # ln -sf /dev/VG/VolumeForDiskA /dir/name-sda
 # ln -sf /dev/VG/VolumeForDiskB /dir/name-sdb

Note that you must precreate the correct number of block devices of the correct size.  Typically I<-of raw> has to be used too, but other formats such as qcow2 can be useful occasionally so virt-v2v does not force you to use raw on block devices.

=head1 PRE-CONVERSION TASKS

=head2 Remove Anti-Virus (AV) and Group Policy (GPO)

Anti-Virus software and Windows Group Policy is designed to prevent the kind of driver installation and other changes that we may make to Windows guests.  It is recommended that you disable or remove this before conversion.  It may be enabled again after conversion.

=head2 Relax Windows PowerShell ExecutionPolicy

Virt-v2v runs unsigned firstboot PowerShell scripts.  Certain Windows PowerShell C<ExecutionPolicy> settings such as C<AllSigned> may cause the scripts to fail to run.

To find the current policy use the L<Get-ExecutionPolicy|https://learn.microsoft.com/en-gb/powershell/module/microsoft.powershell.security/set-executionpolicy> command:

 Get-ExecutionPolicy -List

To relax the policy use L<Set-ExecutionPolicy|https://learn.microsoft.com/en-gb/powershell/module/microsoft.powershell.security/set-executionpolicy>. You can set the policy back after conversion.

See also: L<https:/go.microsoft.com/fwlink/?LinkID=135170> L<https://redhat.atlassian.net/browse/MTV-4424>

=head2 The guest should not be running

The guest must be cleanly shut down before conversion begins, and must not be restarted on the source except if conversion fails.  If the guest is running or starts running during conversion then you will end up with filesystem corruption in the converted guest.

Virt-v2v tries to ensure the guest is shut down before conversion when it can, but sometimes that is not possible.  It is also not possible to prevent a guest from being started while conversion is going on, or after a successful conversion.  That must be done by some higher layer management tool instead.

It is possible to convert from a snapshot, but this should only be done to test if a conversion would succeed (with the result being thrown away), and you should fully understand what you are doing.

=head1 POST-CONVERSION TASKS

=head2 Налаштовування гостьової мережі

У поточній версії virt-v2v не може переналаштувати мережу у гостьовій системі. Якщо перетворену гостьову систему не з'єднано із тією самою підмережею, що і початкову, її налаштування мережі має бути оновлено. Див. також L<virt-customize(1)>.

=head2 Перетворення гостьової системи Windows

Процес перетворення гостьових систем Windows поділено на два етапи:

=over 

=item 1

Автономне перетворення.

=item 2

Перше завантаження.

=back

Гостьова система буде придатною до завантаження після етапу автономного перетворення, але у ній усе ще не буде встановлено потрібних для належної роботи драйверів. Драйвери буде встановлено автоматично під час першого завантаження гостьової системи.

B<Зауваження>: Windows може спочатку перезавантажуватися 4 або більшу кількість разів після перетворення. Це потрібно для встановлення необхідних драйверів, агентів гостьових систем, вилучення VMware Tools і налаштовування мережі. Не переривайте процесу автоматичного встановлення драйверів під час першого входу до гостьової системи, оскільки це може завадити усім наступним спробам завантажити гостьову систему належним чином.

=head2 Вилучення VMware Tools з гостьових систем Windows

Virt-v2v attempts to remove VMware Tools.  For Windows guests this is supposed to happen during the first boot after conversion.

We use VMware's recommended uninstallation method as that is the safest choice.  Unfortunately this method is known not to work in most cases (it makes the assumption that it is running on top of VMware, and fails with error 1603).  So VMware Tools must be manually removed by some other method.

VMware's officially documented method for manually removing VMware Tools is here: L<https://knowledge.broadcom.com/external/article/315629/clean-uninstallation-of-vmware-tools-in.html>

Another, unofficial method is described here: L<https://gist.github.com/broestls/f872872a00acee2fca02017160840624> You should carefully check this script since it makes very invasive changes to the Windows Registry and filesystem.

=head1 ПРИМІТКИ

ifelse(ENABLE_XEN, yes, `

=head2 Xen paravirtualized guests

У застарілих версіях virt-v2v можна було перетворити паравіртуалізовану гостьову систему Xen на гостьову систему KVM встановленням нового ядра. Ця версія virt-v2v I<не> намагатиметься встановити будь-яке нове ядро. Замість цього, вона повідомить вам про помилку, якщо доступними виявляться I<лише> паравіртуалізовані ядра Xen.

Тому, перш ніж виконувати перетворення, вам слід перевірити, чи встановлено у системі звичайне ядро. Для деяких застарілих дистрибутивів Linux це означає, що має бути встановлено ядро із наведеної нижче таблиці:

 RHEL 4         i686 with > 10GB of RAM: install "kernel-hugemem"
                i686 SMP: install "kernel-smp"
                other i686: install "kernel"
                x86-64 SMP with > 8 CPUs: install "kernel-largesmp"
                x86-64 SMP: install "kernel-smp"
                other x86-64: install "kernel"
 
 RHEL 5         i686: install "kernel-PAE"
                x86-64: install "kernel"
 
 SLES 10        i586 with > 10GB of RAM: install "kernel-bigsmp"
                i586 SMP: install "kernel-smp"
                other i586: install "kernel-default"
                x86-64 SMP: install "kernel-smp"
                other x86-64: install "kernel-default"
 
 SLES 11+       i586: install "kernel-pae"
                x86-64: install "kernel-default"

 Windows        (Does not apply, as there is no Xen PV Windows kernel)
')

=head2 Вмикання virtio

«Virtio» — назва набору драйверів, які значно пришвидшують роботу диска (блокового пристрою), мережі та інших дій у гостьовій системі у KVM.

У застарілих версіях virt-v2v можна було встановити ці драйвери для певних гостьових систем Linux. Ця версія virt-v2v I<не> намагатиметься встановити нові ядра Linux або драйвери, але попередить вас, якщо їх ще не встановлено.

Щоб увімкнути virtio і поліпшити швидкодію гостьової системи після перетворення, вам слід переконатися, що у системі встановлено B<принаймні> вказані у наведеній нижче таблиці версії пакунків ще I<до> перетворення.

 RHEL 4         ядро >= 2.5.9-89.EL
                lvm2 >= 2.02.42-5.el4
                device-mapper >= 1.02.28-2.el4
                selinux-policy-targeted >= 1.17.30-2.152.el4
                policycoreutils >= 1.18.1-4.13
 
 RHEL 5         ядро >= 2.6.18-128.el5
                lvm2 >= 2.02.40-6.el5
                selinux-policy-targeted >= 2.4.6-203.el5
 
 RHEL 6+        усі версії підтримують virtio
 
 Fedora         усі версії підтримують virtio
 
 SLES 11+       усі версії підтримують virtio
 
 SLES 10        ядро >= 2.6.16.60-0.85.1
 
 OpenSUSE 11+   усі версії підтримують virtio
 
 OpenSUSE 10    ядро >= 2.6.25.5-1.1

 Debian 6+      Підтримку virtio передбачено в усіх версіях

 Ubuntu 10.04+  — підтримку virtio передбачено в усіх версіях

 Windows        Drivers are installed from the ISO or directory pointed
                to by the "VIRTIO_WIN" environment variable if present.
                If the "VIRTIO_WIN" environment variable is absent
                (which is the recommended setting), then drivers are
                searched for in /usr/share/virtio-win, as installed
                by the virtio-win RPM.



=head2 RHEL 4: Здається, що повторне встановлення міток SELinux «зависло»

У RHEL E<le> 4.7 була вада, яка спричиняла до того, що повторне встановлення міток SELinux «зависало» на такому повідомленні:

 *** Warning -- SELinux relabel is required. ***
 *** Disabling security enforcement.         ***
 *** Relabeling could take a very long time, ***
 *** depending on file system size.          ***

Насправді, система очікувала від вас натискання клавіші (але ніяк візуально про це не повідомляла). Ви можете або натиснути клавішу C<[Return]>, у результаті чого гостьова система завершить повторне встановлення міток і перезавантажиться, або можете встановити policycoreutils E<ge> 1.18.1-4.13 до запуску перетворення v2v. Див. також L<https://bugzilla.redhat.com/show_bug.cgi?id=244636>

=head2 RHEL 8: dracut network-legacy error

In RHEL 8, a conversion fails with:

 dracut: dracut module 'network-legacy' cannot be found or installed

This is caused by an issue with a dracut update during the RHEL 8 lifecycle.  You can fix it by either installing the C<dhclient> package, or by removing the file F</etc/dracut.conf.d/50-network-legacy.conf>.  Either operation should be done inside the guest before conversion.  For more information, see:

L<https://access.redhat.com/articles/7112814>

=head2 Linux: "rename: /sysroot/etc/resolv.conf" failure

(This issue is fixed in libguestfs E<ge> 1.60, the following documentation is for historical versions.)

In a Linux guest, you see an error such as this:

 virt-v2v: error: libguestfs error: command lines: rename: /sysroot/etc/resolv.conf to /sysroot/etc/lwdhuh36: Operation not permitted

This can be caused because the file F</etc/resolv.conf> in the guest has the L<immutable bit|https://en.wikipedia.org/wiki/Chattr> set.  You can use the L<chattr(1)> command before converting the guest:

 chattr -i /etc/resolv.conf

and then restore it (I<+i>) after conversion.

=head2 Debian/Ubuntu: "warning: could not determine a way to update the
configuration of Grub2"

У поточній версії virt-v2v не передбачено способу визначити типове ядро у гостьових системах Debian та Ubuntu, які використовують завантажувач GRUB 2. Це означає, що virt-v2v не змінюватиме типового ядра для завантаження, навіть якщо це не краще ядро, яке доступне у гостьовій системі. Рекомендуємо, перш ніж користуватися virt-v2v, зробити так, щоб типове ядро для завантаження було найкращим з доступних у гостьовій системі ядер (наприклад, просто оновивши гостьову систему до найсвіжішої версії).

=head2 Debian: "vsyscall attempted with vsyscall=none"

Якщо програму запущено у нещодавній версії основної системи Debian, virt-v2v може виявитися нездатною до перетворення гостьових систем, які було створено до 2013 року. У діагностичних повідомленнях ви зможете побачити повідомлення щодо аварійного завершення роботи, подібне до такого:

 vsyscall attempted with vsyscall=none ip:...
 segfault at ...

Причиною є те, що у Debian вилучено підтримку запуску застарілих виконуваних файлів, які використовували застарілу сторінку vsyscall для викликів до ядра.

Обійти цю проблему можна за допомогою такої команди, яку слід віддати до запуску virt-v2v:

 export LIBGUESTFS_APPEND="vsyscall=emulate"

Докладніший опис можна знайти тут: L<https://bugzilla.redhat.com/1592061>

=head2 Windows: System disk on a Dynamic Disk is not supported

If the Windows system disk (the drive containing C<\windows>) is located on a Dynamic Disk then it cannot be converted.  Data disks — that is, disks which are part of the guest but do not contain parts of the Windows operating system — may be Dynamic Disks.

Див. L<https://bugzilla.redhat.com/2140548>.

=head2 Швидкий запуск у Windows E<ge> 8 є несумісним із virt-v2v

Гостьові системи, у яких використовується можливість Windows E<ge> 8 «Fast Startup» (або гостьові системи, які було приспано), не можна перетворити за допомогою virt-v2v. Програма повідомлятиме про таку помилку:

 virtv2v: помилка: не вдалося змонтувати образ диска для запису. Ймовірно, це
 сталося через те, що у гостьовій системі використано Windows Hibernation або
 Fast Restart. Вам слід вимкнути ці можливості (у гостьовій системі), щоб
 скористатися virt-v2v.

Як і повідомляється, вам слід завантажити гостьову систему і вимкнути можливість швидкого запуску (Панель керування → Живлення → Виберіть дію для кнопки живлення → Змінити параметри, які зараз недоступні → Увімкнути швидкий запуск), потім вимкнути гостьову систему. Після цього ви зможете перетворити її.

Щоб дізнатися більше, див. L<guestfs(3)/ПРИСИПЛЯННЯ WINDOWS ТА ШВИДКИЙ ЗАПУСК WINDOWS 8>.

=head2 Windows: Boot failure: 0x0000007B

Неможливість завантаження спричинено тим, що Windows не може знайти або завантажити належний драйвер диска (наприклад F<viostor.sys>). Якщо у вас виникає ця помилка, ось декілька речей, які можуть допомогти:

=over 4

=item *

Спочатку, до перетворення, переконайтеся, що гостьова система завантажується на початковому гіпервізорі.

=item *

Перевірте, чи є у вас драйвери virtio Windows у F</usr/share/virtio-win>, і що virt-v2v не виводила жодних попереджень щодо неможливості встановити драйвери virtio.

У S<Red Hat Enterprise Linux 7> вам слід буде встановити підписані драйвери з пакунка C<virtio-win>. Якщо у вас немає доступу до підписаних драйверів, вам, ймовірно, слід вимкнути підписування драйверів у меню завантаження.

=item *

Перевірте, чи ви надаєте інтерфейс virtio-blk (B<не> virtio-scsi і B<не> ide) гостьовій системі. У командному рядку qemu/KVM ви маєте бачити щось подібне до такого:

 ... -drive file=windows-sda,if=virtio ...

У XML libvirt має бути таке:

 <target dev='vda' bus='virtio'/>

=item *

Перевірте, чи не запобігає Windows Group Policy встановленню або використанню драйвера. Спробуйте вилучити Windows Group Policy до перетворення.

=item *

Перевірте, чи не встановлено якогось антивірусного або іншого програмного забезпечення, яке реалізує заборони, подібні до Group Policy, щодо встановлення або використання нових драйверів.

=item *

Увімкніть діагностику завантаження і перевірте, чи завантажується драйвер F<viostor.sys>.

=back

=head2 OpenStack і повторна активація Windows

OpenStack не надає гостьовим системам стабільних адрес пристроїв та каналів PCI. Кожного разу, коли створюється або запускається гостьова система, OpenStack повторно створює від початку XML libvirt для цієї гостьової системи. Створений таким чином XML libvirt не міститиме полів E<lt>addressE<gt>. Потім libvirt призначить адреси для пристроїв у передбачуваний спосіб. Адреси можуть змінитися, якщо буде виконано будь-яку з таких умов:

=over 4

=item *

До гостьової системи було додано новий диск або мережевий пристрій або з гостьової системи було вилучено диск або мережевий пристрій.

=item *

Було змінено версію OpenStack або (можливо) libvirt.

=back

Оскільки Windows не подобаються такі «апаратні» зміни, це може спровокувати початок процедури повторної активації Windows.

Це також може заважати завантаженню із повідомленням про помилку 7B [див. попередній розділ], якщо у гостьовій системі є group policy із назвою C<Device Installation Restrictions>.

=head2 Підтримка сертифікатів SHA-2 у Windows 7 та Windows Server 2008 R2

Нещодавні версії драйверів vitio для Windows підписано за допомогою сертифікатів SHA-2 (замість сертифікатів SHA-1). Початкові версії Windows 7 і Windows Server 2008 R2 не здатні працювати із сертифікатами SHA-2, тому драйвери virtio для Windows у цих системах не може бути встановлено належним чином.

Щоб усунути цю проблему, перш ніж виконувати перетворення гостьової системи, вам слід встановити у системах підтримку підписування коду SHA-2: L<https://docs.microsoft.com/en-us/security-updates/SecurityAdvisories/2015/3033929>.

Докладніші дані можна знайти на сторінці L<https://bugzilla.redhat.com/show_bug.cgi?id=1624878>

=head2 After conversion, Windows guest cannot be upgraded

After successful conversion, the Windows guest cannot be upgraded to a later release of Windows (eg. from Windows Server 2016 to 2019).

Another symptom is that the C<pnputil /enum-drivers> command cannot list all drivers.  A few drivers are shown and then the command crashes with the error:

 Failed to enumerate driver packages: The parameter is incorrect.

This is caused by the C<guestor_tmp> temporary driver that we preinstall during conversion so that Windows can see the boot device.  Because only minimal changes are made to the Registry to make this work, Windows later gets confused when it sees these partial Registry entries.

The fix is to delete the Registry entries, after conversion but before trying to upgrade Windows.  This can be achieved using L<virt-win-reg(1)>.

The Windows guest should be shut down.

The following C<.reg> file should be merged into the Windows Registry: L<https://github.com/libguestfs/virt-v2v/blob/master/contrib/remove-guestor.reg>

 # virt-win-reg --merge WindowsGuest remove-guestor.reg

Then the Windows guest can be booted and used / upgraded as normal.

Alternatively, a WinPE environment can be used to remove the Registry entries.

For further information see: L<https://issues.redhat.com/browse/MTV-2256>

=head2 Windows: "Activation of partially decrypted BITLK device is not supported"

This error from L<cryptsetup(8)> may occur for Windows 11 guests that have a virtual TPM.  Even if Bitlocker is not activated, the disk is still encrypted, and so a I<--key> parameter is still required.  However it may not be possible to retrieve the key from the TPM.

A workaround is to turn on Bitlocker in the Bitlocker Drive Encryption settings in the Control Panel.  The Bitlocker key must be passed to virt-v2v on the command line.

For further information see: L<https://issues.redhat.com/browse/RHEL-70840> and L<https://windowstechpro.com/how-to-enable-bitlocker-on-windows-11/>

=head2 Windows: "Enter the recovery key for this drive"

After conversion, you may be presented with a Windows boot screen showing:

 BitLocker recovery
 Enter the recovery key for this drive
 [|___________________]

(See screenshot on L<https://issues.redhat.com/browse/RHEL-103915>)

This happens when the Windows BitLocker disk encryption key is contained in the VMware Virtual Trusted Platform Module (vTPM).  The vTPM is working I<exactly as designed>.  It is preventing the encrypted disk from being moved from one machine to another by storing the encryption key in trusted storage on the source.  By design, we cannot access or move this key to the target.

To start the VM you will need to enter the BitLocker recovery key.  This will also register the disk against the new vTPM on the target, so it should only be necessary to do this once.

For help finding the recovery key: L<https://aka.ms/recoverykeyfaq>

=head2 Linux: Guests with LUKS encryption and TPM fail to boot after conversion

Linux guests (such as Ubuntu) that use LUKS-encrypted disks with keys sealed to a Trusted Platform Module (TPM) will fail to boot after virt-v2v conversion.  This is because the TPM is working I<exactly as designed>: it prevents the encrypted disk from being used on a different machine.  After conversion, the guest runs on a new KVM host with a different vTPM, so the TPM-sealed key is no longer valid.

To convert such a guest, a passphrase-based LUKS keyslot must exist so that virt-v2v can unlock the disk using the I<--key> option.  If the guest only has a TPM-sealed key, you must add a passphrase keyslot before conversion. Do not remove the TPM binding on the source VM as it must remain bootable in case the conversion fails.

The following commands should be run inside the source guest while it is still running on the source hypervisor (where the TPM is valid).  In these examples C</dev/sda3> is the LUKS partition; substitute the appropriate device for your guest.

If the guest uses B<clevis> for TPM2 binding (e.g. Ubuntu 22.04), first recover the sealed passphrase, then add a new keyslot:

 clevis luks list -d /dev/sda3
 clevis luks pass -d /dev/sda3 -s SLOT > /tmp/recovered-key
 cryptsetup luksAddKey /dev/sda3 --key-file /tmp/recovered-key

If the guest uses B<systemd-cryptenroll> (e.g. Ubuntu 24.04+), C<systemd-cryptenroll> does not expose the sealed passphrase, so you must supply the original installation passphrase when adding a new keyslot:

 cryptsetup luksDump /dev/sda3    # verify tpm2 token is present
 cryptsetup luksAddKey /dev/sda3

Then convert with virt-v2v, passing the passphrase you enrolled above:

 virt-v2v [...] --key all:key:PASSPHRASE

After conversion, the old TPM binding will no longer be valid.  Boot the converted guest and remove the stale binding:

 clevis luks unbind -d /dev/sda3 -s SLOT -f       # clevis
 systemd-cryptenroll --wipe-slot=tpm2 /dev/sda3   # systemd-cryptenroll

If you want to re-seal LUKS against the new KVM vTPM, you can then run C<clevis luks bind -d /dev/sda3 tpm2 '{}'> or C<systemd-cryptenroll --tpm2-device=auto /dev/sda3> inside the converted guest.

For further information see: L<https://issues.redhat.com/browse/RHEL-85154>

=head2 Мережі і містки

Гостьові системи, зазвичай, з'єднано із однією або декількома мережами, і при перетворенні до гіпервізору призначення вам, зазвичай, потрібно повторно з'єднати ці мережі на вузлі призначення. Зробити це можна за допомогою параметрів I<--network>, I<--bridge> та I<--mac>.

Якщо ви не певні щодо того, які мережі і містки використовуються у початковому гіпервізорі, ви можете вивчити початкові метадані (XML libvirt, дані vCenter тощо). Ви також можете запустити virt-v2v з параметром I<--print-source>, який призведе до того, що virt-v2v виведе доступну програмі інформацію щодо початкового варіанта гостьової системи, а потім завершить роботу.

У виведених даних з параметром I<--print-source> ви побачите розділ, де буде показано картки мережевих інтерфейсів (NIC) гостьової системи:

 $ virt-v2v [-i ...] --print-source name
 [...]
 NIC:
     Network "default" mac: 52:54:00:d0:cf:0e

Містки є особливим класом пристроїв мережі, які долучаються до іменованої зовнішньої мережі на гіпервізорі джерела. Приклад:

 $ virt-v2v [-i ...] --print-source name
 [...]
 NICs:
     Bridge "br0"

Щоб пов'язати певний місток-джерело до мережі призначення, наприклад, місток C<br0> у початковій системі із мережею C<ovirtmgmt> у системі призначення, скористайтеся такою командою:

 virt-v2v [...] --bridge br0:ovirtmgmt

Щоб пов'язати усі містки із мережею призначення, скористайтеся такою командою:

 virt-v2v [...] --bridge ovirtmgmt

=head3 Тонкощі прив'язки гостьових NIC

Параметр I<--mac> надає вам ширші можливості керування прив'язкою, надаючи змогу прив'язувати окремі NIC до мереж або містків у системі призначення. Наприклад, у початковій гостьовій системі із двома NIC їх можна пов'язати окремо із двома мережами із назвами C<mgmt> та C<clientdata> ось так:

 $ virt-v2v [...] \
    --mac 52:54:00:d0:cf:0e:network:mgmt \
    --mac 52:54:00:d0:cf:0f:network:clientdata

Зауважте, що у virt-v2v не передбачено можливостей зміни MAC-адреси гостьової системи. MAC-адреса є частиною метаданих гостьової системи і має лишатися тією самою у гіпервізорі походження та у гіпервізорі призначення. У більшості гостьових систем MAC-адреса використовується для встановлення сталих зв'язків між NIC та внутрішніми назвами (наприклад C<eth0>), зв'язків із параметрами брандмауера або навіть зв'язків із системами ліцензування програмного забезпечення.

=head2 Collecting files for later diagnostics

The virt-v2v I<--collect> and I<--collect-output> options are used to collect files and directories from inside the guest, before conversion, for later diagnosis in case the conversion goes wrong, especially if driver installation at firstboot fails.

Typical usage is:

 virt-v2v [...] \
     --collect /windows/system32/config/ \
     --collect /windows/system32/winevt/logs/ \
     --collect /etc/ \
     --collect-output output.tar.xz

which would save the Windows registry, Windows event logs, and Linux F</etc> directory to F<output.tar.xz>.

Guest files/directories which do not exist are ignored.  The information collected may include sensitive data like passwords.  The output could be arbitrarily large since it copies everything specified from the guest.

You can rename directories in the output tarball by adding C<:dir> suffix to the I<--collect> option, eg:

 virt-v2v [...] \
     --collect /windows/system32/config/:registry

which would create a F<registry/> directory in the tarball.

=head2 Мінімальний XML для параметра -i libvirtxml

Якщо використовується параметр I<-i libvirtxml>, вам слід буде вказати певний файл XML libvirt. Написання такого файла «з нуля» є доволі марудною справою, отже, вам буде корисний наведений нижче шаблон.

B<Зауважте, що цим слід користуватися лише для тестування і/або там, де ви впевнені у своїх діях!> Якщо у вас є метадані libvirt для гостьової системи, завжди користуйтеся ними, а не цим шаблоном.

 <domain type='kvm'>
   <name> NAME </name>
   <memory>1048576</memory>
   <vcpu>2</vcpu>
   <os>
     <type>hvm</type>
     <boot dev='hd'/>
   </os>
   <features>
     <acpi/>
     <apic/>
     <pae/>
   </features>
   <devices>
     <disk type='file' device='disk'>
       <driver name='qemu' type='raw'/>
       <source file='/path/to/disk/image'/>
       <target dev='hda' bus='ide'/>
       <checksum method='sha256' fail='error'>123123...</checksum>
     </disk>
     <interface type='network'>
       <mac address='52:54:00:01:02:03'/>
       <source network='default'/>
       <model type='rtl8139'/>
     </interface>
   </devices>
 </domain>

=head2 Придатне до читання компʼютером виведення

Для виведення даних у зручному для машинної обробки форматі можна скористатися параметром I<--machine-readable>. Додавання цього параметра робить зручним використання virt-v2v з інших програм, графічних інтерфейсів тощо.

Існує два способи використання цього параметра.

Спочатку, скористайтеся цим параметром окремо, щоб опитати систему щодо можливостей виконуваного файла virt-v2v. Типово виведені дані виглядатимуть якось так:

 $ virt-v2v --machine-readable
 virt-v2v
 libguestfs-rewrite
 colours-option
 input:disk
 [...]
 output:local
 [...]
 convert:linux
 convert:windows

Виводиться список можливостей, по одній на рядок, і програма завершує роботу зі станом 0.

Записи C<input:> і C<output:> стосуються аргументів параметрів I<-i> і I<-o> (вхідного і вихідного режимів), які підтримуються цим виконуваним файлом. Записи C<convert:> стосуються типів гостьових систем, підтримку перетворення яких передбачено у цьому виконуваному файлі.

По-друге, можна скористатися цим параметром у поєднанні із іншими параметрами для того, щоб зробити звичайні виведені програмою дані придатнішими для подальшої машинної обробки.

У поточній версії це означає таке:

=over 4

=item 1.

Повідомлення смужки поступу можна обробляти зі стандартного виведення, шукаючи їх за таким формальним виразом:

 ^[0-9]+/[0-9]+$

=item 2.

Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до стандартного виведення, (окрім повідомлень смужки поступу) як повідомлення щодо стану. Ці повідомлення може бути записано до журналу і/або показано користувачеві.

=item 3.

Програма, яка надсилає виклик, має обробляти повідомлення, надіслані до stderr як повідомлення про помилки. Крім того, virt-v2v завершує роботу із ненульовим кодом стану, якщо станеться критична помилка.

=back

У virt-v2v E<le> 0.9.1 взагалі не передбачено підтримки параметра I<--machine-readable>. Цей параметр було додано під час переписування virt-v2v у 2014 році.

Можна вказати рядок форматування для керування виведенням, див. L<guestfs(3)/РОЗШИРЕНЕ ПРИДАТНЕ ДО ЧИТАННЯ КОМП'ЮТЕРОМ ВИВЕДЕННЯ>.

=head2 Запуск екземпляра системи libvirt

 Failed to connect socket to '/var/run/libvirt/virtqemud-sock': No such file or directory
 Failed to connect socket to '/var/run/libvirt/virtqemud-sock-ro': Connection refused

If you have just installed libvirt and virt-v2v, then you may see the errors above.  This is caused by libvirt daemons that provide various services not running straight after installation.  (This may depend on your distribution and vendor presets).

To fix this on systemd-based distributions, do:

 systemctl isolate multi-user.target

Див. також L<https://bugzilla.redhat.com/2182024>.

=head1 ФАЙЛИ

=over 4

=item F</usr/share/virtio-win>

(Необов’язково)

Якщо існує цей каталог, драйвери virtio для гостьових систем Windows буде знайдено у цьому каталозі і встановлено до гостьової системи під час перетворення.

=back

=head1 ЗМІННІ СЕРЕДОВИЩА

=over 4

=item C<VIRT_V2V_TMPDIR>

=item C<LIBGUESTFS_CACHEDIR>

Розташування каталогу тимчасових даних, який використовуватиметься для потенційно великих тимчасових файлів-накладок. Якщо не встановлено жодного значення змінної середовища, буде використано F</var/tmp>.

To reliably ensure large temporary files are cleaned up (for example in case virt-v2v crashes) you should create a randomly named directory under F</var/tmp>, set C<VIRT_V2V_TMPDIR> to point to this directory, then when virt-v2v exits remove the directory.

Див. розділ L</Місце на диску> вище.

=item C<VIRT_TOOLS_DATA_DIR>

Ця змінна визначає каталог, у якому містяться файли даних, які використовуються для перетворення Windows.

Зазвичай, потреби у встановленні власного значення немає. Якщо значення не встановлено, буде використано вбудоване типове значення (щось схоже на F</usr/share/virt-tools>).

Цей каталог може містити такі файли:

=over 4

=item F<rhsrvany.exe>

(Потрібен для перетворень гостьових систем Windows)

Це виконуваний файл для Windows RHSrvAny, який використовується для встановлення скрипту «firstboot» у гостьові системи під час перетворення гостьових систем Windows.

Див. також C<https://github.com/rwmjones/rhsrvany>

=item F<pnp_wait.exe>

(Рекомендовано для перетворень гостьових систем Windows)

This tool waits for newly installed Windows devices to become available before trying to configure them, for example to set network configuration. It is part of the RHSrvAny project.

=item F<pvvxsvc.exe>

Це виконуваний файл Windows, що постачається разом із VMDP SUSE, використовується для встановлення скрипту «firstboot» у гостьові системи Windows. Альтернатива RHSrvAny.

=back

=item C<VIRTIO_WIN>

Це перевизначене місце, у якому виконуватиметься пошук драйверів virtio для Windows. Це може бути каталог I<або> вказівник на F<virtio-win.iso> (образ CD ROM, на якому містяться драйвери).

Якщо не встановлено, відбуватиметься пошук драйверів; знайденим вважатиметься драйвер, який з цих методів першим дасть успішний результат:

=over 4

=item F</usr/share/virtio-win/virtio-win.iso>

Образ ISO, де містяться драйвери virtio для Windows.

=item F</usr/share/virtio-win>

The exploded tree of virtio drivers for Windows.

=back

Див. L</Вмикання virtio>.

=back

Опис інших змінних середовища наведено у розділі L<guestfs(3)/ENVIRONMENT VARIABLES>.

=head1 ІНШІ ІНСТРУМЕНТИ

=over 4

=item L<engine-image-uploader(8)>

Variously called C<engine-image-uploader>, C<ovirt-image-uploader> or C<rhevm-image-uploader>, this tool allows you to copy a guest from one oVirt Export Storage Domain to another.  It only permits importing a guest that was previously exported from another oVirt instance.

=item L<import-to-ovirt.pl|http://git.annexia.org/?p=import-to-ovirt.git>

This script can be used to import guests that already run on KVM to oVirt. For more information, see this blog posting by the author of virt-v2v:

L<https://rwmj.wordpress.com/2015/09/18/importing-kvm-guests-to-ovirt-or-rhev/#content>

=back

=head1 ТАКОЖ ПЕРЕГЛЯНЬТЕ

L<virt-p2v(1)>, L<virt-v2v-inspector(1)>, L<virt-v2v-in-place(1)>, L<virt-v2v-open(1)>, L<virt-customize(1)>, L<virt-df(1)>, L<virt-filesystems(1)>, L<virt-inspector(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-win-reg(1)>, L<guestfs(3)>, L<guestfish(1)>, L<qemu-img(1)>, L<engine-image-uploader(8)>, L<import-to-ovirt.pl|http://git.annexia.org/?p=import-to-ovirt.git>, L<nbdkit(1)>, L<nbdkit-vddk-plugin(1)>, L<http://libguestfs.org/>.

=head1 АВТОРИ

Matthew Booth

Cédric Bosdonnat

Laszlo Ersek

Tomáš Golembiovský

Shahar Havivi

Richard W.M. Jones

Roman Kagan

Mike Latimer

Nir Soffer

Pino Toscano

Xiaodai Wang

Ming Xie

Tingting Zheng

=head1 АВТОРСЬКІ ПРАВА

Copyright (C) 2009-2025 Red Hat Inc.

