Я использую Xen 4.0.1 с Linux 2.6.32-5-xen-amd64 (стандартные пакеты в системе Debian Squeeze).
Из Xen Networking:
Для каждого нового domU Xen создает новую пару «подключенных виртуальных интерфейсов Ethernet», один конец которых находится в domU, а другой - в dom0. Для linux domU имя устройства, которое он видит, называется eth0. Другой конец этой пары виртуальных интерфейсов Ethernet существует внутри dom0 как интерфейс vif <id #>. 0
Думайте о них как о двух интерфейсах Ethernet, соединенных внутренним перекрестным кабелем Ethernet.
Мое понимание этого внутренний кроссовер Дело в том, что сетевая статистика должна быть одинаковой независимо от того, измеряете ли вы ее в dom0 (vifN.N интерфейс) или в domU (eth0 интерфейс). Значения RX / TX должны быть одинаковыми, только инвертированными.
Тем не менее я получаю ~ 20% больше значения при измерении трафика в dom0. У меня вопрос почему значения разные?
Запуск гостевого домена:
root@dev1:/etc/xen# xm create node2050.cfg
Using config file "./node2050.cfg".
Started domain node2050 (id=35)
root@dev1:/etc/xen# xm list node2050
Name ID Mem VCPUs State Time(s)
node2050 35 256 1 -b---- 2.5
root@dev1:/etc/xen# ip address show vif35.0
70: vif35.0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 32
link/ether fe:ff:ff:ff:ff:ff brd ff:ff:ff:ff:ff:ff
inet6 fe80::fcff:ffff:feff:ffff/64 scope link
valid_lft forever preferred_lft forever
В domU:
node2050:~# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:16:3e:44:2e:5a brd ff:ff:ff:ff:ff:ff
inet xx.yy.zz.50/24 brd xx.yy.zz.255 scope global eth0
inet6 fe80::216:3eff:fe44:2e5a/64 scope link
valid_lft forever preferred_lft forever
Сразу после запуска node2050
:
В dom0.
root@dev1:~# while true; do date; cat /sys/class/net/vif35.0/statistics/{r,t}x_bytes; sleep 1; done
...
Thu Jan 19 13:18:00 EST 2012
4826
466049
Thu Jan 19 13:18:01 EST 2012
4826
466580
Thu Jan 19 13:18:02 EST 2012
4826
467427
Thu Jan 19 13:18:03 EST 2012
4826
467910
Thu Jan 19 13:18:04 EST 2012
4826
468769
Thu Jan 19 13:18:05 EST 2012
4826
469764
в domU:
root@node2050:~# while true; do date; cat /sys/class/net/eth0/statistics/{r,t}x_bytes; sleep 1; done
...
Thu Jan 19 13:18:00 EST 2012
395229
5792
Thu Jan 19 13:18:01 EST 2012
395961
5792
Thu Jan 19 13:18:02 EST 2012
396617
5792
Thu Jan 19 13:18:03 EST 2012
397304
5792
Thu Jan 19 13:18:04 EST 2012
397735
5792
Thu Jan 19 13:18:05 EST 2012
398620
5792
Конфигурация:
root@dev1:/etc/xen# cat node2050.cfg
kernel = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-amd64'
vcpus = '1'
memory = '256'
root = '/dev/xvda2 ro'
disk = [
'phy:/dev/vg0/node2050-disk,xvda2,w',
'phy:/dev/vg0/node2050-swap,xvda1,w',
]
name = 'node2050'
vif = [ 'ip=xx.yy.zz.50,mac=00:16:3E:44:2E:5A' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
extra = 'console=hvc0 xencons=hvc0'
Два предположения: 1. Трафик, поступивший до того, как ксеннет DomU был готов к приему. Хотя 20℅ - это довольно много. Вы часто загружаетесь и у вас низкий нормальный трафик? 2. Широковещательный / многоадресный трафик не нацелен на DomU? Возможно, на DomU есть входящий брандмауэр?