1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openeuler-stratovirt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
quickstart.md 4.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 4 месяцев назад 123faeb

Начало работы со StratoVirt

1. Подготовка

  • Хостовая ОС

    Вы можете запускать StratoVirt на платформах x86_64 и aarch64.

    Также StratoVirt основан на KVM, поэтому убедитесь, что у вас установлен модуль KVM на вашей платформе.

  • Права доступа

    У вас должны быть права на чтение и запись в /dev/kvm. Если нет, вы можете получить их с помощью:

    $ sudo setfacl -m u:${USER}:rw /dev/kvm

2. Получение бинарного файла StratoVirt

StratoVirt предлагается openEuler 20.09 или более поздней версией. Вы можете установить его напрямую через yum.

$ sudo yum install stratovirt

Теперь вы можете найти бинарный файл StratoVirt по пути: /usr/bin/stratovirt.

Если вы хотите собрать StratoVirt самостоятельно, ознакомьтесь с build_guide.

3. Запуск StratoVirt

С бинарным файлом StratoVirt (установленным через yum или собранным из исходного кода) мы можем загрузить гостевую Linux-машину. Сейчас StratoVirt предоставляет два типа машин: microvm и standard_vm («q35» на платформе x86_64 и «virt» на платформе aarch64). В качестве быстрого старта мы покажем, как запустить виртуальную машину с microvm.

Сначала вам понадобится двоичный файл ядра Linux в формате PE и образ файловой системы ext4 (в качестве rootfs).

  • Источник загрузки для x86_64: ядро и rootfs.
  • Источник загрузки для aarch64: ядро и rootfs.

Или получите ядро и rootfs с помощью оболочки:

arch=`uname -m`
dest_kernel="vmlinux.bin"
dest_rootfs="rootfs.ext4"
image_bucket_url="https://repo.openeuler.org/openEuler-22.03-LTS/stratovirt_img"

if [ ${arch} = "x86_64" ] || [ ${arch} = "aarch64" ]; then
    kernel="${image_bucket_url}/${arch}/vmlinux.bin"
    rootfs="${image_bucket_url}/${arch}/openEuler-22.03-LTS-stratovirt-${arch}.img.xz"
else
    echo "Cannot run StratoVirt on ${arch} architecture!"
    exit 1
fi

echo "Downloading $kernel..."
wget ${kernel} -O ${dest_kernel} --no-check-certificate

echo "Downloading $rootfs..."
wget ${rootfs} -O ${dest_rootfs}.xz --no-check-certificate
xz -d ${dest_rootfs}.xz

echo "kernel file: ${dest_kernel} and rootfs image: ${dest_rootfs} download over."

Запустите гостевую Linux-машину с помощью StratoVirt:

socket_path=`pwd`"/stratovirt.sock"
kernel_path=`pwd`"/vmlinux.bin"
rootfs_path=`pwd`"/rootfs.ext4"

# Убедитесь, что QMP можно создать.
rm -f ${socket_path}

# Запустите Linux VM с типом машины «microvm» с помощью StratoVirt.
/usr/bin/stratovirt \
    -machine microvm \
    -kernel ${kernel_path} \
    -smp 1 \
    -m 1024 \
    -append "console=ttyS0 pci=off reboot=k quiet panic=1 root=/dev/vda" \
    -drive file=${rootfs_path},id=rootfs,readonly=off,direct=off \
    -device virtio-blk-device,drive=rootfs,id=rootfs \
    -qmp unix:${socket_path},server,nowait \
    -serial stdio

Вы должны увидеть последовательный вывод в stdio, предлагающий вам войти в гостевую машину. Если вы использовали наш образ openEuler-22.03-LTS-stratovirt.img, вы можете войти как root, используя пароль openEuler12#$.

Если вы хотите завершить работу гостевой машины, использование команды reboot внутри гостевой машины фактически приведёт к выключению StratoVirt. Это связано с тем, что StratoVirt не реализовал управление питанием гостя в типе microvm.

Если вы хотите узнать больше информации о запуске StratoVirt, перейдите в Руководство по настройке.

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/openeuler-stratovirt.git
git@gitlife.ru:oschina-mirror/openeuler-stratovirt.git
oschina-mirror
openeuler-stratovirt
openeuler-stratovirt
master