Хостовая ОС
Вы можете запускать StratoVirt на платформах x86_64 и aarch64.
Также StratoVirt основан на KVM, поэтому убедитесь, что у вас установлен модуль KVM на вашей платформе.
Права доступа
У вас должны быть права на чтение и запись в /dev/kvm
. Если нет, вы можете получить их с помощью:
$ sudo setfacl -m u:${USER}:rw /dev/kvm
StratoVirt предлагается openEuler 20.09 или более поздней версией. Вы можете установить его напрямую через yum.
$ sudo yum install stratovirt
Теперь вы можете найти бинарный файл StratoVirt по пути: /usr/bin/stratovirt
.
Если вы хотите собрать StratoVirt самостоятельно, ознакомьтесь с build_guide.
С бинарным файлом StratoVirt (установленным через yum или собранным из исходного кода) мы можем загрузить гостевую Linux-машину. Сейчас StratoVirt предоставляет два типа машин: microvm и standard_vm («q35» на платформе x86_64 и «virt» на платформе aarch64). В качестве быстрого старта мы покажем, как запустить виртуальную машину с microvm.
Сначала вам понадобится двоичный файл ядра Linux в формате PE и образ файловой системы ext4 (в качестве 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 )