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.
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