更新时间:2021-12-25 GMT+08:00
分享

QoS功能验证

  1. 配置VF。

    具体操作请参考配置内核态SR-IOV

  2. 启动OVS,配置组网。

    1
    2
    3
    4
    5
    6
    systemctl start openvswitch
    ovs-vsctl add-br br-ovs
    ovs-vsctl add-port br-ovs enp1s0f0_0
    ovs-vsctl add-port br-ovs enp1s0f0
    ip link set dev enp1s0f0 up
    ip link set dev enp1s0f0_0 up
    

  3. 启动虚拟机。

    1
    virsh start vm1
    

  4. 配置ingress方向Qos限速。

    1
    ovs-vsctl set Interface enp1s0f0_0 ingress_policing_rate=100000
    

  5. 进入虚拟机。

    1
    virsh console vm1
    

  6. 打流验证限速情况。

    • Host2 vm1执行:
      1
      iperf3 -s
      
    • Host1 vm1执行:
      1
      iperf3 -c <Host2vm1_ip> -t 0
      

    两个虚拟机之间互相打流,限速都不生效:

    入端口限速需要内核版本5.7以上支持。

  7. 按Ctrl+]切出虚拟机,在物理机配置出方向的QoS限速。

    1
    2
    3
    ovs-vsctl set port enp1s0f0_0 qos=@newqos -- --id=@newqos create qos type=linux-htb other-config:max-rate=200000000 \
    queues=123=@q1 -- --id=@q1 create queue other-config:max-rate=200000000
    ovs-ofctl add-flow br-ovs "in_port=2,actions=set_queue:123,normal"
    

  8. 再次进入虚拟机并打流,验证出方向限速情况。

  9. 按Ctrl+]切出虚拟机,在其中一台物理机查看卸载流表。

    1
    watch -n 1 -d ovs-appctl dpctl/dump-flows 
    

    流表卸载情况:

验证结果

入口限速不生效,出口限速生效,但是限速流表不卸载。

分享:

    相关文档

    相关产品

close