zoukankan      html  css  js  c++  java
  • Linux下bind6配置

    bind0配置做过了,但是感觉上怪怪的,环境是虚拟机给了两块网卡。然后配置成bind0,但是做好之后发现ping这个bind0的地址是可以的,如果down掉一块网卡,那么就ping不通bind0的地址了,然后就需要重启虚拟机的network才可以。同样的,第一块网卡up之后,把第二块网卡down掉,发现还是需要重启网卡这一手动,这是我不愿意接受的。不是说自动切换吗?怎么没有呢?

    后来网上查需要在交换机做端口聚合,不明白什么意思,难道在虚拟机上做不了?不管了,通过研究发现可以做bind6来尝试,原文章是这样说bind的几种模式的:

    常用的有三种模式
    mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
    mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
    mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
    需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.(实测中mode0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。)
    
    mode5和mode6不需要交换机端的设置,网卡能自动聚合,因为做bonding的这两块网卡是使用不同的MAC地址。mode4需要支持802.3ad。mode0,mode2和mode3理论上需要静态聚合方式。
    

    我自己做的实验如下,做了bond6,配置如下,

    centos7系统,都是在/etc/sysconfig/network-scripts下的网卡配置文件写的

    首先是两块网卡的配置

    第一个:

    [root@localhost network-scripts]#cat ifcfg-ens33
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    MASTER=bond6
    SLAVE=yes
    USERCTL=no
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    NAME=ens33
    UUID=0422964f-499b-47a7-a6f5-00965fd69d4d
    DEVICE=ens33
    ONBOOT=yes

    第二块如下:

    TYPE=Ethernet
    MASTER=bond6
    SLAVE=yes
    USERCTL=no
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    NAME=ens37
    UUID=0422964f-499b-47a7-a6f5-00965fd69d4e
    DEVICE=ens37
    ONBOOT=yes

    bond6的配置文件如下:

    [root@localhost network-scripts]#cat ifcfg-bond6 
    DEVICE=bond6
    ONBOOT=yes
    USERCTL=yes
    BOOTPROTO=none
    BONDING_OPTS="mode=6 miimon=100"
    IPADDR=192.168.1.135
    NETMASK=255.255.255.0
    DNS1=114.114.114.114
    GATEWAY=192.168.1.2

    然后重启network

    看这个文件可以看到配置成功了没有:

    [root@localhost network-scripts]#cat /proc/net/bonding/bond6
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: adaptive load balancing
    Primary Slave: None
    Currently Active Slave: ens37
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: ens33
    MII Status: down
    Speed: Unknown
    Duplex: Unknown
    Link Failure Count: 2
    Permanent HW addr: 00:0c:29:86:99:0d
    Slave queue ID: 0
    
    Slave Interface: ens37
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 1
    Permanent HW addr: 00:0c:29:86:99:17
    Slave queue ID: 0

    这个文件可以列出你bond6的内容信息。

    然后我们执行ip命令查看一下:

    [root@localhost network-scripts]#ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP> mtu 1500 qdisc pfifo_fast master bond6 state DOWN group default qlen 1000
        link/ether 00:0c:29:86:99:17 brd ff:ff:ff:ff:ff:ff
    3: ens37: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond6 state UP group default qlen 1000
        link/ether 00:0c:29:86:99:0d brd ff:ff:ff:ff:ff:ff
    6: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether 0a:dd:16:fa:cf:61 brd ff:ff:ff:ff:ff:ff
    7: bond6: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:0c:29:86:99:0d brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.135/24 brd 192.168.1.255 scope global bond6
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe86:990d/64 scope link 
           valid_lft forever preferred_lft forever

    可以看到bond6特征。bond6的mac地址和ens37是一样的,如果现在把ens37给down掉了,此时bond6的mac地址和ens33是一样。他们是自动切换的。

  • 相关阅读:
    Building a flexiable renderer
    Indirect Illumination in mental ray
    我的心情
    Cellular Automata
    Subsurface Scattering in mental ray
    Shader Types in mental ray
    BSP Traversal
    我的渲染器终于达到了MR的速度
    How to handle displacement and motion blur
    说明
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/12660184.html
Copyright © 2011-2022 走看看