2016-08-12 4 views
1

В настоящее время я использую аргументы командной строки qemu для запуска виртуальной машины.Командная строка QEMU заменяет libvirt

Моя командная строка:

/home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64 
-trace events=/home/gnayan/qemu_events 
-drive file=/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/ubuntu.img,if=virtio,format=raw 
-drive file=/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/u1.img,if=virtio,format=raw 
-m 1G -net nic,model=virtio -net user -redir tcp:2222::22 -enable-kvm & 

Я хотел бы запустить ту же виртуальную машину, используя такие инструменты, как Libvirt virsh или вирт-установку и т.д., но я имею трудное время получить это сделать.

Я создал домен XML:

<domain type="kvm"> 
     <name>first</name> 
     <currentMemory unit="MB">1024</currentMemory> 
     <memory unit="MB">1024</memory> 
     <os> 
       <type arch='x86_64'>hvm</type> 
     </os> 
     <devices> 
       <emulator>/home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64</emulator> 
       <disk type='file' device='disk'> 
         <source file='/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/ubuntu.img'/> 
         <driver name='qemu' type='raw'/> 
         <target dev='vda' bus='virtio'/> 
       </disk> 
     </devices> 
</domain> 

ТОГДА пытался создать виртуальную машину с помощью virsh define first.xml я получаю следующее сообщение об ошибке:

error: Failed to define domain from first.xml 
error: internal error: Child process (LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64 -help) unexpected exit status 126: libvirt: error : cannot execute binary /home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64: Permission denied 

Что может быть неправильно в моих настройках Ubuntu.

У меня есть qemu из источника.

Путь/home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/не экспортирован, будет ли libvirt нужен этот путь?

я получаю следующее сообщение в dmesg

type=1400 audit(1470991545.250:44): apparmor="DENIED" operation="exec" profile="/usr/sbin/libvirtd" name="/home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64" pid=21287 comm="libvirtd" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 
[19990.781774] audit: type=1400 audit(1470991545.258:45): apparmor="DENIED" operation="exec" profile="/usr/sbin/libvirtd" name="/home/gnayan/QEMU-devel/qemu-ubuntu/qemu/x86_64-softmmu/qemu-system-x86_64" pid=21288 comm="libvirtd" requested_mask="x" denied_mask="x" fsuid=0 ouid=0 

ответ

2

Я хотел бы сделать это бридж-имя

virt-install --quiet --network bridge=bridge-name,model=virtio --name first --ram=1024 \ 
--vcpus=1 --disk path=/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/ubuntu.img,format=raw\ 
--disk path=/home/gnayan/CUSTOM_QEMU_SYSTEM/UBUNTU/u1.img,format=raw \ 
--graphics none --os-type=linux --import --autostart & \ 
  • для того, чтобы связать его с моста вы должны сконфигурировать в (и добавлен физический внешний порт для доступа vm к внешней сети)
  • Опция --import is becaus e Я предполагаю, что ОС Ubuntu уже установлена.

  • Для перенаправления портов я использовал iptables вместо того, чтобы делать это в бродячем стиле. Но просто мнение. Не уверен, что это возможно в KVM.

Мои permisions для изображений в каталоге/вар/Библиотека/libvirtd/изображения/ -rw-р - r-- 1 QEMU QEMU

+0

Привет Спасибо, любые идеи, как добавить аргумент трассировки в вирт -install или virsh? – Haswell

+0

Вы можете перенаправить стандартный вывод на указанный файл, если хотите, но на мой взгляд, правильная обработка будет использовать -debug и поиск в файле ~/.cache/virt-manager/virt-install.log. – Ferrandinand

+0

Я имел в виду трассировку events =/home/gnayan/qemu_events, здесь qemu_events - это текстовый файл, описывающий, какие конкретные события qemu нужно отслеживать, я не получил ваш комментарий, пожалуйста, объясните. Qemu tracer затем заполнит информацию о событиях в ftrace trace-buffer. – Haswell