• kvm多块网卡配置虚拟网卡


    网卡配置bond(绑定)
    (1)网卡bond(绑定),也称作网卡捆绑。就是将两个或者更多的物理网卡绑定成一个虚拟网卡。网卡是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在应用部署中是一种常用的技术。
          多网卡绑定实际上需要提供一个额外的软件的bond驱动程序实现。通过驱动程序可以将多块网卡屏蔽。对TCP/IP协议层只存在一个Bond网卡,在Bond程序中实现网络流量的负载均衡,即将一个网络请求重定位到不同的网卡上,来提高总体网络的可用性。

    (2)网卡绑定的目的:
       1.提高网卡的吞吐量。
       2.增强网络的高可用,同时也能实现负载均衡。

    (3)网卡配置bond(绑定)bond模式:
    1、Mode=0(balance-rr) 表示负载分担round-robin,平衡轮询策略,具有负载平衡和容错功能
    bond的网卡MAC为当前活动的网卡的MAC地址,需要交换机设置聚合模式,将多个网卡绑定为一条链路。

    2、Mode=1(active-backup) 表示主备模式,具有容错功能,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
        
    3、Mode=2(balance-xor) 表示XOR Hash负载分担(异或平衡策略),具有负载平衡和容错功能
    每个slave接口传输每个数据包和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)。

    4、Mode=3(broadcast)  表示所有包从所有interface发出,广播策略,具有容错能力,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。  

    5、Mode=4(802.3ad) 表示支持802.3ad协议(IEEE802.3ad 动态链接聚合) 和交换机的聚合LACP方式配合(需要xmit_hash_policy)。

    6、Mode=5(balance-tlb) 适配器传输负载均衡,并行发送,无法并行接收,解决了数据发送的瓶颈。 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。  

    7、Mode=6(balance-alb) 在5的tlb基础上增加了rlb。适配器负载均衡模式并行发送,并行接收数据包。
     
    5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。0,2和3理论上需要静态聚合方式,但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

    常用的有三种:

    mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

    mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

    mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。


    环境前部署
    [root@zxw6 ~]# modprobe 8021q
    [root@zxw6 ~]# lsmod | grep 8021q
    8021q 33104 0
    garp 14384 1 8021q
    mrp 18542 1 8021q
    添加4个网卡

    第一步:配置ens37,38,39,41
    [root@zxw6 network-scripts]# vim ifcfg-ens41

    TYPE=Ethernet
    BOOTPROTO=none
    DEVICE=ens41
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    第二步:绑定所以网卡
    [root@zxw6 network-scripts]# modprobe bonding

    第三步:创建bond网卡
    [root@zxw6 network-scripts]# vim ifcfg-bond0
    DEVICE=bond0 驱动
    TYPE=Bond 类型
    NAME=bond0 名字
    BONDING_MASTER=yes 绑定网卡主
    BOOTPROTO=static 获取ip
    USERCTL=no 开启用户命令管理
    ONBOOT=yes 开机自启
    BONDING_OPTS="mode=6 miimon=100" 绑定参数,100检测
    BRIDGE=br1 桥接网卡

    第四步:创建br1网桥
    [root@zxw6 network-scripts]# brctl addbr br1

    第四步:创建配置文件br1
    [root@zxw6 network-scripts]# vim ifcfg-br1

    NAME=br1
    DEVICE=br1
    ONBOOT=yes
    BOOTPROTO=static
    TYPE=Bridge

    IPADDR=192.168.10.1
    IPADDR1=192.168.20.1
    IPADDR2=192.168.30.1
    IPADDR3=192.168.40.1
    IPADDR4=192.168.50.1
    PREFIX3=24
    PREFIX4=24

    第五步:创建虚拟网卡br1.10 br1.20
    [root@zxw6 ~]# yum localinstall vconfig-1.9-16.el7.x86_64.rpm -y

    [root@zxw6 network-scripts]# vconfig add br1 10
    Added VLAN with VID == 10 to IF -:br1:-
    [root@zxw6 network-scripts]# vconfig add br1 20
    Added VLAN with VID == 20 to IF -:br1:-

    第六步:创建配置文件br1.10 br1.20
    [root@zxw6 network-scripts]# vim ifcfg-br1.10

    VLAN=yes
    TYPE=vlan
    PHYSDEV=br1
    VLAN_ID=10
    NAME=br1.10
    ONBOOT=yes
    DEVICE=br1.10
    BRIDGE=brvlan-10
    ZONE=trusted

    0[root@zxw6 network-scripts]# cat ifcfg-br1.20
    VLAN=yes
    TYPE=vlan
    PHYSDEV=br1
    VLAN_ID=20
    NAME=br1.20
    ONBOOT=yes
    DEVICE=br1.20
    BRIDGE=brvlan-20
    ZONE=trusted

    第七步:创建brvlan-10,brvlan-20网桥
    [root@zxw6 network-scripts]# brctl addbr brvlan-10
    [root@zxw6 network-scripts]# brctl addbr brvlan-20
    [root@zxw6 network-scripts]# brctl show
    bridge name bridge id STP enabled interfaces
    br0 8000.000c295c6c9e no ens33
    br1 8000.000c295c6ca8 no bond0
    brvlan-10 8000.000000000000 no
    brvlan-20 8000.000000000000 no

    第八步:配置文件brvlan10,brvlan20
    [root@zxw6 network-scripts]# vim ifcfg-brvlan-10

    TYPE=bridge
    BOOTPROTO=static
    NAME=brvlan-10
    DEVICE=brvlan-10
    ONBOOT=yes

    [root@zxw6 network-scripts]# vim ifcfg-brvlan-20

    TYPE=bridge
    BOOTPROTO=static
    NAME=brvlan-20
    DEVICE=brvlan-20
    ONBOOT=yes

    第九步:链接网卡br1.10 br1.20和网桥brvlan-10,brvlan-20
    [root@zxw6 network-scripts]# brctl addif brvlan-10 br1.10
    [root@zxw6 network-scripts]# brctl addif brvlan-20 br1.20


    第十步:重启服务
    [root@zxw6 network-scripts]# systemctl restart network


    打开虚拟机检测

    手动配置网卡

     

  • 相关阅读:
    WPF快速入门系列(4)——深入解析WPF绑定
    HDU 1047 Integer Inquiry 大数相加 string解法
    uva 10452 Marcus
    PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简介
    Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
    TQ2440 学习笔记—— 1、Windows平台下开发工具安装与环境建立
    Android之——jni通用工具方法
    [Erlang危机](5.1.4)端口port
    uva 10765 Doves and Bombs(割顶)
    js坑爹笔试题目汇总(持续更新中)
  • 原文地址:https://www.cnblogs.com/itzhao/p/11320957.html
Copyright © 2020-2023  润新知