
=head1 НАЗВА

virt-p2v-make-kickstart — програма для збирання kickstart virt-p2v

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

 virt-p2v-make-kickstart [-o p2v.ks] [--proxy=http://...] сховище [сховище...]

=head1 ОПИС

L<virt-p2v(1)> перетворює фізичну машину для запуску віртуалізованою у KVM,
під керуванням libvirt, OpenStack, oVirt, Red Hat Enterprise Virtualisation
(RHEV) або одним із інших призначень, підтримку яких передбачено у
L<virt-v2v(1)>.

Kickstart — формат, який використовується у похідних від Red Hat
дистрибутивах (зокрема Fedora, Red Hat Enterprise Linux, CentOS, Scientific
Linux тощо) для опису процесу створення компакт-дисків із портативною
системою, встановлення дистрибутива, створення «варіантів» тощо. Дані у
цьому форматі зберігаються у файлі kickstart.

virt-p2v-make-kickstart збирає файл kickstart, яким можна скористатися для
збирання придатного до завантаження ISO P2V, образу портативної системи для
компакт-диска, флешки USB або образу PXE. Ця програма лише створює файл
kickstart, але на цій сторінці підручника описано деякі зі способів
використання файла kickstart.

=head1 ЗБИРАННЯ ФАЙЛА KICKSTART

Користуватися virt-p2v-make-kickstart дуже просто:

 virt-p2v-make-kickstart fedora

збере файл kickstart для Fedora. Файл kickstart називатиметься F<p2v.ks> і
зберігатиметься у поточному каталозі.

Параметрі є списком з одного або декількох сховищ. Деякі із наявних
вбудованих сховищ: C<fedora>, C<rawhide>, C<koji> або C<rhel-ВЕРСІЯ>
(наприклад C<rhel-7.1>). Ви також можете змінити адресу як параметр для
вказування на сховище. Приклад:

 virt-p2v-make-kickstart https://dl.fedoraproject.org/pub/fedora/linux/releases/21/Everything/x86_64/os/

Для керування назвою файла-результату скористайтеся параметром I<-o>. Щоб
наказати kickstart скористатися проксі-сервером або вебкешем для отримання
файлів, скористайтеся параметром I<--proxy>.

=head1 ЗБИРАННЯ ISO АБО ОБРАЗУ ДИСКА ІЗ ПОРТАТИВНОЮ СИСТЕМОЮ

Щойно у вас буде файл kickstart, ви можете скористатися L<livecd-creator(8)>
для створення образу компакт-диска із портативною системою:

 sudo livecd-creator p2v.ks

Перш ніж віддавати команду, зауважте, що вам слід, ймовірно, запустити
C<livecd-creator> в одноразовій віртуальній машині з таких причин:

=over 4

=item *

На час роботи із програмою вам слід вимкнути SELinux.

=item *

Цю програму слід запускати від імені користувача root. Також її виконання
іноді супроводжується помилками із доволі прикрими наслідками.

=item *

Ви можете створювати образи компакт-дисків портативної системи лише з тим
самим дистрибутивом, що і в основній системі. Крос-компіляція
завершуватиметься дивними повідомленнями про помилки (див., наприклад,
RHBZ#1092327).

=back

=head1 ЗБИРАННЯ ВАРІАНТА FEDORA ЗА ДОПОМОГОЮ KOJI

Це потребує прав доступу C<spin-livecd> для Koji, які зазвичай не надаються,
навіть для пакувальників Fedora. Втім, припускаючи, що у вас є відповідні
права доступу (або, наприклад, ваш власний екземпляр Koji), ви можете
зробити так:

 koji spin-livecd [--scratch] virt-p2v 1.XX.YY rawhide x86_64 p2v.ks

=over 4

=item *

Додайте параметр C<--scratch> для створення тестової збірки (рекомендовано
для тестування).

=item *

C<1.XX.YY> має збігатися із версією libguestfs

=item *

Замість C<rawhide> ви можете скористатися будь-якою іншою ціллю Koji.

=back

=head1 ЗБИРАННЯ ПРИДАТНОГО ДО ЗАВАНТАЖЕННЯ НОСІЯ USB

Скористайтеся програмою L<livecd-iso-to-disk(8)> для перетворення створеного
за наведеним вище рецептом образу ISO на запис на носії USB:

 sudo livecd-iso-to-disk livecd-p2v.iso /dev/sdX

=head1 ЗБИРАННЯ ОБРАЗУ ДЛЯ ЗАВАНТАЖЕННЯ PXE

Скористайтеся програмою C<livecd-iso-to-pxeboot> для перетворення створеного
вище образу ISO у образ для завантаження PXE.

 sudo livecd-iso-to-pxeboot livecd-p2v.iso

Ця команда створює підкаталог C<tftpboot> у поточному каталозі, який
міститиме файли, потрібні, щоб PXE завантажила virt-p2v:

 $ ls -1R tftpboot/
 tftpboot/:
 initrd0.img
 pxelinux.0
 pxelinux.cfg/
 vmlinuz0
 
 tftpboot/pxelinux.cfg:
 default

=head1 32- ЧИ 64-БІТОВА VIRT-P2V?

Virt-p2v може перетворювати будь-які 32- або 64-бітові гостьові системи,
незалежно від того, чи є сама virt-p2v зібраною як 32- або 64-бітовою
програмою. Єдиним обмеженням є те, що 64-бітову версію virt-p2v не може бути
запущено на 32-бітовому обладнанні.

Застаріла версія virt-p2v 0.9 завжди збиралася як 32-бітовий (i686) образ
ISO. Це означало, що компакт-диск із такою системою могло бути завантажено
на будь-якому 32- або 64-бітовому обладнанні архітектури i686 або x86-64, і
вона могла перетворювати будь-які гостьові системи. Застарілий образ ISO
virt-p2v, що постачався Red Hat, було засновано на Red Hat Enterprise Linux
(RHEL) 6.

Оскільки у RHEL 7 було припинено підтримку 32-бітових машин, поточну версію
virt-p2v на RHEL може бути зібрано лише у 64-бітовій версії. Цю систему не
може бути запущено на застарілому обладнанні 32-бітової архітектури.

Образи ISO virt-p2v для Fedora типово збираються для 32-бітової архітектури,
отже, подібно до застарілої версії на основі RHEL 6, virt-p2v 0.9, їх можна
завантажувати на будь-якому обладнанні.

=head1 ТЕСТУВАННЯ VIRT-P2V ЗА ДОПОМОГОЮ QEMU

=head2 ТЕСТУВАННЯ ISO P2V ЗА ДОПОМОГОЮ QEMU

Ви можете скористатися qemu для тестового завантаження образу ISO P2V:

 qemu-kvm -m 1024 -hda /tmp/guest.img -cdrom /tmp/livecd-p2v.iso -boot d

Зауважте, що C<-hda> є (віртуальною) системою, яку ви хочете перетворити (з
тестовою метою). Нею може бути гостьова система будь-якого типу,
підтримуваного у L<virt-v2v(1)>, зокрема Windows або Red Hat Enterprise
Linux.

=head2 ТЕСТУВАННЯ ПІДТРИМКИ PXE ЗА ДОПОМОГОЮ QEMU

=over 4

=item *

Розпакуйте каталог tftpboot до F</tmp> (щоб її було показано як
F</tmp/tftpboot>).

=item *

Скопіюйте F<pxelinux.0> і F<ldlinux.c32> з syslinux (зазвичай з
F</usr/share/syslinux>) до F</tmp/tftpboot>.

=item *

Скоригувати рядок C<APPEND> у F</tmp/tftpboot/pxelinux.cfg/default>, якщо
потрібно. Див. L<virt-p2v(1)/НАЛАШТУВАННЯ КОМАНДНОГО РЯДКА ЯДРА>.

=item *

Запустіть qemu ось так, щоб програма працювала як сервер TFTP і BOOTP,
емулюючи завантаження з мережі:

 qemu-kvm \
     -m 4096 -hda /tmp/guest.img \
     -boot n \
     -netdev user,id=unet,tftp=/tmp/tftpboot,bootfile=/pxelinux.0 \
     -device virtio-net-pci,netdev=unet \
     -serial stdio

Зауважте, що це потребує значно більше пам'яті, оскільки образ PXE
завантажується до пам'яті. Крім того, через те, що сервер TFTP qemu є дуже
повільним, а образ PXE virt-p2v є дуже великим, образ може, як здається»
«зависати» після запуску pxelinux.

=back

=head1 ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ

Встановити нові пакунки можна за допомогою параметра
I<--install>. Встановлення нових пакунків може бути корисним для створення
повнофункціонального диска virt-p2v із додатковими інструментами для
діагностики та усування вад. Як аргумент параметра слід вказати список
пакунків, відокремлених комами. Приклад:

 virt-p2v-make-kickstart [...] --install tcpdump,traceroute

=head1 ДОДАВАННЯ ПРОФІЛЮ SSH

Ви можете вставити файл профілю SSH (закритий ключ) до kickstart, а отже до
ISO, за допомогою параметр I<--inject-ssh-identity>. Зауважте, що ви I<не
можете> вставити ключ після збирання образу ISO.

Спочатку створіть пару ключів. Пароль до пари ключів має бути порожнім:

 ssh-keygen -t rsa -N '' -f id_rsa

Ця команда створить закритий ключ (C<id_rsa>) і відкритий ключ
(C<id_rsa.pub>). Відкритий ключ слід дописати до файла C<authorized_keys> на
сервері перетворення virt-v2v (зазвичай, до файла
C</root/.ssh/authorized_keys>).

Закритий ключ має бути додано до файла kickstart, а потім відкинуто:

 virt-p2v-make-kickstart [...] --inject-ssh-identity id_rsa
 rm id_rsa

Образ ISO далі може бути зібрано на основі kickstart у звичний спосіб
(див. вище), і він міститиме вбудований профіль SSH (F</var/tmp/id_rsa>).

При завантаженні virt-p2v вкажіть адресу вставленого файла ось так:

 │         Користувач: [root____________________________] │
 │                                                        │
 │          Пароль: [      <не заповнюйте>                 ] │
 │                                                        │
 │  Адреса профілю SSH: [file:///var/tmp/id_rsa_______] │

або, якщо використовується командний рядок ядра, додайте:

 p2v.identity=file:///var/tmp/id_rsa

Докладніший опис наведено у розділі L<virt-p2v(1)/ПРОФІЛІ SSH>.

=head1 ПАРАМЕТРИ

=over 4

=item B<--help>

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

=item B<--inject-ssh-identity> id_rsa

Додати файл профілю SSH (закритий ключ) до kickstart. Див. L</ДОДАВАННЯ
ПРОФІЛЮ SSH> вище.

=item B<--install> пакунок,пакунок,...

Додати додаткові пакунки до розділу C<%packages>
kickstart. Див. L</ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ> вище.

=item B<-o> ВИВЕДЕННЯ

=item B<--output> ВИВЕДЕННЯ

Записати kickstart до C<ВИВЕДЕННЯ>. Якщо не вказано, буде типово використано
F<p2v.ks> у поточному каталозі.

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

Наказати kickstart використати для отримання даних проксі-сервер або вебкеш.

=item B<-v>

=item B<--verbose>

Увімкнути режим докладних повідомлень. Скористайтеся цим параметром, якщо
вам потрібно діагностувати джерело проблеми зі скриптом або створити
докладний звіт щодо вади у бібліотеці.

=item B<-V>

=item B<--version>

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

=back

=head1 ФАЙЛИ

=over 4

=item F<$libdir/virt-p2v/virt-p2v.xz>

Виконуваний файл L<virt-p2v(1)>, який копіюється до файла kickstart.

Розташування виконуваного файла можна змінити за допомогою встановлення
відповідного значення змінної середовища C<VIRT_P2V_DATA_DIR>.

=item F<$datadir/virt-p2v/issue>

=item F<$datadir/virt-p2v/launch-virt-p2v.in>

=item F<$datadir/virt-p2v/p2v.ks.in>

=item F<$datadir/virt-p2v/p2v.service>

Різноманітні файли даних, які використовуються для створення kickstart.

Розташування цих файлів можна змінити за допомогою встановлення відповідного
значення змінної середовища C<VIRT_P2V_DATA_DIR>.

=back

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

=over 4

=item C<VIRT_P2V_DATA_DIR>

Каталог, де virt-p2v-make-kickstart шукатиме файли даних і виконуваний файл
virt-p2v (див. L</ФАЙЛИ> вище). Якщо не встановлено, буде використано
вказане під час компіляції місце.

=back

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

L<virt-p2v(1)>, L<virt-p2v-make-disk(1)>, L<virt-v2v(1)>,
L<livecd-creator(8)>, L<livecd-iso-to-disk(8)>, L<http://libguestfs.org/>.

=head1 АВТОРИ

Richard W.M. Jones L<http://people.redhat.com/~rjones/>

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

Copyright (C) 2009-2019 Red Hat Inc.

