LINUX.ORG.RU
ФорумAdmin

Про qemu-kvm виртуальную машину без libvirt

 , ,


1

4

Расскажите пожалуйста про цикл жизни виртуалка qemu kvm без участия libvirt. Запуск, работа, выключение, сигналы, пермишены и прочее. От какого юзера как запускать, куда какие разрешения нужны. Помогите составить скрипт запуска. Речь про виртуальную машину с windows 7 внутри и проброшенное в эту машину железо. При попытке выдать виртуалке хост-железо сыпется libvirt, так что надо попробовать обойтись.

Спасибо.
ubuntu 16.04
libvirtd падает при попытке пробросить железо в виртуальную машину видяха к пробросу подготовлена. Выделен отдельный ssd под венду.

0. пермишены
1. строка запуска
...
N. выключение

★★★★★

Последнее исправление: targitaj (всего исправлений: 2)

Что конкретно ты от нас хочешь-то?

Запуск, работа, выключение, сигналы, пермишены и прочее. От какого юзера как запускать, куда какие разрешения нужны.

0. пермишены
1. строка запуска
...
N. выключение

0. пермишены
1. строка запуска

Расскажите пожалуйста про цикл жизни виртуалка qemu kvm без участия libvirt.

0. не запущена
1. запущена
0. не запущена
...

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от t184256

Рассказ по циклу жизни виртуалки без использования либвирт. Ну или ссылку на такой рассказ.

targitaj ★★★★★
() автор топика
Ответ на: комментарий от targitaj

Ну давай развернусь от души, че уж. NVIDIA на 01:00, максимум байт:

#!/bin/sh

exec qemu-system-x86_64 -name -nodefaults -nodefconfig -m 16384 \
        -machine type=q35,accel=kvm -enable-kvm \
        -smp 6,sockets=1,cores=3,threads=2 \
        -drive if=pflash,format=raw,readonly,file=path/to/ovmf_code_x64.bin \
        -drive if=pflash,format=raw,file=path/to/ovmf_vars_x64.bin \
        -device vfio-pci,host=01:00.0,multifunction=on \
        -device vfio-pci,host=01:00.1 \
        -vga none -nographic \
        <specify where to boot from>

Для винды и драйверов последних лет еще полезен.

-cpu host,-hypervisor,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=1234567890ab \

Полюбас оловина лишняя. Достаточно?

Если капец как хочется раздуть скрипт лишь бы раздуть, то можно добавить device unbinding, подготовку hugepages, раздачу прав на устройства chgrp/chmod или генерацию/применение соответствующих правил для udev, какой-нибудь наворот с qemu-monitor, установку сервиса для systemd, озвучку старта и остановки и паровозик из sl. Только вот нафейхоа это пихать в один скрипт, выдумывать какой-то «цикл жизни» и допытываться с ним до ЛОРа — выше моего понимания. Хочешь запустить виртуалку — запусти ее.

t184256 ★★★★★
()
Ответ на: комментарий от targitaj

Большинство ссылок прямо в заметке. Отдельно отмечу:

Часть параметров там скорее всего лишняя, особенно про usb. Позже с raw-диска переехал на qcow2 (https://blogs.igalia.com/berto/2015/12/17/improving-disk-io-performance-in-qe...) чтобы снапшотить винду (insider preview легко может наглухо сломаться после обновления) + прикрутил нормальное определение и подключение геймпадов.

Со временем проблемы со звуком через hdmi видяхи сами починились - может в винде что-то поменяли, может в драйверах nvidia, а может и в qemu/ядре линукса

Топикстартеру про цикл жизни: виртуалка для хоста это такой же процесс как и остальные. Оберни запуск виртуалки в systemd-юнит и в дальнейшем запуск виртуалки выглядеть как systemctl start your-vm.service.

technoid
()
9 февраля 2018 г.

А перед тем как пробросить карту ты её отключал софтварно?

FluffyPillow
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.