
=head1 НАЗВА

virt-v2v-input-vmware — використання virt-v2v для перетворення гостьових систем з VMware

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

 virt-v2v -i vmx ГОСТЬОВА_СИСТЕМА.vmx [-o* параметри]

 virt-v2v -i vmx
    -it ssh
    -ip файл_пароля
    'ssh://root@esxi.example.com/vmfs/volumes/datastore1/guest/guest.vmx'
    [-o* параметри]

 virt-v2v
    -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1'
    -it vddk
    -io vddk-libdir=/path/to/vmware-vix-disklib-distrib
    "GUEST NAME"
    [-o* options]

 virt-v2v -i ova ДИСК.ova [-o* параметри]

 virt-v2v
    -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1'
    -ip файл-паролів
    "НАЗВА ГОСТЬОВОЇ СИСТЕМИ" [-o* параметри]

=head1 ОПИС

На цій сторінці наведено документацію щодо використання L<virt-v2v(1)> для перетворення гостьових систем, які походять з VMware. Загалом, на сьогодні існує п'ять різних методів доступу до даних гостьових систем VMware:

=over 4

=item B<-i vmx> GUESTB<.vmx>

Повна документація: L</ВХІДНІ ДАНІ З VMX VMWARE>

Якщо у вас є файл F<GUEST.vmx> і один або декілька файлів образів дисків F<GUEST.vmdk> або якщо ви можете монтувати за допомогою NFS сховище даних VMware, ви можете скористатися методом I<-i vmx> для читання даних початкової гостьової системи.

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

Повна документація: L</ВХІДНІ ДАНІ З VMX VMWARE>

Те саме, що і описаний вище метод, але використовується з'єднання SSH із ESXi для читання файла F<GUEST.vmx> і пов'язаних із ним дисків. Це потребує вмикання доступу за допомогою SSH до гіпервізора ESXi VMware — за типових налаштувань цей доступ вимкнено.

Цей канал передавання даних є несумісним із гостьовими системами, для яких передбачено знімки; див. L</НОТАТКИ>.

=item B<-ic vpx://...> B<-it vddk>

=item B<-ic esx://...> B<-it vddk>

Повна документація: L</ВХІДНІ ДАНІ З VDDK>

У цьому методі для доступу до сервера vCenter VMware або гіпервізора ESXi VMware використовується закрита бібліотека VDDK (або VixDiskLib).

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

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

Повна документація: L</ВХІДНІ ДАНІ З OVA VMWARE>

Використовуючи цей метод, ви маєте спочатку експортувати гостьову систему (наприклад з vSphere) у форматі файла F<.ova>, який virt-v2v потім зможе прочитати безпосередньо. Зауважте, що цей метод працює лише з файлами, які експортовано з VMware, а не файлами OVA, які походять із інших гіпервізорів або систем керування, оскільки OVA лише приблизно дотримується стандартів і не є сумісним і придатним до безпроблемного використання на продуктах інших виробників програмного забезпечення.

=item B<-ic vpx://...> "НАЗВА ГОСТЬОВОЇ СИСТЕМИ"

Повна документація: L</ВХІДНІ ДАНІ З СЕРВЕРА VCENTER VMWARE>

Якщо ви не можете скористатися жодним із описаних вище методів, скористайтеся цим методом для імпортування гостьової системи із vCenter VMware. Це найповільніший метод.

=back

=head1 ПРИМІТКИ

Якщо доступ до файла F<I<гостьова_система>.vmx> на ESXi здійснюєються через з’єднання SSH (тобто при використанні параметрів I<-i vmx> I<-it ssh>), перетворення не працюватиме, якщо гостьова система має знімки (файли під назвою F<I<guest>-000001.vmdk> тощо). Або згорніть знімки для гостьової системи і повторіть перетворення з тими самими параметрами I<-i vmx> I<-it ssh>, або залиште знімки без змін і використовуйте канал передавання даних, відмінний від SSH: просто I<-i vmx>, або I<-ic vpx://...> I<-it vddk> або I<-ic esx://...> I<-it vddk>. Зверніться до звіту L<https://bugzilla.redhat.com/1774386>.

=head1 ВХІДНІ ДАНІ З VMX VMWARE

Virt-v2v також може імпортувати гостьові системи з файлів vmx VMware.

Це корисно у двох випадках:

=over 4

=item 1.

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

=item 2.

