QEMU虚拟机热添加和热卸载网卡

说明

最近验证各种网络场景,对网卡的配置数量不断在增加,现有虚拟机运行着好不容易搭的环境,实在不想重启虚拟机离线方式添加网卡。因为没有云平台都是本地libvirt管理的虚拟机,所以整理下使用网卡添加的使用方法,

添加网卡

热添加SR-IOV网卡

对于VF类型网卡,在执行至SR-IOV切分VF后,VF会被内核自动加载默认的iavf驱动。此时想要热添加到虚拟机中,需要先卸载VF设备的iavf驱动。

#0000:81:02.0是切分后待透传的VF设备的BDF号
echo 0000:81:02.0 > /sys/bus/pci/drivers/iavf/unbind

卸载后,设备下的driver_override为(null),是无法直接在/sys/bus/pci/drivers/vfio-pci下bind设备的,会提示没有device,需要先将设备的driver_override配置为vfio-pci,挂载驱动后再进行绑定。

echo vfio-pci > /sys/bus/pci/devices/0000:81:02.0/driver_override 
echo 0000:81:02.0 > /sys/bus/pci/drivers/vfio-pci/bind

VF设备加载为vfio-pci后,使用virsh命令进行热添加。需要指定type类型为hostdev,VF设备也是一种主机设备透传的方式被使用。

virsh attach-interface rqw_ffr_t3 --type hostdev --source 0000:81:02.0 --model vfio --live --config --persistent

热添加virtio网卡

对于虚机间的网络流量使用主机上的虚拟网桥即可,当然如果对性能要求很高可以不考虑。

#主机上创建虚拟网桥
brctl addbr virbr13
ip link set virbr13 up
ip addr add 192.168.13.1/24 dev virbr13

#source指定virbr13,使用virtio驱动
virsh attach-interface rqw_ffr_t3 --type bridge --source virbr13 --model virtio --config --live --persistent

离线添加VF网卡

这里顺便记录下离线添加网卡的配置,避免到处去找网卡XML格式。

<interface type='hostdev' managed='yes'>
  <driver name='vfio'/>
  <source>
    <address type='pci' domain='0x0000' bus='0x81' slot='0x02' function='0x0'/>
  </source>
  <address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/>
</interface>

后续补充其他遇到的网卡类型 。

热卸载网卡

先获取需要卸载的网卡type和mac地址。在使用detach-interface卸载

<interface type='bridge'>
  <mac address='52:54:00:8d:fd:f2'/>
  <source bridge='virbr13'/>
  <target dev='vnet11'/>
  <model type='virtio'/>
  <alias name='net2'/>
  <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/>
</interface>
virsh detach-interface rqw_ffr_t3 --type bridge --mac 52:54:00:8d:fd:f2  --config --live

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值