为什么我从 dom0 和 domU 获取不同的网络流量值?

为什么我从 dom0 和 domU 获取不同的网络流量值?

我正在使用 Xen 4.0.1 和 Linux 2.6.32-5-xen-amd64(Debian Squeeze 系统上的标准包)。

Xen 网络

对于每个新的 domU,Xen 都会创建一对新的“连接的虚拟以太网接口”,一端在 domU 中,另一端在 dom0 中。对于 Linux domU,它看到的设备名称为 eth0。该虚拟以太网接口对的另一端在 dom0 中作为接口 vif<id#>.0 存在

可以将它们视为通过内部交叉以太网电缆连接的两个以太网接口。

我对此的理解内部交叉问题是,无论你是否在 dom0 中测量,网络统计数据都应该是相同的(n 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

两个猜测:1. 在 DomU xennet 准备好接收之前传入的流量。不过 20℅ 已经差不多了。您是否经常启动并且正常流量较低?2. 广播/多播流量不是针对 DomU 的?DomU 上是否有传入防火墙?

相关内容