Вами уможливлено доступ SSH до гіпервізору ESXi VMware ESXi і у вас є тека C</vmfs/volumes>, яка містить віртуальні машини.

=back

Якщо вами виявлено теку або файли із назвами F<I<гостьова_система>.vmx>, F<I<гостьова_система>.vmxf>, F<I<гостьова_система>.nvram> і один або декілька образів дисків F<.vmdk>, ви можете скористатися цим методом. Каналом передавання даних SSH не можна буде скористатися, якщо гостьова система має знімки; зверніться до розділу L</НОТАТКИ>.

=head2 VMX: Гостьову систему слід вимкнути

B<The guest must be shut down before conversion starts>.  Because the I<-i vmx> method works directly against the storage, checking for concurrent access is not possible.  See also L<virt-v2v(1)/The guest should not be running>.

=head2 VMX: Доступ до сховища, у якому містяться файли VMX і VMDK

Якщо файли vmx і vmdk не доступні локально, вам слід I<або> змонтувати сховище даних NFS на сервері перетворення I<або> уможливити безпарольний доступ SSH на гіпервізорі ESXi.

=head3 VMX: Розпізнавання за допомогою SSH

Ви можете скористатися розпізнаванням за допомогою SSH за паролем, вказавши назву файла, який містить пароль, як аргумент параметра I<-ip> (зауважте, що цей параметр I<не> приймає пароль безпосередньо). Вам слід скоригувати F</etc/ssh/sshd_config> на сервері VMware, встановивши C<PasswordAuthentication yes>.

Якщо ви не використовуєте розпізнавання за паролем, альтернативою є використання ssh-agent і додавання вашого відкритого ключа ssh до F</etc/ssh/keys-root/authorized_keys> (у гіпервізорі ESXi). Після виконання цих дій вам слід перевірити, чи працює доступ без пароля з сервера virt-v2v до гіпервізора ESXi. Приклад:

 $ ssh root@esxi.example.com
 [ журналювання безпосередньо до оболонки, пароль не потрібен ]

Зауважте, що підтримка неінтерактивного розпізнавання за допомогою параметра I<-ip> є неповною. Деякі дії все ще вимагають від користувача введення пароля вручну. Тому рекомендуємо скористатися ssh-agent замість параметра I<-ip>. Див. L<https://bugzilla.redhat.com/1854275>.

=head3 VMX: побудова адреси SSH

При використанні вхідного каналу передавання даних SSH вам слід вказати віддалену адресу C<ssh://...>, яка вказуватиме на файл VMX. Типова адреса виглядає так:

 ssh://root@esxi.example.com/vmfs/volumes/datastore1/my%20guest/my%20guest.vmx

Ім'я користувача можна не вказувати, якщо воно збігається із назвою вашого локального облікового запису користувача.

Крім того, ви можете вказати номер порту після назви вузла, якщо сервер SSH працює на нетиповому порту (не на порту 22).

Щоб визначити компонент шляху адреси, увійдіть на сервер ESXi за допомогою SSH інтерактивно і визначте абсолютний шлях до файла VMX на сервері ESXi, приклад:

 /vmfs/volumes/datastore1/my guest/my guest.vmx

Згодом у командному рядку virt-v2v L<закодуйте з використанням відсоток-кодування будь-які зарезервовані символи|https://en.wikipedia.org/wiki/Percent-encoding#Reserved_characters>, які ви знайдете в окремих компонентах шляху. Наприклад, слід вказувати як C<%20>:

 /vmfs/volumes/datastore1/my%20guest/my%20guest.vmx

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

=head2 VMX: Імпортування гостьової системи

Щоб імпортувати файл vmx з локального файла або NFS, віддайте таку команду:

 $ virt-v2v -i vmx guest.vmx -o local -os /var/tmp

Щоб імпортувати файл vmx за допомогою SSH, додайте I<-it ssh>, щоб вибрати канал передавання даних SSH і вказати віддалену адресу SSH:

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

Virt-v2v обробляє файл vmx і використовує отримані дані для встановлення розташування усіх дисків vmdk.

=head1 ВХІДНІ ДАНІ З VDDK

Virt-v2v може імпортувати гостьові системи за допомогою пропрієтарної бібліотеки VDDK (або VixDiskLib) VMware.

=head2 VDDK: Попередні вимоги

=over 4

=item 1.

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

