LINUX.ORG.RU
ФорумAdmin

Не получается запустить виртуальную машину KVM из скрипта

 


1

1

Пытаюсь запустить виртуальную машину KVM из скрипта без всяких там libvirt.

#/bin/bash
/usr/bin/qemu-system-x86_64 -name Windows_8_1 \
   -machine type=q35,accel=kvm -cpu host -enable-kvm -m 2048 \
   -vga qlx -display none -nographic -spice addr=127.0.0.1,port=5900,ipv4 \
   -net bridge,br=br1 -net nic,model=virtio \
   -k ru-ru -usb -boot menu=on \
   -drive if=virtio,media=disk,format=raw,file=/srv/virtual/Windows_8_1_hdd.img \
   -drive if=virtio,media=cdrom,file=/srv/virtual/Windows_8_1_hdd.iso
$ ./runwm.sh

(process:19348): GLib-WARNING **: gmem.c:482: custom memory allocation vtable not supported
access denied by acl file
failed to launch bridge helper
qemu-system-x86_64: -net bridge,br=br1: Device 'bridge' could not be initialized
Что я, собственно, делаю не так? Модули ядра kvm и kvm_amd загружены.

★★★★★

custom memory allocation vtable not supported

access denied by acl file у меня похожая ошибка была когда материнка в конфиге не поддерживалась qemu.

ving2 ()

что в /etc/qemu/bridge.conf ?

Ядро вообще собрано с поддержкой bridge?

[*] Networking support  --->
   Networking options  --->
      <M> 802.1d Ethernet Bridging

slon ()
Ответ на: комментарий от pztrn

Бридж то этот существует?

$ brctl show br1
bridge name     bridge id               STP enabled     interfaces
br1             8000.0007e91ada63       no              eth1

Вообще-то через libvirt с бриджом всё работает, но это я тут изучаю возможности KVM.
Поддержку UEFI-загрузчика в KVM включить возможно, нет?

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

Поддержку UEFI-загрузчика в KVM включить возможно, нет?

Можно, надо только образ BIOS собрать e2dk.

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

Вообще-то через libvirt с бриджом всё работает

Тут недавно советовали, в кач-ве изучения, посмотрите с какими параметрами стартует из libvirt, от этого и отталкивайтесь.
Да и еще, q35 не факт что заработает в вашем варианте.

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

Поддержку UEFI-загрузчика в KVM включить возможно, нет?

Да, элементарно, гугли «qemu ovmf», первые пару ссылок твои.

slon ()
Ответ на: комментарий от anc

q35 работает, потому что ВМ через virt-install создаётся:

$ virt-install --connect qemu:///system --name Windows_8_1 \
   --arch x86_64 --machine q35 --cpu host --virt-type kvm --hvm --memory 2048 \
   --network bridge=br1,model=virtio \
   --graphics type=spice,listen=127.0.0.1 \
   --boot menu=on \
   --disk device=disk,bus=virtio,path=/srv/virtual/Windows_8_1_hdd.img
   --disk device=disk,bus=usb,removable=on,path=/srv/virtual/Windows_8_1_flash.img
Я вот гадаю откуда в virt-install берутся опции, которых нет в qemu-system-x86_64. Ведь libvirtd всё равно вызывает всё тот же qemu-system-x86_64. На счёт q35 рассуждения были, что лучше эмулировать современное железо, чем 15-летней давности.

Можно, надо только образ BIOS собрать e2dk.

А что это за чухня такая?

sunny1983 ★★★★★ ()

Вообще, что я вижу. В virt-manager мышкой нельзя сделать некоторые вещи, которые возможно сделать из командной строки утилитами virsh и virt-install, например нельзя выбрать тип эмулируемого чипсета (при создании ВМ в virt-manager по умолчанию эмулируется i440fx и изменить это потом уже нельзя. Это вообще нормально, эмулировать железо 15-летней давности, тормозить не будет? Или ещё нельзя в список оборудования добавиь флешку (нет в virt-manager опции, позволяющей для дискового устройства выбрать шины USB, только SATA, SCSI и Virtio, а в virt-install это сделать можно).
Ещё разные наборы опций у virt-install и qemu-system-x86_64. В во втором, например нет,модели видеокарты Virtio, а в первом - есть.

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