Scroll to navigation

virt-p2v-make-kickstart(1) Virtualization Support virt-p2v-make-kickstart(1)

НАЗВА

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

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

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

ОПИС

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

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

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

 virt-p2v-make-kickstart fedora

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

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

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

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

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

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

 sudo livecd-creator p2v.ks

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

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

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

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

 koji spin-livecd [--scratch] virt-p2v 1.XX.YY rawhide x86_64 p2v.ks
  • Додайте параметр "--scratch" для створення тестової збірки (рекомендовано для тестування).
  • "1.XX.YY" має збігатися із версією libguestfs
  • Замість "rawhide" ви можете скористатися будь-якою іншою ціллю Koji.

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

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

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

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

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

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

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

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

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, їх можна завантажувати на будь-якому обладнанні.

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

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

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

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

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

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

  • Розпакуйте каталог tftpboot до /tmp (щоб її було показано як /tmp/tftpboot).
  • Скопіюйте pxelinux.0 і ldlinux.c32 з syslinux (зазвичай з /usr/share/syslinux) до /tmp/tftpboot.
  • Скоригувати рядок "APPEND" у /tmp/tftpboot/pxelinux.cfg/default, якщо потрібно. Див. "НАЛАШТУВАННЯ КОМАНДНОГО РЯДКА ЯДРА" in virt-p2v(1).
  • Запустіть 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПАРАМЕТРИ

--help
Показати довідкове повідомлення.
--inject-ssh-identity id_rsa
Додати файл профілю SSH (закритий ключ) до kickstart. Див. "ДОДАВАННЯ ПРОФІЛЮ SSH" вище.
--install пакунок,пакунок,...
Додати додаткові пакунки до розділу %packages kickstart. Див. "ДОДАВАННЯ ДОДАТКОВИХ ПАКУНКІВ" вище.
-o ВИВЕДЕННЯ
--output ВИВЕДЕННЯ
Записати kickstart до "ВИВЕДЕННЯ". Якщо не вказано, буде типово використано p2v.ks у поточному каталозі.
--proxy АДРЕСА
Наказати kickstart використати для отримання даних проксі-сервер або вебкеш.
-v
--verbose
Увімкнути режим докладних повідомлень. Скористайтеся цим параметром, якщо вам потрібно діагностувати джерело проблеми зі скриптом або створити докладний звіт щодо вади у бібліотеці.
-V
--version
Показати дані щодо версії і завершити роботу.

ФАЙЛИ

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

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

$datadir/virt-p2v/issue
$datadir/virt-p2v/launch-virt-p2v.in
$datadir/virt-p2v/p2v.ks.in
$datadir/virt-p2v/p2v.service
Різноманітні файли даних, які використовуються для створення kickstart.

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

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

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

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

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

АВТОРИ

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

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

Copyright (C) 2009-2019 Red Hat Inc.

LICENSE

BUGS

To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

When reporting a bug, please supply:

  • The version of libguestfs.
  • Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
  • Describe the bug accurately and give a way to reproduce it.
  • Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.
2019-02-07 libguestfs-1.40.2