Участник:Korotyshev/Подготовка образов для OpenNebula: различия между версиями
Нет описания правки |
|||
Строка 12: | Строка 12: | ||
{{note|Все действия будут проводиться в Live-окружении [https://www.altlinux.org/Rescue Alt Regular Rescue]}} | {{note|Все действия будут проводиться в Live-окружении [https://www.altlinux.org/Rescue Alt Regular Rescue]}} | ||
# Загружаем облачный образ для opennebula <syntaxhighlight lang="bash">wget http://ftp.basealt.ru/pub/distributions/ALTLinux/images/Sisyphus/cloud/x86_64/alt-sisyphus-opennebula-x86_64.qcow2</syntaxhighlight> | # Загружаем облачный образ для opennebula <syntaxhighlight lang="bash">$ wget http://ftp.basealt.ru/pub/distributions/ALTLinux/images/Sisyphus/cloud/x86_64/alt-sisyphus-opennebula-x86_64.qcow2</syntaxhighlight> | ||
# Увеличиваем максимальный размер диска на 1G <syntaxhighlight lang="bash">qemu-img resize alt-sisyphus-opennebula-x86_64.qcow2 +1G</syntaxhighlight> | # Увеличиваем максимальный размер диска на 1G <syntaxhighlight lang="bash">$ qemu-img resize alt-sisyphus-opennebula-x86_64.qcow2 +1G</syntaxhighlight> | ||
# Запускаем qemu/kvm с нужными параметрами <syntaxhighlight lang="bash">qemu-system-x86_64 -accel kvm -machine q35 -m 3072M -drive format=qcow2,file=./alt-sisyphus-opennebula-x86_64.qcow2 -cdrom regular-rescue-latest-x86_64.iso -vga virtio -boot d</syntaxhighlight> | # Запускаем qemu/kvm с нужными параметрами <syntaxhighlight lang="bash">$ qemu-system-x86_64 -accel kvm -machine q35 -m 3072M -drive format=qcow2,file=./alt-sisyphus-opennebula-x86_64.qcow2 -cdrom regular-rescue-latest-x86_64.iso -vga virtio -boot d</syntaxhighlight> | ||
# Расширяем раздел <syntaxhighlight lang="bash">parted /dev/sda resizepart 1 100%</syntaxhighlight> | # Расширяем раздел <syntaxhighlight lang="bash"># parted /dev/sda resizepart 1 100%</syntaxhighlight> | ||
# Расширяем ext4 на увеличенном разделе <syntaxhighlight lang="bash">resize2fs /dev/sda1</syntaxhighlight> | # Расширяем ext4 на увеличенном разделе <syntaxhighlight lang="bash"># resize2fs /dev/sda1</syntaxhighlight> | ||
# Монтируем раздел вместе с proc и dev <syntaxhighlight lang="bash">mount /dev/sda1 /mnt | # Монтируем раздел вместе с proc и dev <syntaxhighlight lang="bash"># mount /dev/sda1 /mnt | ||
mount --bind /proc /mnt/proc | # mount --bind /proc /mnt/proc | ||
mount --bind /dev /mnt/dev | # mount --bind /dev /mnt/dev | ||
mount --bind /etc/resolv.conf /mnt/etc/resolv.conf</syntaxhighlight> | # mount --bind /etc/resolv.conf /mnt/etc/resolv.conf</syntaxhighlight> | ||
# Делаем chroot до точки монтирования <syntaxhighlight lang="bash">chroot /mnt /bin/sh</syntaxhighlight> | # Делаем chroot до точки монтирования <syntaxhighlight lang="bash"># chroot /mnt /bin/sh</syntaxhighlight> | ||
:: {{note|Если необходимо подключение к сети внутри окружения, перед входом в chroot необходима [[Etcnet_start|'''настройка интерфейса'''.]]}} | :: {{note|Если необходимо подключение к сети внутри окружения, перед входом в chroot необходима [[Etcnet_start|'''настройка интерфейса'''.]]}} | ||
На данном этапе доступна консоль, в которой можно сделать нужные изменения, например: | На данном этапе доступна консоль, в которой можно сделать нужные изменения, например: | ||
Обновить систему, установить утилиты nano,tmux <syntaxhighlight lang="bash">apt-get update && apt-get -y install nano tmux && apt-get clean</syntaxhighlight> | Обновить систему, установить утилиты nano,tmux <syntaxhighlight lang="bash"># apt-get update && apt-get -y install nano tmux && apt-get clean</syntaxhighlight> | ||
После завершения настройки выходим из командной оболочки, выполняем размонтирование и завершаем работу | После завершения настройки выходим из командной оболочки, выполняем размонтирование и завершаем работу | ||
<syntaxhighlight lang="bash">exit | <syntaxhighlight lang="bash"># exit | ||
umount -R /mnt | # umount -R /mnt | ||
poweroff</syntaxhighlight> | # poweroff</syntaxhighlight> | ||
== Установка системы с нуля == | == Установка системы с нуля == | ||
== Установка службы контекстуализации == | == Установка службы контекстуализации == |
Версия от 13:05, 8 февраля 2024
OpenNebula хоть и позволяет использовать ВМ с полной инсталляцией через livecd на каждом инстансе, однако всё же рассчитана на разворачивание уже установленной ОС, которая в зависимости от настроек будет загружать публичные ключи SSH, настраивать пароли локальных учетных записей, а также выполнять пользовательские скрипты и выставлять IP-адреса. Всё это возможно благодаря службе контекстуализации, которая встраивается в систему при создания образа. Подготовить образ можно двумя способами:
- Загрузить готовый cloud-образ и настроить под свои нужды; Примечание: Для OpenNebula выпускаются голые образы Альт с уже встроенной службой opennebula-context, а также с cloud-init (альтернативный инструмент инициализации системы, подробнее на отдельной странице).
- Создать голый образ диска, установить систему с livecd вместе с желаемыми пакетами, а затем подготовить его для OpenNebula;
- (Вариант для опытных пользователей) Cобрать образ вручную на базе rootfs - базовой файловой системы (в комплекте с ней не идет ядро/initrd - их нужно получать отдельно), распространяется в виде архивов (Альт поставляется в нескольких вариантах в .tar.xz) либо генерируется самостоятельно через pacstrap/debootstrap/hasher/distrobuilder;
- Внимание! Даже если формат образа поддерживается QEMU, это не означает, что его можно добавить в хранилище OpenNebula. Поддерживаются форматы RAW, QCOW2 и VMDK. Если образ не поддерживается (например .vhdx), необходимо выполнить конвертацию.
Для создания образа будут использоваться qemu-kvm и qemu-img (пакеты qemu-img qemu-kvm qemu-ui-gtk qemu-device-display-virtio-gpu)
Кастомизация готового образа
- Загружаем облачный образ для opennebula
$ wget http://ftp.basealt.ru/pub/distributions/ALTLinux/images/Sisyphus/cloud/x86_64/alt-sisyphus-opennebula-x86_64.qcow2
- Увеличиваем максимальный размер диска на 1G
$ qemu-img resize alt-sisyphus-opennebula-x86_64.qcow2 +1G
- Запускаем qemu/kvm с нужными параметрами
$ qemu-system-x86_64 -accel kvm -machine q35 -m 3072M -drive format=qcow2,file=./alt-sisyphus-opennebula-x86_64.qcow2 -cdrom regular-rescue-latest-x86_64.iso -vga virtio -boot d
- Расширяем раздел
# parted /dev/sda resizepart 1 100%
- Расширяем ext4 на увеличенном разделе
# resize2fs /dev/sda1
- Монтируем раздел вместе с proc и dev
# mount /dev/sda1 /mnt # mount --bind /proc /mnt/proc # mount --bind /dev /mnt/dev # mount --bind /etc/resolv.conf /mnt/etc/resolv.conf
- Делаем chroot до точки монтирования
# chroot /mnt /bin/sh
- Примечание: Если необходимо подключение к сети внутри окружения, перед входом в chroot необходима настройка интерфейса.
На данном этапе доступна консоль, в которой можно сделать нужные изменения, например:
Обновить систему, установить утилиты nano,tmux
# apt-get update && apt-get -y install nano tmux && apt-get clean
После завершения настройки выходим из командной оболочки, выполняем размонтирование и завершаем работу
# exit
# umount -R /mnt
# poweroff