НАЗВА
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. |