=item 2.

Рекомендуємо скористатися nbdkit E<ge> 1.6, оскільки ці версії постачаються із безумовно увімкненим додатком VDDK.

=item 3.

Імпортування VDDK потребує можливості, яку було додано у libvirt E<ge> 3.7.

=item 4.

Сервер VMware не повинен перебувати у режимі супроводу.

=back

=head2 VDDK: Обмеження пам'яті для служби NFC ESXi

У докладному журналі буде наведено повідомлення щодо помилок, подібні до такого:

 nbdkit: vddk[3]: error: [NFC ERROR] NfcFssrvrProcessErrorMsg:
 received NFC error 5 from server: Failed to allocate the
 requested 2097176 bytes

Така ситуація є типовою, якщо із сервером VMware відкрито декілька паралельних з'єднань.

Такі з'єднання можуть призвести до перевищення обмежень на використання ресурсів, встановлених на сервері VMware. Ви можете зменшити строгість обмежень для служби NFC редагуванням файла F</etc/vmware/hostd/config.xml>, змінивши у ньому значення параметра C<E<lt>maxMemoryE<gt>>:

 <nfcsvc>
   <path>libnfcsvc.so</path>
   <enabled>true</enabled>
   <maxMemory>50331648</maxMemory>
   <maxStreamMemory>10485760</maxStreamMemory>
 </nfcsvc>

із наступним перезапуском служби C<hostd>:

 # /etc/init.d/hostd restart

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

=head2 VDDK: "error: VixDiskLibVim: Failed to open disk using NFC. VixError 1"

Якщо ви бачите повідомлення про помилку, подібне до такого:

 nbdkit: vddk[2]: error: VixDiskLibVim: Failed to open disk using NFC. VixError 1 at 1166.

тоді причиною є вада у VDDK E<le> 6.7. Пропонуємо позбутися її встановленням найсвіжішої версії VDDK. Див. також L<https://bugzilla.redhat.com/1684075>

=head2 VDDK: АДРЕСА

Побудуйте правильну адресу C<vpx://> (для vCenter) або C<esx://> (для ESXi). Вона виглядає якось так:

 vpx://root@vcenter.example.com/Datacenter/esxi

 esx://root@esxi.example.com

Щоб перевірити, що у вас правильна адреса, скористайтеся командою L<virsh(1)> для отримання списку гостьових систем на сервері vCenter, ось так:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' list --all
 Введіть пароль root до vcenter.example.com: ***
 
  Id    Name                           State
 ----------------------------------------------------
  -     Fedora 20                      shut off
  -     Windows 2003                   shut off

Якщо ви отримуєте повідомлення про помилку «Сертифікат вузла не може бути уповноважено за допомогою вказаних сертифікатів CA» або подібне, ви можете або імпортувати сертифікат вузла vCenter, або обійти перевірку підписів додаванням прапорця C<?no_verify=1>:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' list --all

Крім того, вам слід спробувати створити дамп метаданих з будь-якої гостьової системи на вашому сервері, ось так:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' dumpxml "Windows 2003"
 <domain type='vmware'>
   <name>Windows 2003</name>
   [...]
   <vmware:moref>vm-123</vmware:moref>
 </domain>

Якщо у метаданих немає C<E<lt>vmware:morefE<gt>>, вам слід оновити libvirt.

B<Якщо наведені вище команди не дають бажаного результату, virt-v2v також не працюватиме>.  Перш ніж продовжувати, виправте вашу адресу і/або сервера vCenter VMware.

=head2 VDDK: Імпортування гостьової системи

Параметр I<-it vddk> визначає VDDK як вхідний канал передавання даних для дисків.

To import a particular guest from vCenter server or ESXi hypervisor, use a command like the following, substituting the URI and guest name:

 $ virt-v2v \
     -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' \
     -it vddk \
     -io vddk-libdir=/path/to/vmware-vix-disklib-distrib \
     "Windows 2003" \
     -o local -os /var/tmp

Other options that you might need to add in rare circumstances include I<-io vddk-compression>, I<-io vddk-config>, I<-io vddk-cookie>, I<-io vddk-file>, I<-io vddk-nfchostport>, I<-io vddk-port>, I<-io vddk-snapshot>, I<-io vddk-thumbprint> and I<-io vddk-transports>, which are all explained in the L<nbdkit-vddk-plugin(1)> documentation.  Do not use these options unless you know what you are doing.

