在qemu虚拟机中使用vhost-net时如何创建多个vhost线程

本文参考了https://gist.github.com/mcastelino/43cc733e53d65ef67452ecaf78e936c2

vhost-net是一种较virtio-net更为高效的网络虚拟化技术。在qemu中使用vhost-net非常容易,只需在 -netdev tap,之后加上vhost=on。但是默认情况下host只会产生一个vhost线程,当虚拟机有多个核心时无法发挥最大的效率。下面展示一下如何创建与vcpu数量匹配的vhost线程数。

qemu \
...
-netdev tap,fd=3,4,id=hostnet0,vhost=on,vhostfd=5,6 3<>$"$tapdev" 4<>$"tapdev" 5<>/dev/vhost-net 6<>/dev/vhost-net

 

上面的tapdev是macvtap。创建macvtap的方法:

ip link del testbr
ip link del testvlan
ip link del testtap

ip link add name testbr type bridge
ip link add link testbr name testvlan type macvlan mode bridge
ip addr add 172.20.0.1/16 dev testvlan
ip link set dev testvlan up
ip link set dev testbr up
ip link add link testbr name testtap type macvtap mode bridge
ip link set testtap up

tapindex=$(< /sys/class/net/testtap/ifindex)
tapdev=/dev/tap"$tapindex"

 不使用macvtap的方法我没找到,因为一般的tap设备不会产生对应的字符设备。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值