[Qemu]Twee virtual machines op bridge geeft packet loss

Pagina: 1
Acties:
  • 296 views sinds 30-01-2008
  • Reageer

  • ph0t0nix
  • Registratie: December 2006
  • Laatst online: 27-01 01:06
Ik heb een Debian Etch server waarop ik twee QEMU virtual machines wil draaien. Omdat de VMs ook servertjes zijn, heb ik ze d.m.v. een bridge verbonden. Elk van de machines afzonderlijk starten werkt zonder problemen, zodra ik echter beide VMs start zijn ze om beurten slecht te bereiken.
In principe heb ik [url=http://www.thomaskho.com/blog/2006/02/qemu-and-the-network-bridge/]deze "howto"[url] gevolgd. Zowel de fysieke server als de VMs hebben vast IP adressen. 192.169.11.10 voor de server, 192.168.11.11 en .12 voor de VMs. De netwerkkaart op de fysieke server is waar de bridge op geconigureert is is eth4.

Pingen vanuit de fysieke machine:
 ping -c10 192.168.11.12
PING 192.168.11.12 (192.168.11.12) 56(84) bytes of data.
64 bytes from 192.168.11.12: icmp_seq=1 ttl=64 time=0.295 ms
64 bytes from 192.168.11.12: icmp_seq=2 ttl=64 time=0.312 ms
64 bytes from 192.168.11.12: icmp_seq=4 ttl=64 time=0.429 ms
64 bytes from 192.168.11.12: icmp_seq=5 ttl=64 time=0.477 ms
64 bytes from 192.168.11.12: icmp_seq=6 ttl=64 time=0.508 ms
64 bytes from 192.168.11.12: icmp_seq=8 ttl=64 time=0.325 ms

--- 192.168.11.12 ping statistics ---
10 packets transmitted, 6 received, 40% packet loss, time 9013ms
rtt min/avg/max/mdev = 0.295/0.391/0.508/0.084 ms

Bijna gelijktijdig de andere VM pingen levert:
ping -c10 192.168.11.11
PING 192.168.11.11 (192.168.11.11) 56(84) bytes of data.
From 192.168.11.12: icmp_seq=1 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12: icmp_seq=2 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12: icmp_seq=3 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12 icmp_seq=1 Destination Host Unreachable
From 192.168.11.12 icmp_seq=2 Destination Host Unreachable
From 192.168.11.12 icmp_seq=3 Destination Host Unreachable
From 192.168.11.12: icmp_seq=4 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12: icmp_seq=5 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12: icmp_seq=6 Redirect Host(New nexthop: 192.168.11.11)
From 192.168.11.12 icmp_seq=4 Destination Host Unreachable
From 192.168.11.12 icmp_seq=5 Destination Host Unreachable
From 192.168.11.12 icmp_seq=6 Destination Host Unreachable
64 bytes from 192.168.11.11: icmp_seq=8 ttl=64 time=0.416 ms
64 bytes from 192.168.11.11: icmp_seq=9 ttl=64 time=0.349 ms
64 bytes from 192.168.11.11: icmp_seq=10 ttl=64 time=0.415 ms
From 192.168.11.12 icmp_seq=7 Destination Host Unreachable

--- 192.168.11.11 ping statistics ---
10 packets transmitted, 3 received, +7 errors, 70% packet loss, time 9021ms
rtt min/avg/max/mdev = 0.349/0.393/0.416/0.035 ms, pipe 4

Het lijkt er dus op dat de packetjes niet netjes gerouteerd worden ofzo. Ter info:
brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.00e0815dfe12       no              eth4
                                                        tap0
                                                        tap2

Iemand een idee wat er mis is?

  • ph0t0nix
  • Registratie: December 2006
  • Laatst online: 27-01 01:06
Hmm, Ik denk dat ik het heb gevonden. Beide VMs hebben hetzelfde MACadres. Eens zien hoe ik dat aan kan passen.

edit:
Raar, de ene VM (met Slackware) start gewoon op. De andere (met debian Etch) geeft netwerk problemen, hoewel ze allebei nu een apart MAC adres hebben.
De error is:
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device

Ik start qemu als volgt op:
qemu -kernel-kqemu -m 180 -hda debian_image.qcow2 -nographic \
-append "console=ttyS0,9600n8"  -serial stdio -net nic,vlan=0,macaddr=52:54:00:12:34:57 \
-net tap,script=./ifup.sh,vlan=0,ifname=tap0

Voor de andere VM verandert alleen de naam van het image, het MAC adres en de ifname (wordt andere tap)

Als ik de MAC adressen in de bridge bekijk zie ik het 12:34:57 ook niet verschijnen. Het 12:34:58 adres is van de correct werkende slackware VM. Het andere adres op port 3 is van de tap2 interface. Bij port 1 gaat het om het adres van br0 en eth4 (samen het fe:12 adres), het 1f:5d adres is mij onbekend. Het fa:5c adres bij port 2 is van tap0, daar zou dus het 12:34:57 adres ook bij moeten zitten.
brctl showmacs br0 
port no mac addr                is local?       ageing timer
  1     00:16:e6:5c:1f:5d       no                 0.00
  1     00:e0:81:5d:fe:12       yes                0.00
  3     36:94:74:79:02:d0       yes                0.00
  3     52:54:00:12:34:58       no                12.09
  2     96:d1:5f:44:fa:5c       yes                0.00

[ Voor 86% gewijzigd door ph0t0nix op 30-12-2007 14:27 ]


  • ph0t0nix
  • Registratie: December 2006
  • Laatst online: 27-01 01:06
Nou , ik snap er niks van, maar als ik voor de debian VM geen macaddr= gebruik (en hij dus de standaard 12:34:56 gebruikt) loopt 'ie als een trein. Dus dat laten we dan maar zo.

Heerlijke monoloog zo 8)

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 12:10

deadinspace

The what goes where now?

Als je die Debian VM boot met het andere macaddress, bestaat eth0 dan wel? Is het misschien niet eth1 dan?

Zo ja, dan komt dat waarschijnlijk omdat Debian probeert dezelfde netwerkkaart (dus hetzelfde macaddress) altijd dezelfde naam te geven. Je kan aanpassen welk macaddress welke naam krijgt in /etc/udev/rules.d/z25_persistent-net.rules