Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
24.2. Автоматическое создание образа
Livemedia-creator автоматизирует процесс создания установочного образа. Для этого потребуется установленная система Red Hat Enterprise Linux и заранее подготовленный файл кикстарта (см. Глава 23, Кикстарт-установка).
24.2.1. Livemedia-creator
Процесс создания установочного образа в livemedia-creator включает два этапа: сначала создается временный образ дистрибутива Red Hat Enterprise Linux в соответствии с настройками в файле кикстарта, затем livemedia-creator создает загрузочный образ, с которого можно запустить установку.
Стандартное поведение можно корректировать с помощью дополнительных параметров — например, ограничиться только созданием файла образа или, наоборот, пропустить первый этап и сразу перейти к записи готового образа.
Важно
В настоящее время создание пользовательских образов в livemedia-creator поддерживается только на платформах MD64 и Intel 64 (x86_64).
Red Hat официально поддерживает только создание образов Red Hat Enterprise Linux 7. При необходимости можно создать образы предыдущих версий, но их работоспособность не гарантируется.
Раздел 24.2.4, «Примеры создания образов» содержит пример создания образа с помощью livemedia-creator. Если в системе установлен пакет lorax, дополнительную информацию можно найти на справочной странице
livemedia-creator(1)
и в файле README.livemedia-creator
в каталоге /usr/share/doc/lorax-версия/
(где версия — номер версии пакета lorax). Для просмотра доступных параметров выполните livemedia-creator --help
.
24.2.2. Установка livemedia-creator
Livemedia-creator входит в состав пакета lorax. Чтобы его установить, выполните в режиме
root
:
#
yum install lorax
Помимо lorax надо будет установить несколько других пакетов. Они не помогают решить зависимости lorax и не устанавливаются автоматически, поэтому их надо будет установить отдельно:
- virt-install — предоставляет инструменты для создания виртуальных машин. Используется, если не задан параметр
--no-virt
. - libvirt, qemu-kvm, virsh и другие средства виртуализации — необходимы для нормальной работы virt-install. Более подробно о виртуализации рассказывается в руководстве по виртуализации Red Hat Enterprise Linux 7.
- anaconda — если задан параметр
--no-virt
, на первом этапе создания установочного образа используется программа установки Red Hat Enterprise Linux.
Обсуждение других приложений выходит за рамки этого руководства. Если при запуске livemedia-creator оказалось, что необходимый пакет не установлен, будет показано сообщение со списком обязательных пакетов.
24.2.3. Образцы файла кикстарта
Установочный образ создается с учетом параметров в файле кикстарта. При установке пакета lorax в каталог
/usr/share/doc/lorax-версия/
будут установлены шаблоны, на основе которых можно создать собственный файл.
Образцы:
rhel7-minimal.ks
— минимальная конфигурация без графического окружения, включающая группу@core
, ядро, GRUB2 и другие необходимые компоненты. Будет создан только пользовательroot
.rhel7-livemedia.ks
— комплект с графическим окружением. Будут созданы пользователиroot
иliveuser
.
На основе этих шаблонов можно создать свой файл кикстарта. При этом как минимум надо будет изменить расположение источника установки — откройте файл в текстовом редакторе (например, vim) и откорректируйте строку
url
.
Важно
Не изменяйте исходный шаблон. Скопируйте его в другой каталог и используйте копию как рабочий вариант.
Примечание
Команда
url
должна содержать ссылки на официальные репозитории Red Hat. Работоспособность файла при добавлении других репозиториев не гарантирована.
24.2.4. Примеры создания образов
В этой секции рассматриваются наиболее распространенные примеры использования livemedia-creator. Полный список параметров можно просмотреть на справочной странице
livemedia-creator(1)
или выполнив livemedia-creator(1)
.
24.2.4.1. Создание Live-образа с помощью virt-install
Livemedia-creator использует virt-install для создания временной виртуальной машины, где будет запущен процесс создания образа. Для создания Live-образа потребуется файл кикстарта и загрузочный ISO-образ с программой Anaconda (см. Раздел 2.2, «Создание установочного USB-носителя»).
Для создания Live-образа с помощью virt-install надо выполнить команду:
#
livemedia-creator --make-iso --iso=/path/to/boot.iso --ks=/path/to/valid/kickstart.ks
Укажите действительные пути к минимальному загрузочному образу и файлу кикстарта.
Дополнительные параметры:
--vnc vnc
— передается параметру virt-install--graphics
и позволяет наблюдать за процессом установки, подключившись из клиента VNC, например TigerVNC (см. Глава 22, Установка с помощью VNC).--ram x
— размер ОЗУ виртуальной машины в мегабайтах.--vcpus x
— число процессоров виртуальной машины.
24.2.4.2. Создание Live-образа с помощью Anaconda
Anaconda предлагает собственные инструменты для создания Live-образов. Процесс состоит из двух этапов: сначала создается временный образ диска с установкой дистрибутива Red Hat Enterprise Linux, затем на его основе создается загрузочный ISO-образ.
Предупреждение
Такой способ создания образа предполагает определенный риск в силу использования не специально созданной виртуальной машины, а программы установки физической системы. Поведение этого процесса может оказаться непредсказуемым, поэтому во избежание потери данных в рабочей системе для этой цели следует создать виртуальную машину и там создать образ, выполнив livemedia-creator с параметром
--no-virt
.
Важно
Прежде чем приступить, убедитесь, что SELinux работает в режиме предупреждений или отключен (см. руководство по SELinux в Red Hat Enterprise Linux 7).
Для создания установочного образа с помощью Anaconda используется параметр
--no-virt
:
#
livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --no-virt
24.2.4.3. Создание файла образа
С помощью livemedia-creator можно завершить первый этап, создав файл образа. Программа остановится после создания файла на временном диске или в локальной файловой системе. Полученный образ можно смонтировать, чтобы убедиться в отсутствии ошибок.
Существует несколько способов остановки процесса после первого этапа. Например, это можно сделать с помощью аргумента
--image-only
:
#
livemedia-creator --make-iso --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso --image-only
Или использовать
--make-disk
вместо --make-iso
:
#
livemedia-creator --make-disk --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
Наконец,
--make-fsimage
позволит создать локальный образ:
#
livemedia-creator --make-fsimage --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
Примечание
Все перечисленные выше команды принимают аргумент
--no-virt
По умолчанию образ будет сохранен в
/var/tmp/
. Чтобы изменить путь, добавьте параметр --tmp /путь/
.
24.2.4.4. Создание загрузочного ISO
С помощью livemedia-creator можно создать загрузочный ISO, взяв за основу подготовленный образ (см. Раздел 24.2.4.3, «Создание файла образа»).
Для создания ISO-файла из дискового образа служит параметр
--disk-image
:
#
livemedia-creator --make-iso --disk-image=/path/to/disk/image.img
Для создания ISO-файла из образа в файловой системе служит параметр
--fs-image
:
#
livemedia-creator --make-iso --fs-image=/path/to/filesystem/image.img
24.2.4.5. Создание образа виртуальной машины
Livemedia-creator --make-appliance создаст образ виртуальной машины (образ диска с готовой схемой разделов) из шаблона и XML-файл с описанием.
#
livemedia-creator --make-appliance --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
Созданные файлы по умолчанию будут помещены в
/var/tmp/
. Этот путь можно переопределить при помощи параметра --resultdir
.
Дополнительные параметры:
--app-name имя
— имя образа. В XML-файле имя будет отмечено тегом<name>
. По умолчанию равноNone
.--app-template /путь/к/template.tmpl
— путь к шаблону. По умолчанию используется/usr/share/lorax/appliance/libvirt.tmpl
.--app-file /путь/к/file.xml
— путь к файлу XML. По умолчанию используетсяappliance.xml
.
24.2.4.6. Создание образа машины Amazon
Чтобы создать AMI (Amazon Machine Image) для Amazon EC2 (Elastic Compute Cloud), используйте параметр
--make-ami
.
#
livemedia-creator --make-ami --ks=/path/to/valid/kickstart.ks --iso=/path/to/boot.iso
По умолчанию созданный файл
ami-root.img
будет сохранен в /var/tmp/
. Путь можно переопределить при помощи параметра --resultdir
.
24.2.4.7. Дополнительные параметры
Далее перечислены дополнительные параметры, которые могут использоваться в разобранных выше примерах.
--keep-image
— отменяет удаление временного образа, созданного на первом этапе установки. Файл образа со случайным именем наподобиеdiskgU42Cq.img
по умолчанию хранится в каталоге/var/tmp/
.--image-only
— останавливает процесс после первого этапа, в ходе которого будет создан временный образ. Это позволит значительно сэкономить время при тестировании изменений в файле кикстарта, полностью отменив продолжительный второй этап.--image-name имя
— имя временного образа. По умолчанию будет выбрано случайным образом (например,disk1Fac8G.img
).--tmp /путь/
— путь к временному каталогу. По умолчанию образ будет сохранен в/var/tmp/
. Необходимо указать путь к существующему каталогу.--resultdir /путь/
— путь к новому каталогу, где будет располагаться полученный ISO-образ. По умолчанию файл будет сохранен в/var/tmp/
. Этот параметр не оказывает влияния на расположение временного образа — для этой цели служит--tmp
.--logfile /путь/
— расположение журнала.
24.2.5. Диагностика livemedia-creator
В этой секции обсуждаются проблемы, с которыми может столкнуться пользователь в ходе работы livemedia-creator. Если решение здесь не приведено, проверьте журналы, которые создаются в том же каталоге, откуда была запущена программа, или в каталоге, заданном с помощью
--logfile
. Одни журналы, такие как livemedia.log
и program.log
, создаются каждый раз, другие определяются параметрами команды — например, при добавлении --no-virt
файл virt-install.log
не создается, а журналы будут располагаться в каталоге anaconda/
.
Параметр
--image-only
может помочь при поиске ошибок, остановив процесс после первого этапа, в ходе которого будет создан временный образ. Полученный образ можно смонтировать и проверить его содержимое. При запуске команды с параметром --keep-image
будут завершены оба этапа, но временный образ не будет удаляться.
--vnc
позволяет подключиться к виртуальной машине и наблюдать за процессом установки (см. Глава 22, Установка с помощью VNC).
24.2.5.1. Установка виртуальной машины зависла
Если процесс установки виртуальной машины завис по какой-то причине, livemedia-creator не сможет продолжить работу. В этой ситуации можно принудительно прервать работу программы или остановить виртуальную машину. После остановки гостевой системы livemedia-creator удалит временные файлы и продолжит выполнение.
Ниже рассматривается порядок остановки виртуальной машины.
Процедура 24.1. Остановка временной виртуальной машины
- Выполните команду virsh для просмотра списка виртуальных машин.
#
virsh list --all
Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut offИмя временной виртуальной машины начинается сLiveOS
. - Чтобы остановить машину, выполните
virsh destroy имя
.#
virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7
Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed
24.2.5.2. Установка виртуальной машины прервалась
Если процесс установки прервался на первой стадии из-за сбоя оборудования, отключения питания или по запросу пользователя, прежде чем начать его заново, надо удалить временный образ и виртуальную машину.
Последовательность действий можно корректировать в зависимости от ситуации. Например, при восстановлении после системного сбоя виртуальную машину не требуется останавливать — надо лишь удалить ее определение, а шаги 4-5 необходимы только для очистки временных файлов livemedia-creator.
Процедура 24.2. Удаление временных образов и виртуальных машин
- Выполните команду virsh для просмотра списка виртуальных машин.
#
virsh list --all
Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut offИмя временной виртуальной машины начинается сLiveOS
. - Чтобы остановить машину, выполните
virsh destroy имя
.#
virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7
Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed virsh undefine имя
удаляет временную виртуальную машину.#
virsh undefine LiveOS-2a198971-ba97-454e-a056-799f453e1bd7
Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 has been undefined- Найдите точное место монтирования временной файловой системы. Обычно она подключается в
/var/tmp/lorax.imgutils
(с шестью случайными знаками в конце строки).#
findmnt -T /var/tmp/lorax.imgutils*
TARGET SOURCE FSTYPE OPTIONS /var/tmp/lorax.imgutils.bg6iPJ /dev/loop1 iso9660 ro,relatimeОтключите файловую систему:#
umount /var/tmp/lorax.imgutils.bg6iPJ
- Определите точное имя временного образа в
/var/tmp
. Имя файла будет показано в начале процесса установки, по умолчанию генерируется случайным образом, но может быть изменено с помощью--image-name
.2013-10-30 09:53:03,161: disk_size = 5GB 2013-10-30 09:53:03,161: disk_img = /var/tmp/diskQBkzRz.img 2013-10-30 09:53:03,161: install_log = /home/pbokoc/lorax/virt-install.log mount: /dev/loop1 is write-protected, mounting read-only
В этом примере временный образ расположен в/var/tmp/diskQBkzRz.img
.Если исходные сообщения не удалось найти, выведите список файлов в/var/tmp
, имена которых содержат словоdisk
:#
ls /var/tmp/ | grep disk
diskQBkzRz.imgУдалите найденный образ:#
rm -f /var/tmp/diskQBkzRz.img
После этого можно заново запустить установку с помощью virt-install.
24.2.5.3. Ошибка установки при наличии --no-virt
При сбое процесса установки, запущенного с параметром
--no-virt
, надо выполнить сценарий anaconda-cleanup
(устанавливается в составе пакета anaconda и расположен в /usr/bin/
).
Выполните сценарий в режиме root:
#
anaconda-cleanup