1

Здравствуйте. Установил KVM на Cenos 6.3 (minimal). При создании новой виртуальной машины получаю:

Не удалось открыть дисплей:

Попытка подключиться по средством vnc тоже ни к чему не приводит.

Подскажите пожалуйста в чем может быть проблема ?

2

ps -ef |grep qemu
virsh dumpxml $VMNAME
netstat -putna
iptables -L

3

ps -ef |grep qemu

qemu      2572     1 92 16:48 ?        00:00:55 /usr/libexec/qemu-kvm -S -M rhel6.3.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name WinXP -uuid 682727ca-f247-abd8-839d-ce193a54ab54 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/WinXP.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime,driftfix=slew -no-reboot -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/winxp.img,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 -drive file=/home/WinXP.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0,bootindex=1 -netdev tap,fd=22,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:96:4d:d8,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -vnc unix:/var/lib/libvirt/qemu/WinXP.vnc,password -vga std -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
root      2697  2608  0 16:49 pts/2    00:00:00 grep qemu

virsh dumpxml $VMNAME

<domain type='kvm' id='1'>
  <name>WinXP</name>
  <uuid>682727ca-f247-abd8-839d-ce193a54ab54</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.3.0'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/winxp.img'/>
      <target dev='hda' bus='ide'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/WinXP.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:96:4d:d8'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' socket='/var/lib/libvirt/qemu/WinXP.vnc'/>
    <video>
      <model type='vga' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none'/>
</domain>

netstat -putna

e       PID/Program name
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LIST                                                                                                                                                             EN      1868/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LIST                                                                                                                                                             EN      2178/sshd
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LIST                                                                                                                                                             EN      2060/cupsd
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LIST                                                                                                                                                             EN      2254/master
tcp        0      0 0.0.0.0:52735               0.0.0.0:*                   LIST                                                                                                                                                             EN      1891/rpc.statd
tcp        0      0 172.17.101.189:22           172.17.101.155:59761        ESTA                                                                                                                                                             BLISHED 2514/sshd
tcp        0      0 172.17.101.189:22           172.17.101.155:59788        ESTA                                                                                                                                                             BLISHED 2606/sshd
tcp        0      0 :::56879                    :::*                        LIST                                                                                                                                                             EN      1891/rpc.statd
tcp        0      0 :::111                      :::*                        LIST                                                                                                                                                             EN      1868/rpcbind
tcp        0      0 :::22                       :::*                        LIST                                                                                                                                                             EN      2178/sshd
tcp        0      0 ::1:631                     :::*                        LIST                                                                                                                                                             EN      2060/cupsd
tcp        0      0 ::1:25                      :::*                        LIST                                                                                                                                                             EN      2254/master
udp        0      0 0.0.0.0:5353                0.0.0.0:*                                                                                                                                                                                            2049/avahi-daemon
udp        0      0 0.0.0.0:45164               0.0.0.0:*                                                                                                                                                                                            2049/avahi-daemon
udp        0      0 0.0.0.0:53358               0.0.0.0:*                                                                                                                                                                                            1891/rpc.statd
udp        0      0 0.0.0.0:111                 0.0.0.0:*                                                                                                                                                                                            1868/rpcbind
udp        0      0 0.0.0.0:631                 0.0.0.0:*                                                                                                                                                                                            2060/cupsd
udp        0      0 0.0.0.0:769                 0.0.0.0:*                                                                                                                                                                                            1868/rpcbind
udp        0      0 0.0.0.0:795                 0.0.0.0:*                                                                                                                                                                                            1891/rpc.statd
udp        0      0 :::111                      :::*                                                                                                                                                                                                 1868/rpcbind
udp        0      0 :::42111                    :::*                                                                                                                                                                                                 1891/rpc.statd
udp        0      0 :::769                      :::*                                                                                                                                                                                                 1868/rpcbind

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

iptables отключен в принципе

4

Плюс не получается telnet-ом подцепиться к 5900 или 5901 портам

5

nik222 пишет:

    <graphics type='vnc' socket='/var/lib/libvirt/qemu/WinXP.vnc'/>

должно быть

    <graphics type='vnc' port='5900' autoport='yes'/>

6

Огромное спасибо. Как то я упустил этот момент.  Еще один вопрос: возможно ли в kvm эмулировать несколько cd приводов на одной машине и если да то как ?

7

nik222 пишет:

    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/WinXP.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>

добавить еще таких же? ab

8

