Подготовка образов для KVM/LibVirt

В качестве примера будет использован образ Ubuntu 16.04: подготовка рабочего окружения, настройка необходимых параметров, сборка и загрузка образа в облачный сервис. Также будут рассмотрены необходимые шаги для подготовки образа с полной совместимостью со всеми дополнительными возможностями сервиса «Виртуальное приватное облако». В качестве инструмента для сборки образа мы будем использовать diskimage-builder. Это набор компонентов для подготовки образов операционных систем, файловых систем, RAM-дисков с открытым исходным кодом, поддерживаемый сообществом OpenStack. Инструмент поддерживает создание образов большинства распространенных дистрибутивов GNU/Linux: Centos Debian Fedora RHEL Ubuntu Gentoo OpenSUSE По умолчанию diskimage-builder подготавливает образ cloud-версии операционной системы, поэтому в образе будут присутствовать пакеты cloud-init и cloud-utils, необходимые для автоматической настройки системы в облаке. Создание образа Ubuntu 16.04 Мы будем готовить образ на машине с ОС Ubuntu 14.04. Для начала установим необходимые зависимости: 1 2 sudo apt update sudo apt -y install python-pip curl Затем установим diskimage-builder: 1 sudo pip install diskimage-builder Создадим базовые директории для работы: 1 mkdir -p ~/diskimage-builder/{images,elements} Для настройки diskimage-builder нам необходимо указать несколько дополнительных параметров, значение которых хранится непосредственно в переменных окружения командной оболочки (таким образом, вы можете указывать их в командной строке): ARCH=“amd64” — архитектура образа. BASE_ELEMENTS=“ubuntu bootloader cloud-init-datasources” — здесь мы укажем используемые элементы diskimage-builder. Элементы представляют собой набор bash-скриптов, которые выполняют все рутинные действия по подготовке и изменению образа. Наиболее важным для нас является элемент ubuntu, который скачает и распакует стандартный официальный образ дистрибутива, проведет установку требуемых пакетов и обновления системы до актуального состояния внутри образа при помощи утилиты chroot, и соберет все обратно в образ, готовый к использованию. Элемент bootloader устанавливает загрузчик (в нашем случае GRUB2) в подготавливаемый образ системы, а cloud-init-datasources передаёт список источников данных для утилиты cloud-init, которая необходима для первоначальной настройки операционной системы при запуске. DIB_CLOUD_INIT_DATASOURCES=“ConfigDrive, Ec2” — источники данных для элемента cloud-init-datasources. DIB_RELEASE=“xenial” — версия операционной системы, на базе которой мы будем создавать образ. IMAGE_PATH="~/diskimage-builder/images/ubuntu-16.04" — имя и путь для образа. Сборка образа осуществляется с помощью команды: ...

5 листопада 2021 · 10 хвилин · 2092 слів · dimetrius

Заметки по openstack

Как узнать каким процессом qemu запущен инстанс 1 2 ps axu|grep <instance_id> lsof |grep <process_pid>|grep qemu-system В ответ можем получить что-то похожее 1 2 3 4 5 6 7 $ sudo lsof |grep 13491|grep qemu-system qemu-syst 13491 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted) qemu-syst 13491 13502 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted) qemu-syst 13491 13522 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted) qemu-syst 13491 13523 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted) qemu-syst 13491 13531 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted) qemu-syst 13491 20867 libvirt-qemu txt REG 0,27 8466464 25908 /usr/bin/qemu-system-x86_64 (deleted)

8 вересня 2020 · 1 хвилина · 100 слів · dimetrius