Xen problem SOLVED – high network latency

Dlho som si lámal hlavu nad tým, prečo na mojej lokálnej sieti, ktorá ináč funguje bez problémov, vykazuje server s nainštalovanými Xen serverom vysokú latenciu pingu, aj keď ostatné parametre vyzerali byť nastavené v poriadku. Až som raz na to prišiel.

 

monitoring siete
Latencia siete pri zlej konfigurácii bridge rozhrania v Xene.

Pôvodne som mal nastavené /etc/network/interfaces nasledovne:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.22
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.0.22
    netmask 255.255.255.0

auto br0
iface br0 inet static
    address 192.168.1.22
    netmask 255.255.255.0
    gateway 192.168.1.1
    bridge_ports eth0

auto br1
iface br1 inet static
    address 192.168.0.22
    netmask 255.255.255.0
    bridge_ports eth1

S týmito nastaveniami som mal veľmi vysoké latencie pri komunikacii s Dom0 aj DomU. Zaujímavé bolo, že iba vzájomná komunikácia Dom0 DomU bola bez problémov:

$ ping 192.168.0.22
64 bytes from 192.168.0.22: icmp_req=150 ttl=64 time=94.0 ms
64 bytes from 192.168.0.22: icmp_req=151 ttl=64 time=94.3 ms
64 bytes from 192.168.0.22: icmp_req=152 ttl=64 time=93.9 ms
64 bytes from 192.168.0.22: icmp_req=153 ttl=64 time=98.0 ms
64 bytes from 192.168.0.22: icmp_req=154 ttl=64 time=95.6 ms
64 bytes from 192.168.0.22: icmp_req=155 ttl=64 time=93.8 ms
64 bytes from 192.168.0.22: icmp_req=156 ttl=64 time=95.8 ms

Až som raz skontroloval nastavenia siete podľa Xen Wiki a našiel som nenápadne spomenuté nasledovné parametre:

bridge_stp off		# disable Spanning Tree Protocol
bridge_waitport 0	# no delay before a port becomes available
bridge_fd 0		# no forwarding delay

Ako sa ukázalo, stačilo dopísať tieto parametre na správne miesto do /etc/network/interfaces, spraviť ifdown br0; ifup br0 a problém sa zrazu vyriešil, viď obrázok vyššie:

$ ping 192.168.0.22
64 bytes from 192.168.0.22: icmp_req=277 ttl=64 time=0.738 ms
64 bytes from 192.168.0.22: icmp_req=278 ttl=64 time=0.656 ms
64 bytes from 192.168.0.22: icmp_req=279 ttl=64 time=0.774 ms
64 bytes from 192.168.0.22: icmp_req=280 ttl=64 time=0.758 ms

Správna konfigurácia siete (ak máte na Xen serveri 2 sieťové rozhrania) teda vyzerá nasledovne:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.22
    netmask 255.255.255.0
    gateway 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.0.22
    netmask 255.255.255.0

auto br0
iface br0 inet static
    address 192.168.1.22
    netmask 255.255.255.0
    gateway 192.168.1.1
    bridge_ports eth0
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0


auto br1
iface br1 inet static
    address 192.168.0.22
    netmask 255.255.255.0
    bridge_ports eth1
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0
Xen problem solved! :-)
Xen problem solved! 🙂