хм, секцию я вижу, но  ее клонирование приводит только к ошибкам ((.
dyasny а не сможете подсказать еще по работе видео пожалуйста ?

9

nik222 пишет:

хм, секцию я вижу, но  ее клонирование приводит только к ошибкам ((.

клонирование? надо отредактировать, например:

   
<disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/WinXP.iso'/>
      <target dev='hdd' bus='ide'/>
      <readonly/>
      <alias name='ide0-2-0'/>
</disk>

nik222 пишет:

dyasny а не сможете подсказать еще по работе видео пожалуйста ?

a именно?

10

Поднято две виртуалки  - XP и 7. В xp видеоадаптер вообще не определяется, в 7 использованы стандартные драйвера от Microsoft. И заметно подтормаживает картинка. Как то можно с этим бороться ?

11

nik222 пишет:

Как то можно с этим бороться ?

для начала перевести диски и сетевые карты на virtio

а графику на spice/qxl

12

Знать бы еще как((( (я про virito)

13

nik222 пишет:

<domain type='kvm' id='1'>
  <name>WinXP</name>
  <uuid>682727ca-f247-abd8-839d-ce193a54ab54</uuid>
  <memory unit='KiB'>1048576</memory>
  <currentMemory unit='KiB'>1048576</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='x86_64' machine='rhel6.3.0'>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='localtime'>
    <timer name='rtc' tickpolicy='catchup'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>destroy</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/winxp.img'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/home/WinXP.iso'/>
      <target dev='hdc' bus='ide'/>
      <readonly/>
      <alias name='ide0-1-0'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:96:4d:d8'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' socket='/var/lib/libvirt/qemu/WinXP.vnc'/>
    <video>
      <model type='vga' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none'/>
</domain>

14

С конфигом как раз таки все более менее понятно. Интересует, нужно ли включать поддержку virtio в ядре, доустанавливать какие то модули ?
С XP разобрался. spice/qxl + драйвера и система работает нормально. А вот с Fedora 17 не все так гладко - жуткие тормоза при использовании spice.
И еще два момента для полного счастья: возможность добавления второго сетевого интерфейса в виртуалки и второго жесткого диска (именно жесткого диска отдельным контейнером).

15

nik222 пишет:

возможность добавления второго сетевого интерфейса в виртуалки и второго жесткого диска

У меня например вот так:

#vde_tunctl -t tap0
Set 'tap0' persistent and owned by uid 0
#ifconfig tap0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
#vde_switch -x -n 5 -s /run/vde.ctl -g kvm -m 770 -d -p /run/vde.pid -t tap0
#vde_switch -x -n 5 -s /run/vde2.ctl -g kvm -m 770 -d -p /run/vde2.pid
#qemu-kvm -net nic -net vde,sock=/run/vde.ctl -net nic -net vde,sock=/run/vde2.ctl -hda debian-wheezy-i386.img -hdb debian-wheezy-amd64.img 

Два хаба, два диска, :

#ssh 192.168.1.2
root@192.168.1.2's password: 
Linux deb-i386 3.4.4-nz #1 SMP PREEMPT Sun Jun 24 03:08:52 MSK 2012 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 27 14:49:59 2012
Di386#ifconfig -a                                                                                                                    ~
eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe12:3456/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5334 (5.2 KiB)  TX bytes:7948 (7.7 KiB)
          Interrupt:11 Base address:0xe000 

eth1      Link encap:Ethernet  HWaddr 52:54:00:12:34:57  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:10 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


Di386#fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ac849

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    40136703    20067328   83  Linux
/dev/sda2        40138750    41940991      901121    5  Extended
/dev/sda5        40138752    41940991      901120   82  Linux swap / Solaris

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b6c6d

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048    20013055    10005504   83  Linux
/dev/sdb2        20015102    20969471      477185    5  Extended
/dev/sdb5        20015104    20969471      477184   82  Linux swap / Solaris
История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

16

nik222 пишет:

С конфигом как раз таки все более менее понятно. Интересует, нужно ли включать поддержку virtio в ядре, доустанавливать какие то модули ?

в ядре хоста не нужно. я ядре гестов нужно, но во всех современных линуксах все уже встроено.

nik222 пишет:

А вот с Fedora 17 не все так гладко - жуткие тормоза при использовании spice

xorg-x11-drv-qxl установлен и включен?

nik222 пишет:

возможность добавления второго сетевого интерфейса в виртуалки

еще один инстанс интерфейса прописать не сложно, так же как и любая другая нода в <devices> ну или поставить virt-manager и делать все в графическом интерфейсе. а если хостов несколько и нужна живая миграция то велкам в овирт.орг - там все еще красивее и удобнее

nik222 пишет:

и второго жесткого диска (именно жесткого диска отдельным контейнером).

указать вместо файла

   
<disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source dev='/dev/sdb'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
    </disk>

или настроить в вирт-манагере

17

Благодарю. На счет virt-manager уже тоже подумал. А не поясните чайнику по поводу подключения жестких : sdb - это я так понимаю реальный раздел на жестком диске ? А можно ли в таком случает создавать контейнеры *.img и подключать их как hdd к виртуалкам ?

18

нет никаких контейнеров. к виртуалке можно подключить файл находящийся на файловой системе (тот самый .img например) или блочное устройство - локальный диск /dev/sdX целиком, LVM том /dev/mapper/vg_name-lv_name или LUN доступный удаленно /dev/mapper/$WWN

19

dyasny пишет:

нет никаких контейнеров. к виртуалке можно подключить файл находящийся на файловой системе (тот самый .img например) или блочное устройство - локальный диск /dev/sdX целиком, LVM том /dev/mapper/vg_name-lv_name или LUN доступный удаленно /dev/mapper/$WWN

жаль(((

Ну и надеюсь в заключении: а как можно включить xorg-x11-drv-qxl ?

20

nik222 пишет:

жаль

не понимаю... если надо использовать файловые имиджи на отпределенном диске, то надо этот диск отформатировать, и положить на нем имиджи, никаких проблем.
Если надо отдать виртуалке диск или LUN или LV целиком - тоже никаких проблем.

nik222 пишет:

Ну и надеюсь в заключении: а как можно включить xorg-x11-drv-qxl ?

установить пакет и... https://fedoraproject.org/wiki/How_to_d … I_using.3F

21

не понимаю... если надо использовать файловые имиджи на отпределенном диске, то надо этот диск отформатировать, и положить на нем имиджи, никаких проблем.
Если надо отдать виртуалке диск или LUN или LV целиком - тоже никаких проблем.

Да я просто не совсем допонимаю одного момента: есть допустим 50 виртуалок, изначально я не знаю где возникнет необходимость использования второго hdd (заранее предусмотреть этот момент не получиться).  Как поступить в такой ситуации ?

22

Смотрим на настроку ВМ:

    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/winxp.img'/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
    </disk>

значит диск лежит в /var/lib/libvirt/images/winxp.img
что мешает, по мере надобности, создать еще один диск и положить там же, а потом добавить еще одну запись такого типа в настроки ВМ? Или не там же а в другом месте, маунтпоинте другого диска? Все очень просто и гибко на самом деле

23

И все же мне непонятно как решить вопрос с графикой именно в linux-системах. Как не странно семейство windows ведет себя более адекватно в этом плане.

24

nik222 пишет:

И все же мне непонятно как решить вопрос с графикой именно в linux-системах. Как не странно семейство windows ведет себя более адекватно в этом плане.

какой вопрос?

25 (03.10.2012 11:58:43 отредактировано nik222)

Да тормоза при работе в гостевой системе Linux. (Задержка курсора, отрисовка с задержкой, общее ощущение заторможенности)
Графика - spice, qxl, накопители - vitrio.  Но адекватно работать с такими лагами не возможно.

26

я тормозов не наблюдаю, при использовании spice-vdagent + xorg-x11-drv-qxl

27

а сколько памяти у вас выделено qxl ? (video ram)

dyasny пишет:

я тормозов не наблюдаю, при использовании spice-vdagent + xorg-x11-drv-qxl

возможно что то не так делаю - понять бы что.

28

dyasny пишет:

я тормозов не наблюдаю, при использовании spice-vdagent + xorg-x11-drv-qxl

Плюсую. Тоже не замечаю тормозов на такой связке.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

29 (03.10.2012 15:12:47 отредактировано nik222)

пфф, и в чем секрет ? быть может как то надо по особому конфиг иксов на госте править ?
и я правильно понимаю: qxl не зависит от мощности бортовой видеокарты ?

30

nik222 пишет:

пфф, и в чем секрет ? быть может как то надо по особому конфиг иксов на госте править ?

все изкоробочно

nik222 пишет:

и я правильно понимаю: qxl не зависит от мощности бортовой видеокарты ?

нет, только от мощностей процессоров хоста и клиентской машины