=head2 VDDK: Thumbprint

You may specify the thumbprint of the VMware server using the I<-io vddk-thumbprint=XX:XX...> parameter.  Doing so increases security against some man-in-the-middle attacks.

Since virt-v2v 2.10, this parameter is not required.  Virt-v2v will get the thumbprint from the server if it is not specified (but the L<openssl(1)> command must be installed for this to work).

=head2 VDDK: Діагностування помилок VDDK

З бібліотекою VDDK можна працювати у режимі докладних повідомлень, у якому бібліотека (дуже) докладно повідомляє про свої дії. Скористайтеся командою «virt-v2v -v -x» у звичний спосіб, щоб увімкнути режим докладних повідомлень.

=head2 VDDK: повільне імпортування і повторювані повідомлення NBD_ClientOpen

Якщо імпортування за допомогою VDDK є повільними, а у відповідь на «virt-v2v -v -x» система показує багато повідомлень C<NBD_ClientOpen>, ви зіткнулися із видимою вадою у S<VDDK 6.7> (https://bugzilla.redhat.com/1901489). Оновлення до S<VDDK 7> має усунути причину вади.

=head1 ВХІДНІ ДАНІ З OVA VMWARE

Virt-v2v може імпортувати гостьові системи з файлів OVA (Open Virtualization Appliance) VMware. Програма може працювати лише з файлами OVA, які експортовано з vSphere VMware.

=head2 OVA: Створення OVA

Щоб створити OVA у vSphere, скористайтеся параметром «Export OVF Template» (з контекстного меню віртуальної машини або з меню «File»). Можна вибрати варіант «Folder of files» (OVF) або «Single file» (OVA), втім, працювати з OVA, ймовірно простіше. Файли OVA є просто стиснутими файлами tar, тому ви можете користуватися командами, подібними до C<tar tf VM.ova>, для перегляду їхнього вмісту.

=head3 Створення OVA за допомогою ovftool

Ви також можете скористатися пропрієтарною програмою C<ovftool> з VMware:

 ovftool --noSSLVerify \
   vi://КОРИСТУВАЧ:ПАРОЛЬ@esxi.example.com/VM \
   VM.ova

Для встановлення з'єднання із vCenter:

 ovftool  --noSSLVerify \
   vi://КОРИСТУВАЧ:ПАРОЛЬ@vcenter.example.com/НАЗВА-ДАТАЦЕНТРУ/vm/VM \
   VM.ova

Для проходження розпізнавання Active Directory з використанням назв записів нижнього рівня (C<ДОМЕН\КОРИСТУВАЧ>) вам слід замінити символ C<\> його шістнадцятковим кодом у ascii — (C<%5c>):

 vi://ДОМЕН%5cКОРИСТУВАЧ:ПАРОЛЬ@...

=head2 OVA: Імпортування гостьової системи

Щоб імпортувати файл OVA із назвою F<VM.ova>, віддайте таку команду:

 $ virt-v2v -i ova VM.ova -o local -os /var/tmp

Якщо ви експортували гостьову систему як «Folder of files» (теку з файлами), I<або> якщо ви розпакували власноруч архів tar OVA, ви можете вказати virt-v2v каталог, у якому містяться файли:

 $ virt-v2v -i ova /шлях/до/файлів -o local -os /var/tmp

=head2 OVA: Permissions issues with oVirt import

oVirt provides a graphical user interface for importing from OVA files which uses this method.  It requires that oVirt is able to access the OVA file which can be a problem if the file is owned by root (oVirt runs as a non-root user).

Пропонованим обхідним маневром є копіювання OVA до загальнодоступного каталогу, зокрема F</var/tmp>, до виконання імпортування і, можливо, змінити користувача і групу власника файла.

Докладніші відомості за цими посиланнями:

=over 4

=item *

L<https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.4/html-single/virtual_machine_management_guide/index#Importing_a_virtual_machine_from_a_host>

=item *

L<https://bugzilla.redhat.com/show_bug.cgi?id=2039597>

=back

=head1 ВХІДНІ ДАНІ З СЕРВЕРА VCENTER VMWARE

Virt-v2v може імпортувати гостьові системи з сервера vCenter VMware.

Потрібен vCenter E<ge> 5.0. Якщо vCenter не встановлено, рекомендуємо користуватися OVA або VMX (див. L</ВХІДНІ ДАНІ З OVA VMWARE> і/або L</ВХІДНІ ДАНІ З VMX VMWARE>).

Virt-v2v використовує для доступу до  vCenter libvirt, тому режимом вхідних даних має бути I<-i libvirt>. Оскільки цей режим є типовим, немає потреби вказувати його у рядку команди.

=head2 vCenter: АДРЕСА

Адреса libvirt сервера vCenter виглядає десь так:

 vpx://користувач@сервер/Datacenter/esxi

де

=over 4

=item C<користувач@>

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

Якщо ім'я користувача містить символ зворотної похилої риски (наприклад C<DOMAIN\USER>), вам доведеться скористатися маскуванням символу у адресі за допомогою послідовності C<%5c>: C<DOMAIN%5cUSER> (5c — шістнадцятковий код ASCII символу зворотної похилої риски). Ймовірно, інші символи пунктуації також доведеться маскувати.

Пароль користувача має бути надано у локальному файлів за допомогою параметра I<-ip>.

=item C<server>

це сервер vCenter (I<не> гіпервізор).

=item C<Datacenter>

це назва датацентру.

Якщо у назві міститься пробіл, замініть його екранованим кодом адрес, C<%20>.

=item C<esxi>

назва гіпервізору ESXi, на якому запущено гостьову систему.

=back

Якщо при розгортанні VMware використано підтеки, може виникнути потреба у додаванні їх до адреси. Приклад:

 vpx://користувач@сервер/Тека/Датацентр/esxi

Повний опис адрес libvirt наведено тут: L<http://libvirt.org/drvesx.html>

Типовими помилками, про які повідомляє libvirt / virsh, якщо адреса є помилковою, є такі:

=over 4

=item *

Не вдалося знайти датацентр, вказаний у «...»

=item *

Не вдалося знайти обчислювальний ресурс, вказаний у «...»

=item *

Шлях «...» не визначає обчислювального ресурсу

=item *

Шлях «...» не визначає основну систему

=item *

Не вдалося знайти основну систему, вказану у «...»

=back

=head2 vCenter: Перевірка з'єднання libvirt з vCenter

Скористайтеся командою L<virsh(1)> для отримання списку гостьових систем на сервері vCenter, ось так:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' list --all
 Введіть пароль root до vcenter.example.com: ***
 
  Id    Name                           State
 ----------------------------------------------------
  -     Fedora 20                      shut off
  -     Windows 2003                   shut off

Якщо ви отримуєте повідомлення про помилку «Сертифікат вузла не може бути уповноважено за допомогою вказаних сертифікатів CA» або подібне, ви можете або імпортувати сертифікат вузла vCenter, або обійти перевірку підписів додаванням прапорця C<?no_verify=1>:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' list --all

Крім того, вам слід спробувати створити дамп метаданих з будь-якої гостьової системи на вашому сервері, ось так:

 $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' dumpxml "Windows 2003"
 <domain type='vmware'>
   <name>Windows 2003</name>
   [...]
 </domain>

B<Якщо наведені вище команди не дають бажаного результату, virt-v2v також не працюватиме>.  Перш ніж продовжувати, виправте ваші налаштування libvirt і/або сервера vCenter VMware.

=head2 vCenter: надання пароля

Пароль vCenter (зазвичай для облікового запису root або облікового запису, який визначено C<user@> в адресі vpx) має бути записано до локального файла, і назву цього файла вказано у рядку команди virt-v2v за допомогою параметра I<-ip файл_пароля>.

=head2 vCenter: Імпортування гостьової системи

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

 $ virt-v2v -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' \
      -ip файл_пароля \
      "Windows 2003" \
   -o local -os /var/tmp

де C<Windows 2003> — назва гостьової системи (яку має бути вимкнено).

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

=head2 vCenter: Неадміністративна роль

Замість використання ролі адміністратора vCenter, ви можете створити нетипову неадміністративну роль для виконання перетворення. Втім, вам доведеться увімкнути такі права доступу (або, доки це буде доступним, старіші версії VMware, де не було деяких з цих параметрів):

=over 4

=item 1.

Створіть нетипову роль у vCenter.

=item 2.

Увімкніть (позначте) такі об'єкти:

 Datastore:
  - Browse datastore
  - Low level file operations
 
 Sessions:
  - Validate session
 
 Віртуальна машина:
   Взаємодія:
     - Керування гостьовими віртуальними машинами за допомогою програмного інтерфейсу VIX
   Приготування:
     - Дозволити доступ до дисків
     - Дозволити доступ до дисків лише для читання
     - Дозволити отримання віртуальної машини
 
 Криптографічні дії:
  - Розшифрування
  - Безпосередній доступ

=back

=head2 vCenter: Параметри брандмауера і проксі

=head3 vCenter: Порти

Якщо між сервером перетворення virt-v2v і сервером vCenter працює брандмауер, вам потрібно відкрити у ньому порт 443 (https) і порт 5480.

Порт 443 використовується для копіювання образів дисків гостьової системи. Порт 5480 використовується для опитування vCenter щодо метаданих гостьової системи.

Це лише типові номери портів. Ви можете змінити налаштування vCenter так, щоб використовувалися порти із іншими номерами. У цьому випадку вам слід вказати ці порти у адресі C<vpx://>. Див. L</vCenter: АДРЕСА> вище.

Ці порти стосуються лише перетворень virt-v2v. Ви можете відкрити інші порти для користування іншими можливостями vCenter, наприклад для інтернет-інтерфейсу користувача. Відповідні номери для vCenter наведено у інтернет-документації до VMware.

 ┌────────────┐   порт 443 ┌────────────┐        ┌────────────┐
 │   сервер   │────────────▶ сервер     │────────▶ гіпервізор │
 │перетворення│────────────▶ vCenter    │        │ ESXi       │
 │ virt-v2v   │  порт 5480 │            │        │   ┌─────┐  │
 └────────────┘            └────────────┘        │   │гість│  │
                                                 └───┴─────┴──┘

(На наведеній вище діаграмі стрілки показують напрям, у якому ініціюється з'єднання TCP, I<не> обов'язково напрям передавання даних.)

Сама програма virt-v2v не з'єднується безпосередньо із гіпервізором ESXi, де міститься гостьова система. Втім, з гіпервізором з'єднується vCenter і переспрямовує дані, тому, якщо між vCenter і його гіпервізорами працює брандмауер (мережевий екран), ймовірно, вам слід відкрити у ньому додаткові порти (визначити їхні номери вам допоможе документація щодо VMware).

Під час перетворень з vCenter пов'язані із проксі-сервером змінні середовища (C<https_proxy>, C<all_proxy>, C<no_proxy>, C<HTTPS_PROXY>, C<ALL_PROXY> і C<NO_PROXY>) буде B<проігноровано>.

=head2 vCenter: Проблеми із сертифікатами SSL/TLS

Ви можете побачити таке повідомлення про помилку:

  CURL: Error opening file: SSL: no alternative certificate subject
  name matches target host name

(Щоб побачити це повідомлення, вам слід увімкнути діагностичні повідомлення за допомогою команди «virt-v2v -v -x».)

Причиною може бути використання IP-адреси замість повноцінної назви у домені DNS для сервера vCenter, тобто використання C<vpx://vcenter.example.com/...> замість, скажімо, C<vpx://11.22.33.44/...>

Ще однією причиною проблем із сертифікатами може бути те, що FQDN сервера vCenter не відповідає IP-адресі, наприклад, якщо сервер отримав нову IP-адресу з DHCP. Щоб усунути цю проблему, вам слід змінити налаштування вашого сервера DHCP або мережі так, щоб сервер vCenter завжди отримував незмінну IP-адресу. Після цього, увійдіть до консолі адміністрування сервера vCenter за адресою C<https://vcenter:5480/>. На вкладці C<Admin> позначте пункт C<Certificate regeneration enabled> і перезавантажте сервер.

=head2 vCenter: "Out of HTTP sessions: Limited to ..."

Здається, vCenter VMware обмежує кількість сеансів HTTP і за певних обставин virt-v2v може перевищувати це значення. Ви можете скоригувати або вилучити обмеження редагуванням файла F</etc/vmware-vpx/vpxd.cfg> на сервері vCenter. Збільште значення поля C<E<lt>maxSessionCountE<gt>> або встановіть значення C<0>, щоб зняти обмеження:

 <soap>
   <maxSessionCount>0</maxSessionCount>
 </soap>

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

L<virt-v2v(1)>.

=head1 АВТОР

Richard W.M. Jones

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

Copyright (C) 2009-2025 Red Hat Inc.

