群晖虚拟机VMM装OpenWrt软路由宽带跑不满的一些坑

由于入手了群晖NAS系统,前几天把在使用的R4S软路由从多媒体箱拆下来了,用群晖的VMM虚拟机装OpenWrt发现宽带测速跟下载速度跑不满1000M宽带问题,经过半小时的研究折腾发现问题出现在虚拟网卡上面了,今天就来说说群晖虚拟机安装OpenWrt旁路由选择网卡的一些坑。

OpenWrt
OpenWrt

网上的一些群晖虚拟机VMM装软路由OpenWrt固件都特别提醒我们在选择e1000虚拟网卡,如下图:

群晖虚拟机VMM装OpenWrt软路由宽带跑不满的一些坑

是的,如果在配置网络的时候选虚拟网卡为e1000,OpenWrt的连接口会显示为全双工,但是你在测速或者下载的时候就会发现,e1000网卡只能跑200M-300M网速。

e1000网卡测速
e1000网卡测速

起初我还怀疑群晖装OpenWrt不能发挥它的性能,但是仔细想一想,不应该啊,我给OpenWrt的配置2核6G怎么会不够用?问题应该出现在网卡上了。

群晖虚拟机里可选三种网卡:virtio、e1000、rtl8139

“e1000”系列提供Intel e1000系列的网卡模拟,纯的QEMU(非qemu-kvm)默认就是提供Intel e1000系列的虚拟网卡。

“virtio” 类型是qemu-kvm对半虚拟化IO(virtio)驱动的支持。

这三个网卡的最大区别(此处指最需要关注的地方)是速度:

rtl8139 10/100Mb/s

e1000 1Gb/s

virtio 10Gb/s

注意virtio是唯一可以达到10Gb/s的,根据文献一,其iperf测试速率可达到9.4。文献1还提到如果virtio配置不合理速度只能达到3.6。不用担心这个情况,经查验ovirt自己生成的虚拟机配置都是合理的。( use ‘-device virtio-net-pci’ option)

当然这并不意味着rtl8139和e1000是没有意义的,毕竟virtio需要在guest上面安装驱动。rtl8139和e1000在兼容的广泛度上占有优势。例如,如果ovirt的cpu不是x86,而是arm或者其它某些系列cpu,上述网卡未必全部支持。这点需要注意。

然后我把OpenWrt关机,网卡修改成virtio,开机OpenWrt speedtest测速:932

测速
测速

迅雷下载也基本满速:

迅雷下载速度
迅雷下载速度

如果你选的是e1000网卡,网速不能达标的话可以试试选择virtio网卡,貌似一些黑群晖或者DSM版本6.X的可以使用e1000网卡,总之自行测试吧。

我的家庭网络硬件配置:

宽带:电信1000M宽带

群晖:DS920+

交换机:TP-LINK千兆8口交换机

软路由:友善R4S

路由器:主路由器(客厅)TL-XDR5480+TL-XDR3010(主卧)组有线MESH,也就是AP模式,有线中继。

明年可以换2.5G网口的软路由跟2.5G的交换机。

结语:

关于群晖虚拟机装OpenWrt,我使用了几天,发现网络占用高的时候CPU占用达到了70-80,最重要的是发现了一个神奇的bug,就是手机wifi上网在打开微信高清图片的时候加载需要5-8秒的时间,打开微信的时候又连接中…这个不能忍,应该是虚拟机装的单队列的OpenWrt只是单队列只有一个核在处理报文,我也没有折腾了,改回R4S了。

发表回复

登录后才能评论

评论列表(6条)

  • 其它君
    其它君 2022-07-21 18:57:43

    很棒 避免踩坑 还是入手硬路由吧

  • 巴拉提·噢布力
    巴拉提·噢布力 2022-10-13 20:52:26

    192.16801.1

  • Edward
    Edward 2022-12-30 15:34:41

    谢谢老铁指点!网速又回来了!!!

  • jinhongxuand
    jinhongxuand 2023-02-13 21:43:38

    谢谢。解决了

  • zecrown
    zecrown 2023-04-02 15:53:49

    白裙vmm虚拟爱快 选的virtio iperf3测速 爱快做服务端 白裙客户端 上行网速550到750M浮动 下行3.6G 以至于现在宽带升了千兆 测速跑不满 只能到750M瓶颈 请问是什么问题有知道的吗?

    • 蜗牛哥哥
      蜗牛哥哥 2023-04-26 15:04:44

      @zecrown群晖虚拟机损耗太大,发挥不了多少真实性能,建议使用PVE