VirtualBox Host中drop packet错误

前两天,我在VirtualBox的VM中安装了最新版的PRTG,结果发现SNMP traffic sensor的图像有断断续续的现象,同时伴随着异常返回值,这令我非常焦虑,因为cacti就是因为图像经常无缘无故出现异常而被我抛弃的,而PRTG这两年来一直位列我的十大兵器谱头名,可不能辜负了我对它的信任呀。

我首先怀疑的是PRTG版本问题,于是将版本降到v9,情况依旧;于是怀疑是HOST的问题,因为VMware server就不能很好地在linux下运行,会不会是VirtualBox对linux也水土不服呢?于是在一台windows server上安装virtualbox,并将VM从linux host迁移过去,情况依旧;傻眼了,最后怀疑是VM的内存不够,于是将VM的内存从512M调整至1024M,情况依旧;就这个问题折腾了整整一个星期,我都快绝望了,难道真的要用VMware player吗?一个只能启动2个VM的玩具。

我不甘心,偶然间执行了一下dmesg命令,发现以下信息:

[36532.020529] vboxnetflt: dropped 0 out of 18098 packets
[46574.932027] vboxnetflt: dropped 0 out of 1311 packets
[110529.489764] vboxnetflt: dropped 29 out of 232556 packets
[113359.681781] vboxnetflt: dropped 0 out of 541 packets
[114843.976278] vboxnetflt: dropped 0 out of 3242 packets
[115112.476536] vboxnetflt: dropped 0 out of 240 packets
[115961.929767] vboxnetflt: dropped 0 out of 1903 packets
[141494.265267] vboxnetflt: dropped 7 out of 37227 packets
[190108.804266] vboxnetflt: dropped 0 out of 14733 packets
[447086.452265] vboxnetflt: dropped 0 out of 758971 packets
[2206821.132266] vboxnetflt: dropped 0 out of 7 packets
[2210774.196266] vboxnetflt: dropped 0 out of 55 packets
[2215028.025517] vboxnetflt: dropped 0 out of 0 packets
[2215765.269020] vboxnetflt: dropped 0 out of 33 packets
[2217500.461020] vboxnetflt: dropped 0 out of 60 packets
[2275024.176770] vboxnetflt: dropped 4263077 out of 34835798 packets
[2301640.425011] vboxnetflt: dropped 38249 out of 1232800 packets
[2338510.892516] vboxnetflt: dropped 29 out of 5852 packets

dropped packet可能是导致图像blank的原因,于是拜访google大神,无果,不过我坚信这个信息肯定不是什么好事,应该跟HOST的网络有关。后来我想到这个服务器除了跑VirtualBox之外,还负责netflow export的职责,如下图所示:

在sw_CORE交换机上做端口镜像,将互联网流量镜像到MOA服务器的eth1。flowexport监听eth1,生成flow record并发送到VM中进行处理。

也许,这项应用就是罪魁祸首,于是我停用了mirror功能,接着ifconfig eth1 down,故障排除!

我终于舒了一口气,消除了PRTG的嫌疑,PRTG重回我的十大兵器谱头名。

2012-10,实际上该修改未能解决问题,virtualbox on linux的网络还是有问题,所以最后还是放弃了virtualbox。
{: class=“info” }