zoukankan      html  css  js  c++  java
  • 网卡绑定

    下面来看一下Linux Redhat 5.4 下的一个绑定测试。 2个网卡绑定成bond0

     

    1. /etc/sysconfig/network-scripts/下创建虚拟网卡bond0的配置文件ifcfg-bond0

     【RHEL5】

    [root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-bond0

    DEVICE=bond0

    BOOTPROTO=none

    BROADCAST=192.168.6.255

    IPADDR=192.168.6.200

    NETMASK=255.255.255.0

    ONBOOT=yes

    TYPE=Ethernet

    GATEWAY=192.168.6.254

    USERCTL=no

    IPV6INIT=no

    PEERDNS=yes

    【RHEL6】

    DEVICE=bond0

    BOOTPROTO=none

    BROADCAST=192.168.4.255

    IPADDR=192.168.4.56

    NETMASK=255.255.255.0

    ONBOOT=yes

    TYPE=Ethernet

    GATEWAY=192.168.4.1

    USERCTL=no

    IPV6INIT=no

    PEERDNS=yes

     

    参数说明:

    DEVICE=物理设备名 

    IPADDR=IP地址 

    NETMASK=掩码值 

    NETWORK=网络地址 

    BROADCAST=广播地址 

    GATEWAY=网关地址 

    ONBOOT=[yes|no](引导时是否激活设备) 

    USERCTL=[yes|no](非root用户是否可以控制该设备) 

    BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议) 

    HWADDR = 你的MAC地址

     

    2. 分别修改原来网卡配置文件的信息,删除其中的IP 地址、子网掩码等信息

     

    [root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

    # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

    DEVICE=eth0

    BOOTPROTO=none

    master=bond0

    slave=yes

    ONBOOT=yes

    TYPE=Ethernet

    USERCTL=no

    IPV6INIT=no

    PEERDNS=yes

     

     

    [root@singledb doc]# cat /etc/sysconfig/network-scripts/ifcfg-eth1

    # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

    DEVICE=eth1

    BOOTPROTO=none

    master=bond0

    slave=yes

    ONBOOT=yes

    TYPE=Ethernet

    USERCTL=no

    IPV6INIT=no

    PEERDNS=yes

     

    3. 配置 驱动模块参数:

    RHEL5

    /etc/modules.conf文件中添加如下内容:

    [root@singledb doc]# cat /etc/modprobe.conf   

    alias eth0 pcnet32

    alias eth1 pcnet32

    alias scsi_hostadapter mptbase

    alias scsi_hostadapter1 mptspi

    alias scsi_hostadapter2 ata_piix

    alias peth0 pcnet32

    alias bond0 bonding 

    options bond0 miimon=100 mode=0

     RHEL6

    在 /etc/modprobe.d/bonding.conf文件中添加如下内容

    [root@rhel1 ~]# cat /etc/modprobe.d/bonding.conf                

    alias bond0 bonding

    BONDING_OPTS="MODE=0 MIIMON=100

    说明:

    1)、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之间是否连通,如不通则使用另外的链路。 

    2)mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持   

      mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的

         mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持

     

    看了一个网友的测试,在mode=6 下有丢包现在。 选择mode =0 就可以了。

    Linux 双网卡绑定测试

    http://www.cnblogs.com/killkill/archive/2009/02/15/1390717.html

     

     

    4. 设置开机绑定

    先在Linux Terminal里执行一下命令:

    ifenslave bond0 eth1 eth0

     

    将虚拟网卡进行绑定,然后将该参数添加到/etc/rc.local中,让开机自动绑定: 

     

    [root@singledb doc]# cat /etc/rc.local 

    #!/bin/sh

     

    touch /var/lock/subsys/local

    ifenslave bond0 eth0 eth1

     

     

    5. 重新网络

    [root@singledb ~]# service network restart

    绑定网卡的启动与关闭:

         # ifdown  bond0

         #ifup       bond0

     

     

    现在我们可以做测试,比如拔掉某个网卡的网线,或者ifdown bond0还是可以正常工作的。

     

    我是在虚拟机上做的测试。 

    1#ifdown eth0

    此时bond0还可以正常连接。

    2#ifdown eth1

    此时bond0 的连接也中断。

    3#ifup eth0

    bond0 又恢复正常。

     

     

    这里只是对Redhat 5.4 Linux 下的一个测试,Unix 下方法又不一样,等以后有环境了,在测试一下。

     

     

     

    1. 安装完成Centos 6.3 , 配置网卡后发现 eth1内网的配置不能生效,restart 只有eth0相关信息;

    2. 使用setup 命令设置eth1 IP后, 目录/etc/sysconfig/network-scripts下面没有ifcfg-eth1配置;

    3. 手动创建ifcfg-eth1文件,重启报下面错误

     

     

    Rhel6 问题解决:

    [root@hexuweb102 ~]$ /etc/init.d/network restart

    Shutting down interface eth0:  Device state: 3 (disconnected)

                                                               [  OK  ]

    Shutting down interface eth1:  Error: Device 'eth1' (/org/freedesktop/NetworkManager/Devices/0) disconnecting failed: This device is not active

                                                               [FAILED]

    Shutting down loopback interface:                          [  OK  ]

    Bringing up loopback interface:                            [  OK  ]

    Bringing up interface eth0:  Active connection state: activated

    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/17

                                                               [  OK  ]

    Bringing up interface eth1:  Active connection state: activated

    Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/18

     

    经过Google找到答案,解决方法如下:

     

     

     

     [root@hexuweb102 ~]$ service NetworkManager stop 

     ## 永久性关闭此服务

     [root@hexuweb102 ~]$ chkconfig NetworkManager off

    更多参考:

     

    Centos 6.3 与 Centos 5.x 对比可以发现多了一行:

     

     

    ## NM_CONTROLLED 实际上是network mamager的参数,而且实时生效。也就是说你改完它保存,不需要重启,它立刻生效。

    NM_CONTROLLED=yes

    使用下面命令检查NetworkManager服务的启动情况:

     

     

    [root@hexuweb102 ~]$ chkconfig --list | grep on

    NetworkManager     0:off    1:off    2:on    3:on    4:on    5:on    6:off

    如何习惯了使用network来管理,那就把 NetworkManager 关闭吧,有网友说好像 network 与 NetworkManger有冲突,目前我也不太清楚。

     

     

    ## 执行下面命令即可

    [root@hexuweb102 ~]$ chkconfig NetworkManager off





  • 相关阅读:
    怎样应对突发性的开发需求
    ASP.NET过滤HTML标签只保留换行与空格的方法
    sqlserver 各种判断是否存在(表名、函数、存储过程等)
    Timing advance of GSM(时间提前量)
    对.NET中Hashtable和ArryList的理解
    GPS原始经纬度转百度经纬度
    baidu经纬度坐标与google经纬度坐标都转换
    .NET资料之-根据两点经纬度计算直线距离
    .net处理JSON简明教程
    在asp.net中要不使用其他插件的情况下只能使用定时器来检查, 并执行任务.
  • 原文地址:https://www.cnblogs.com/djinmusic/p/3997924.html
Copyright © 2011-2022 走看看