精华内容
下载资源
问答
  • linux 查看bond0
    2021-05-13 12:28:23

    SCC(超级计算集群)简介 SCC概述 超级计算集群(Super Computing Cluster,SCC)使用高速RDMA网络互联的CPU以及GPU等异构加速设备,面向高性能计算、人工智能/机器学习、科学/工程计算、数据分析、音视频处理等应用,提供极致计算性能和并行效率的计算集群服务。

    SCC实例类型 类型 CPU Memory 网络 存储 适用场景 ecs.scch5.16xlarge 64核 Skylake Xeon Gold 6149 3.1GHz 192GB 50 Gbps RDMA 高效云盘(容量可选) + SSD云盘(容量可选) CPU主频高,单核计算能力强,适用于多数计算密集型应用场景 ecs.sccg5.24xlarge 96核 Skylake Xeon Platinum 8163 2.5GHz 384GB 50 Gbps RDMA 高效云盘(容量可选) + SSD云盘(容量可选) CPU核数多,内存容量大,适用于内存需求较高、扩展性好的科学计算场景以及高并发的批处理场景 使用SCC实例创建E-HPC集群 创建过程 目前配备有SCC实例的可用区主要有:华东1可用区H、华东2可用区B、华北1可用区C、华北3可用区A。考虑到库存的变化,用户在创建集群之前可以通过ECS管理控制台查看SCC实例在不同可用区的分布情况。 从E-HPC管理控制台进入集群创建页面,在计算节点下划栏中勾选SCC实例。 勾选SCC注意:上图中SCC实例的CPU核数是按照vCPU数目来显示的,而实际交付的SCC实例为超线程关闭(HT off)状态,即scch5.16xlarge和sccg5.24xlarge的CPU核数分别为32物理核和48物理核。

    后续创建过程请参考E-HPC集群创建与配置 硬件信息 相比于普通ECS实例,SCC实例的核心硬件升级之一在于配备了50Gbps的RoCE(RDMA over Converged Ethernet)网络,故网络信息与普通ECS实例相比有明显差异。

    网络硬件信息 相比于普通ECS实例,SCC实例同时拥有10Gbps VPC网络和50Gbps RoCE网络的网口,因此在会ECS管理控制台上会同时显示两个IP地址。 SCC IP

    正常的SCC实例会显示如下网口信息,其中bond0为RoCE网口,eth0为VPC网口。 SCC网口信息

    网络连通性验证 同一个E-HPC集群下的SCC实例间的VPC网络IP和RoCE网络IP均可以相互ping通 同一个E-HPC集群下的SCC实例间可以通过VPC网络IP和RoCE网络IP进行ssh登陆 RoCE网络性能测试 测试RoCE网络的峰值带宽与延迟 带宽测试样例 ##读带宽测试 ib_read_bw -a -q 20 --report_gbits ##服务端compute0执行 ib_read_bw -a -q 20 --report_gbits compute0 ##用户端compute1执行 ##写带宽测试 ib_write_bw -a -q 20 --report_gbits ##服务端compute0执行 ib_write_bw -a -q 20 --report_gbits compute0 ##用户端compute1执行 延迟测试样例 ##读延迟测试 ib_read_lat -a ##服务端compute0执行 ib_read_lat -F -a compute0 ##用户端compute1执行 ##写延迟测试 ib_write_lat -a ##服务端compute0执行 ib_write_lat -F -a compute0 ##用户端compute1执行 监测RoCE网络的实际带宽利用情况 在SCC实例root用户下执行rdma_monitor -s实时获取RoCE网络信息 rdma_monitor

    使用E-HPC性能监控与分析引擎集谛来监测各SCC实例RoCE网络带宽随时间的变化情况。 集谛监测RoCE

    在SCC集群上编译和运行MPI程序 由于SCC实例同时支持50Gbps RoCE网络和10Gbps VPC网络,用户在执行跨节点MPI程序时可能会遇到节点间数据流量默认走VPC网口的情况,这里我们推荐用户在SCC集群上使用IntelMPI来编译和运行跨节点MPI程序。

    编译跨节点MPI程序 安装IntelMPI E-HPC集成了IntelMPI 2018版本,用户只需在E-HPC控制台集群创建或软件管理功能界面中勾选IntelMPI 2018进行安装即可。

    intelmpi

    配置MPI环境变量 方法一:使用E-HPC集成的Module管理工具 $ module avail --------------------------------- /opt/ehpcmodulefiles -------------------------------- intel-mpi/2018 $ module load intel-mpi/2018 $ which mpicc /opt/intel/impi/2018.3.222/bin64/mpicc 方法二:执行IntelMPI自带的环境变量配置脚本 $ source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64 $ which mpicc /opt/intel/impi/2018.3.222/bin64/mpicc 设置MPI编译参数 完成MPI环境变量配置后,需要在软件Makefile或预编译脚本中指定MPI编译器的相对/绝对路径,然后执行编译过程。

    -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx 运行跨节点MPI程序 对于在E-HPC软件环境中采用IntelMPI编译的软件,提交任务时无需额外指定网口参数,便可以直接通过RoCE网络进行跨节点数据通信。 #!/bin/sh #PBS -j oe #PBS -l select=:ncpus=:mpiprocs= module load intel-mpi/2018 mpirun 对于在用户本地环境编译的软件或预编译的商用软件,可以在提交MPI任务时指定RoCE网卡信息来避免可能出现的数据流量不走RoCE网络或网卡设备not found等问题。 #!/bin/sh #PBS -j oe #PBS -l select=:ncpus=:mpiprocs= export I_MPI_FABRICS=shm:dapl module load intel-mpi/2018 mpirun -genv I_MPI_DAPL_PROVIDER ofa-v2-mlx5_bond_0 用户可以使用集谛性能监测功能对SCC实例的CPU利用率、访存带宽、RoCE网络带宽等性能数据进行实时监测。 SCC性能

    更多相关内容
  • ifcfg-bond0

    2021-08-11 09:32:33
    Linux系统下网卡聚合配置mode4标准
  • 文章目录说明执行成功的界面如下脚本内容 说明 bond0脚本其实就是把手动修改的内容变成一键修改而已,所以,理论上,只要会手动配置链路...注意:本脚本默认一键配置bond0和bond1双联路,如果仅仅是需要配置一个bond0

    说明【必看】

    • 该脚本中如果没有你需要的功能,可以私信我需求,我后面会加上相应功能的。

    • bond0脚本其实就是把手动修改的内容变成一键修改而已,所以,理论上,只要会手动配置链路,就知道配置链路脚本的原理的,所以就不对脚本内容做解析了,只对脚本需要修改的内容做详细说明;
      注:如果不会配置双网卡的,去好好研究研究这篇博客,跟着走几遍就懂了:

    • 超详细linux手动配置单网卡和双网卡(bond0和team)以及DNS,ps:使用命令配置

    • 该脚本适用于单台服务器【主要是用于新服务器配置IP用】,如果想批量跑,额,还挺麻烦,可以自己想想怎么弄,无法解决再看最下面的”遍历执行过程“,我提供了一种方法。

    双bond脚本

    执行成功的界面如下

    在这里插入图片描述

    bond脚本内容

    • 注意:本脚本默认一键配置bond0和bond1双联路,如果仅仅是需要配置一个bond0,需要把bond1的代码注释掉,否则会报错【找不到参数】

    • 需要修改的地方已经在文章中详细说明了,拷贝到服务器内,修改网卡名称即可直接使用。
      注:bond1或bond0写入时,记得注释或取消注释,超人性化的预留了2种mode模式:mode1和mode4

    • 如果服务器上网卡名称太多,不知道哪两个网卡绑定在一起,可以用ethtool命令来查询该网卡是否启用以及该网卡是千兆口还是万兆口。

    #!/usr/bin/sh
    
    # 定义bond的2个网卡名称参数
    # bond0 
    # 需要修改最后的网卡名称
    bond0_port1="/etc/sysconfig/network-scripts/ifcfg-enp11"
    bond0_port2="/etc/sysconfig/network-scripts/ifcfg-enp22"
    
    # bond1
    # 需要修改最后的网卡名称
    bond1_port1="/etc/sysconfig/network-scripts/ifcfg-enps11"
    bond2_port2="/etc/sysconfig/network-scripts/ifcfg-enps12"
    
    # 固定格式
    bond0="/etc/sysconfig/network-scripts/ifcfg-bond0"
    bond1="/etc/sysconfig/network-scripts/ifcfg-bond1"
    
    # 创建bond文件夹
    touch $bond0
    touch $bond1
    
    
    # 写入(修改)bond0网卡配置文件内容
    # 需要修改 DEVICE名称为真实网卡名称
    echo "DEVICE=enp11
    BOOTPROTO=none
    MASTER=bond0
    NM_CONTROLLED=no
    SLAVE=yes" > $bond0_port1
    
    echo "DEVICE=enp22
    BOOTPROTO=none
    MASTER=bond0
    NM_CONTROLLED=no
    SLAVE=yes" > $bond0_port2
    
    # 写入(修改)bond1网卡配置文件内容
    # 需要修改 DEVICE名称为真实网卡名称
    echo "DEVICE=enps11
    BOOTPROTO=none
    MASTER=bond1
    NM_CONTROLLED=no
    SLAVE=yes" > $bond1_port1
    
    echo "DEVICE=enps12
    BOOTPROTO=none
    MASTER=bond1
    NM_CONTROLLED=no
    SLAVE=yes" > $bond2_port2
    
    # 写入bond0配置文件
    # 需要修改IPADDR、NETMASK【注,如果是内部网通信bond,是不需要网关GATEWAY的】,最后的BONDING需要选择
    echo "DEVICE=bond0
    BOOTPROTO=none
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=10.233.20.5
    NETMASK=255.255.255.0" > $bond0
    # 【建议用于mode=4或mode=6】
    echo 'BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4"' >> $bond0
    #【建议用于mode=1】
    #echo 'BONDING_OPTS = "mode=1 miimon=100 updelay=600000 primary=em1"' >> $bond0
    
    # 写入bond1配置文件
    # 需要修改IPADDR、NETMASK【注,如果是内部网通信bond,是不需要网关GATEWAY的】,最后的BONDING需要选择
    echo "DEVICE=bond1
    BOOTPROTO=none
    NM_CONTROLLED=no
    ONBOOT=yes
    TYPE=Ethernet
    IPADDR=192.168.123.2
    GATEWAY=192.168.123.254
    NETMASK=255.255.255.0"  > $bond1
    # 【建议用于mode=4或mode=6】
    #echo 'BONDING_OPTS="mode=4 miimon=100 lacp_rate=fast xmit_hash_policy=layer3+4"' >> $bond1
    #【建议用于mode=1】
    echo 'BONDING_OPTS = "mode=1 miimon=100 updelay=600000 primary=em1"' >> $bond1
     
    
    sleep 1
    # 关闭Networkmanager并重启网卡
    echo "systemctl stop NetworkManager"
    systemctl stop NetworkManager
    echo "systemctl disable NetworkManager"
    systemctl disable NetworkManager
    echo "systemctl restart network"
    systemctl restart network
    
    sleep 1
    # 查看bond0的配置文件
    echo "ip -o a | grep bond0"
    ip -o a | grep bond0
    
    sleep 1
    # 查看bond1的配置文件
    echo "ip -o a | grep bond1"
    ip -o a | grep bond1
    
    

    删除已配置的bond方法

    你认为怎么删? 是不是以为在配置文件中把网卡删了重启网络就好了?

    答案是:

    no

    下面这就是在配置文件中删了bond0和bond1,重启网卡后依然能看到bond1和bond0的IP
    在这里插入图片描述

    • 删除方法如下:
      这是最简单的方法:
      • 1、启动Networkmanager服务
        systemctl start NetworkManager
      • 2、nmcli查看网络链接
        nmcli con show
      • 3、使用nmcli删除接口
        nmcli con delete bond0
        nmcli con delete bond1
        在这里插入图片描述

    遍历执行过程

    说明

    • 遍历首先要满足一个条件,就是服务器之间已经打通了网络【如果是新服务器,一般是没有被打通网络的,所以只能用上面的方法,一台一台执行配置ip】。

    • 这个遍历比较特殊,需要满足2个条件和一个执行条件:

      • 1、scp拷贝上面的bond脚本到目标服务器上,然后把脚本中IP掩码网关改成自动获取;
      • 2、因为是在目标服务器执行,需要给每台服务器准备ip,掩码和网关,而这些文件是不能存放在本地服务器的,所以得想办法把3样放到目标服务器,因为批量跑,肯定不能像上面一样手动给每个脚本更换IP。
      • 执行条件就是上面2样准备完毕以后批量执行每台目标服务器上的脚本。
      • 先思考一下怎么解决上面的2样东西,如果实在想不出,再看我下面的方案【思路已经提供了,脚本还是要多想多测试,不然没法提升的】

    遍历脚本代码

    遍历给每台服务器准备需要配置的IP、掩码和网关。

    [root@controll ccx]# pwd
    /ccx
    [root@controll ccx]# cat iplist1.txt 
    # 这个文件是放能正常ssh上去的目标服务器IP
    192.168.59.128
    192.168.59.129
    192.168.59.130
    [root@controll ccx]# cat ipmask.txt 
    # 这个文件是存放需要新配置的IP、掩码和网关,中间用一个空格隔开【空格只能有一个,不能多】
    192.168.59.128 255.255.255.0 192.168.59.2
    192.168.59.129 255.255.255.0 192.168.59.2
    192.168.59.130 255.255.255.0 192.168.59.2
    [root@controll ccx]# 
    [root@controll ccx]# cat echo.sh 
    #!/bin/bash
    
    file=/ccx/iplist1.txt
    ip=/ccx/ipmask.txt
    cat $file|while read line ; do
    cat $ip | while read ip ; do
    a=($ip)    
    ssh $line << EOF
    mkdir /ccx
    echo ${a[0]} > /ccx/ip
    echo ${a[1]} > /ccx/mask
    echo ${a[2]} > /ccx/gateway
    
    EOF
    done
    done
    
    [root@controll ccx]# 
    

    执行查看效果

    • 执行方式:sh echo.sh
    • 因为需要拷贝3个文件,所以需要输入3次密码【其中第一次创建了/ccx这个文件,所以第二第三次就会报/ccx文件已存在,无法创建,这个无所谓的,如果有强迫症,不想出现这个提升,可以加个if条件,if=1的时候创建即可】
    [root@controll ccx]# 
    [root@controll ccx]# sh echo.sh 
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.128's password: 
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.128's password: 
    mkdir: 无法创建目录"/ccx": 文件已存在
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.128's password: 
    mkdir: 无法创建目录"/ccx": 文件已存在
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.129's password: 
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.129's password: 
    mkdir: cannot create directory ‘/ccx’: File exists
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.129's password: 
    mkdir: cannot create directory ‘/ccx’: File exists
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.130's password: 
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.130's password: 
    mkdir: cannot create directory ‘/ccx’: File exists
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    root@192.168.59.130's password: 
    mkdir: cannot create directory ‘/ccx’: File exists
    [root@controll ccx]# ssh 192.168.59.128
    root@192.168.59.128's password: 
    Last login: Fri May 28 17:57:44 2021 from 192.168.59.133
    [root@centso76_1 ~]# cd /ccx/
    [root@centso76_1 ccx]# ls
    gateway  ip  mask
    [root@centso76_1 ccx]# cat gateway 
    192.168.59.2
    [root@centso76_1 ccx]# cat mask 
    255.255.255.0
    [root@centso76_1 ccx]# cat ip 
    192.168.59.130
    [root@centso76_1 ccx]# 登出
    Connection to 192.168.59.128 closed.
    [root@controll ccx]# ssh 192.168.59.129
    root@192.168.59.129's password: 
    Last login: Thu May 27 22:09:09 2021 from 192.168.59.133
    [root@centos76_2 ~]# cd /ccx/
    [root@centos76_2 ccx]# ls
    gateway  ip  mask
    [root@centos76_2 ccx]# cat gateway 
    192.168.59.2
    [root@centos76_2 ccx]# cat mask 
    255.255.255.0
    [root@centos76_2 ccx]# cat ip 
    192.168.59.130
    [root@centos76_2 ccx]#
    

    批量拷贝bond脚本代码

    注:上面脚本执行完毕以后,本地中就会生成IP、掩码和网关3个文件,先把bond脚本中不需要的注释掉,只留一个需要用的bond,然后把IP掩码和网关部分改成自动获取【自动获取这个脚本中也有方法,我就不去修改了,自己修改吧】,就是下图这3个地方的固定值改为自动获取文件即可【因为都是脚本跑的,所以每一个脚本文件都是固定的,不存在出错】
    在这里插入图片描述

    • 上面的bond脚本修改完毕以后就可以批量拷贝了
    [root@controll ccx]# pwd
    /ccx
    [root@controll ccx]# cat iplist1.txt  
    # 这个文件是放能正常ssh上去的目标服务器IP
    192.168.59.128
    192.168.59.129
    192.168.59.130
    [root@controll ccx]# cat install.sh 
    if [ $# -eq 0 ] ;then
            echo "Usage: /ccx/iplist1.txt"
            elif [ -f $1 ] ; then
                    for ip in `cat $1` ; do
                    scp /ccx/bond_aotu.sh $ip:/ccx
                    done
            else
                    echo "Input file not found"
    fi
    [root@controll ccx]# 
    

    执行查看效果

    • 执行方式:sh install.sh /ccx/iplist1.txt
    [root@controll ccx]# sh install.sh  # 如果不指定文件就报错咯
    Usage: /ccx/iplist1.txt
    [root@controll ccx]# 
    [root@controll ccx]# sh install.sh /ccx/iplist1.txt 
    root@192.168.59.128's password: 
    bond_aotu.sh                                                                                                                      100%    0     0.0KB/s   00:00    
    root@192.168.59.129's password: 
    bond_aotu.sh                                                                                                                      100%    0     0.0KB/s   00:00    
    root@192.168.59.130's password: 
    bond_aotu.sh                                                                                                                      100%    0     0.0KB/s   00:00    
    [root@controll ccx]# 
    

    批量执行bond脚本代码

    注:上面的脚本全部执行完毕以后,每台目标服务器上都会有这4个文件【bond脚本、ip、掩码和网关】:bond_aotu.sh gateway ip mask

    [root@controll ccx]# ssh 192.168.59.128
    root@192.168.59.128's password: 
    Last login: Fri May 28 18:13:17 2021 from 192.168.59.133
    [root@centso76_1 ~]# cd /ccx
    [root@centso76_1 ccx]# ls
    bond_aotu.sh  gateway  ip  mask
    [root@centso76_1 ccx]# 
    
    • 因为上面的全部条件都已经准备好了,所以可以直接在一台服务器上批量执行目标服务器上的这个脚本即可。
      【执行方式有很多,可以用expect,我这仅展示使用ssh执行即可】
      【另外,因为我不需要批量配置脚本ip,所以我的bond脚本代码内容是:echo "Good morning:hero ccx"
    [root@controll ccx]# pwd
    /ccx
    [root@controll ccx]# cat iplist1.txt  
    # 这个文件是放能正常ssh上去的目标服务器IP
    192.168.59.128
    192.168.59.129
    192.168.59.130
    [root@controll ccx]# cat /ccx/send.sh 
    if [ $# -eq 0 ] ;then
            echo "Usage: /ccx/iplist1.txt"
            elif [ -f $1 ] ; then
                    for ip in `cat $1` ; do
                    ssh $ip sh /ccx/bond_aotu.sh
                    done
            else
                    echo "Input file not found"
    fi
    [root@controll ccx]# 
    

    执行查看效果

    • 执行方式:sh install.sh /ccx/iplist1.txt
    [root@controll ccx]#
    [root@controll ccx]# sh send.sh iplist1.txt 
    root@192.168.59.128's password: 
    # 正常情况执行成功后呢,这展示的是bond脚本中的配置内容
    Good morning:hero ccx
    root@192.168.59.129's password: 
    Good morning:hero ccx
    root@192.168.59.130's password: 
    Good morning:hero ccx
    [root@controll ccx]#
    

    注:如果你执行这个脚本去目标服务器上发现ip并没有被配置的话,原因是因为这个方法调用的是本地服务器的ssh进程,换expect的方式执行这个脚本【但配置未成功的几率应该不会发生,这只是留下一个解决方案,以防万一】

    定位使用中的网络接口名称

    说明

    • 这个主要针对 一批服务器上有很多接口名称,从其中定位到正在使用的接口名称;
    • 实现方式依然是使用命令ethtool查看link是否为yes。
    • 注:如果是在虚拟机上做测试,添加的网卡,需要在设置中把设备状态已连接取消,使用ethtool命令看到的link才会为no【如果仅在虚拟机中down掉网卡,link状态依然为yes】
      在这里插入图片描述
    • 我现在的网卡场景是:
      ens33和38是正常的,ens39和40是没有连接的。
    [root@controll network-scripts]# nmcli device status
    DEVICE      TYPE      STATE        CONNECTION 
    ens33       ethernet  connected    ens33      
    ens38       ethernet  connected    ens38      
    virbr0      bridge    connected    virbr0     
    ens39       ethernet  unavailable  --         
    ens40       ethernet  unavailable  --         
    lo          loopback  unmanaged    --         
    virbr0-nic  tun       unmanaged    --         
    [root@controll network-scripts]# ethtool ens33 | grep Link
            Link detected: yes
    [root@controll network-scripts]# ethtool ens38 | grep Link
            Link detected: yes
    [root@controll network-scripts]# ethtool ens39 | grep Link
            Link detected: no
    [root@controll network-scripts]# ethtool ens40 | grep Link
            Link detected: no
    [root@controll network-scripts]# 
    

    代码

    • 要遍历link状态,首先得获取全部的接口名称,本来这种方式想用数组的方式存储的,但数组有点复杂,并且难以理解,所以就用最简单的,存入文件方式实现了【无需担心本地会多文件,最终会干掉所有生成的文件】;
      其次lo名称是回环接口名称,所以不需要看lo的Link状态,所以我用if过滤掉lo接口了。
    • 下列代码不需要修改任何信息,直接执行即可。
    [root@controll ~]# cat link.sh 
    #/bin/sh
    
    # 先创建一个文件
    if [ -e /work ] ; then
            echo '/work The file exists'
    else
            mkdir /work
            echo 'mkdir /work ok '
    fi
    
    > /work/ifcfg.txt
    ls /etc/sysconfig/network-scripts| grep ifcfg- |awk -F- '{print $2}' >> /work/ifcfg.txt
    echo "现有如下网卡名称:"
    cat /work/ifcfg.txt
    
    cat << ccx
    ******************************************
    *  下面展示接口名称的 Link detected状态     *
    ******************************************
    ccx
    
    cat /work/ifcfg.txt| while read work ; do
            if [ $work == lo ] ;then
                    continue
            fi
    echo -e "ifcfg-$work网口的Link detected状态为:\c"
    ethtool $work | grep Link | awk '{print $3}'
    done
    
    if [  -f /work/ ] ; then
    echo "/work is exists"
    else
    rm -rf /work
    fi
    [root@controll ~]# 
    

    执行效果

    • 该脚本可以放在任意位置
      注:执行前先看看本地是否有/work的文件夹,如果有该文件夹,将代码中的/work改一下,否则会干掉该文件夹【文件不会被干掉】!!!!
    • 执行方式:sh link.sh
    [root@controll ~]# sh link.sh
    mkdir /work ok 
    现有如下网卡名称:
    ens33
    ens38
    ens39
    ens40
    lo
    ******************************************
    *  下面展示接口名称的 Link detected状态     *
    ******************************************
    ifcfg-ens33网口的Link detected状态为:yes
    ifcfg-ens38网口的Link detected状态为:yes
    ifcfg-ens39网口的Link detected状态为:no
    ifcfg-ens40网口的Link detected状态为:no
    [root@controll ~]# 
    [root@controll ~]# ll /work
    ls: cannot access /work: No such file or directory
    [root@controll ~]# 
    

    遍历该脚本

    • 上面已经有遍历的方式了,我这就不展示了。
    • 执行思路:
      • 1、先将该脚本用scp批量拷贝到需要执行的服务器上
      • 2、批量执行服务器上的该脚本

    确认千兆口网卡名称和万兆口网卡名称

    说明

    • 这个主要是用于,千兆和千兆做一个bond,万兆和万兆做一个bond,所以需要先知道千兆和万兆口分别是哪些
    • 使用命令ethtool命令可以看到Speed结果的。

    代码

    • 要获取全部网卡的Speed结果,首先得获取全部的接口名称,本来这种方式想用数组的方式存储的,但数组有点复杂,并且难以理解,所以就用最简单的,存入文件方式实现了【无需担心本地会多文件,最终会干掉所有生成的文件】;
      其次lo名称是回环接口名称,所以不需要看lo的Link状态,所以我用if过滤掉lo接口了。
    • 下列代码不需要修改任何信息,直接执行即可。
    [root@controll ~]# cat speed.sh 
    #/bin/sh
    
    # 先创建一个文件
    if [ -e /work ] ; then
            echo '/work The file exists'
    else
            mkdir /work
            echo 'mkdir /work ok '
    fi
    
    > /work/ifcfg.txt
    ls /etc/sysconfig/network-scripts| grep ifcfg- |awk -F- '{print $2}' >> /work/ifcfg.txt
    echo "现有如下网卡名称:"
    cat /work/ifcfg.txt
    
    cat << ccx
    ******************************************
    * 下列网卡中万兆接口结果为:10000Mb/s       *
    * 下列网卡中千兆接口结果为: 1000Mb/s       *
    * 【下列网卡中结果为:Unknown!             *
    *   则表示该网卡未启用,忽略即可】          *
    ******************************************
    ccx
    
    cat /work/ifcfg.txt| while read work ; do
            if [ $work == lo ] ;then
                    continue
            fi
    echo -e "ifcfg-$work网口的Speed结果为:\c"
    ethtool $work | grep Speed | awk '{print $2}'
    done
    
    if [  -f /work/ ] ; then
    echo "/work is exists"
    else
    rm -rf /work
    fi
    [root@controll ~]# 
    

    执行效果

    • 该脚本可以放在任意位置
      注:执行前先看看本地是否有/work的文件夹,如果有该文件夹,将代码中的/work改一下,否则会干掉该文件夹【文件不会被干掉】!!!!
    • 执行方式:sh speed.sh
    [root@controll ~]# sh speed.sh
    mkdir /work ok 
    现有如下网卡名称:
    ens33
    ens38
    ens39
    ens40
    lo
    ******************************************
    * 下列网卡中万兆接口结果为:10000Mb/s       *
    * 下列网卡中千兆接口结果为: 1000Mb/s       *
    * 【下列网卡中结果为:Unknown!             *
    *   则表示该网卡未启用,忽略即可】          *
    ******************************************
    ifcfg-ens33网口的Speed结果为:1000Mb/s
    ifcfg-ens38网口的Speed结果为:1000Mb/s
    ifcfg-ens39网口的Speed结果为:Unknown!
    ifcfg-ens40网口的Speed结果为:Unknown!
    [root@controll ~]#
    [root@controll ~]# ll /work
    ls: cannot access /work: No such file or directory
    [root@controll ~]# 
    

    遍历该脚本

    • 上面已经有遍历的方式了,我这就不展示了。
    • 执行思路:
      • 1、先将该脚本用scp批量拷贝到需要执行的服务器上
      • 2、批量执行服务器上的该脚本

    确认网卡接口位置

    说明

    • 如现在有一个需求:需求是1&4 2& 3进行绑定
      问题来了:你怎么知道谁是1,谁是2,谁是3,谁是4 。【所谓是1,2,3,4:就是机房光口的位置而已】

      • 最简单的解决方法:
        去机房插光纤,一根一根的插
        插第一口,在服务器上记录名称,
        再插第二口,在服务器上记录名称
        再插第三口,在服务器上记录名称
        在插第四口,在服务器上记录名称

      • 另一个方法,就是在交换机上获取接口的mac名称【需要网络的同事提供了】
        然后根据第一口的mac名称对应出第一口网卡名称
        根据第二口的mac名称对应出第二口网卡名称
        根据第三口的mac名称对应出第三口网卡名称
        根据第四口的mac名称对应出第四口网卡名称

    • mac查看说明
      有些Linux发行版本的MAC地址字段为HWaddr,有些Linux发行版本的MAC地址字段为ether,根据实际情况看关键字【多数为ehter】
      查看方式见下面代码【命令后面有说明】

    [root@controll ~]# ip link #查看所有mac
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:4c:e2:1a brd ff:ff:ff:ff:ff:ff
    3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:4c:e2:24 brd ff:ff:ff:ff:ff:ff
    4: ens39: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:4c:e2:2e brd ff:ff:ff:ff:ff:ff
    5: ens40: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:4c:e2:38 brd ff:ff:ff:ff:ff:ff
    6: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
        link/ether 52:54:00:d1:84:32 brd ff:ff:ff:ff:ff:ff
    7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN mode DEFAULT group default qlen 1000
        link/ether 52:54:00:d1:84:32 brd ff:ff:ff:ff:ff:ff
    [root@controll ~]# ip link show ens33 #查看单台mac
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
        link/ether 00:0c:29:4c:e2:1a brd ff:ff:ff:ff:ff:ff
    [root@controll ~]# 
    [root@controll ~]# ip link show ens33 | awk '/ether/ {print $2}' #提取mac
    00:0c:29:4c:e2:1a
    [root@controll ~]#
    

    代码

    • 要获取全部网卡的Speed结果,首先得获取全部的接口名称,本来这种方式想用数组的方式存储的,但数组有点复杂,并且难以理解,所以就用最简单的,存入文件方式实现了【无需担心本地会多文件,最终会干掉所有生成的文件】;
      其次lo名称是回环接口名称,所以不需要看lo的Link状态,所以我用if过滤掉lo接口了。
    • 下列代码直接执行如果获取不到mac信息,将下面的ether更改为HWaddr即可。
    • 下面直接提出所有网卡mac信息和使用中网卡的mac信息,自己对应一下吧,如果弄成自动对应的话,还需要定义mac,较麻烦不说,如果mac定义错了就没结果了。
    [root@controll ~]# cat mac.sh 
    #/bin/sh
    
    # 先创建一个文件
    if [ -e /work ] ; then
            echo '/work The file exists'
    else
            mkdir /work
            echo 'mkdir /work ok '
    fi
    
    > /work/ifcfg.txt
    ls /etc/sysconfig/network-scripts| grep ifcfg- |awk -F- '{print $2}' >> /work/ifcfg.txt
    echo "现有如下网卡名称:"
    cat /work/ifcfg.txt
    
    cat << ccx
    ******************************************
    * 全部网卡对应的mac信息如下                 *
    ******************************************
    ccx
    
    cat /work/ifcfg.txt| while read work ; do
            if [ $work == lo ] ;then
                    continue
            fi
    echo -e "ifcfg-$work网口的mac为:\c"
    ip link show $work | awk '/ether/ {print $2}'
    done
    cat << ccx
    ******************************************
    * 使用中的网卡mac信息如下                  *
    ******************************************
    ccx
    
    cat /work/ifcfg.txt| while read work ; do
            if [ $work == lo ] ;then
                    continue
            fi
    link=`ethtool $work | grep Link | awk '{print $3}'`
            if [ $link == yes ] ;then
            echo -e "ifcfg-$work网口的mac为:\c"
            ip link show $work | awk '/ether/ {print $2}'
            else
                    continue
            fi
    done
    
    if [  -f /work/ ] ; then
    echo "/work is exists"
    else
    rm -rf /work
    fi
    [root@controll ~]# 
    

    执行效果

    • 该脚本可以放在任意位置
      注:执行前先看看本地是否有/work的文件夹,如果有该文件夹,将代码中的/work改一下,否则会干掉该文件夹【文件不会被干掉】!!!!
    • 执行方式:sh mac.sh
    [root@controll ~]# sh mac.sh 
    mkdir /work ok 
    现有如下网卡名称:
    ens33
    ens38
    ens39
    ens40
    lo
    ******************************************
    * 全部网卡对应的mac信息如下                 *
    ******************************************
    ifcfg-ens33网口的mac为:00:0c:29:4c:e2:1a
    ifcfg-ens38网口的mac为:00:0c:29:4c:e2:24
    ifcfg-ens39网口的mac为:00:0c:29:4c:e2:2e
    ifcfg-ens40网口的mac为:00:0c:29:4c:e2:38
    ******************************************
    * 使用中的网卡mac信息如下                  *
    ******************************************
    ifcfg-ens33网口的mac为:00:0c:29:4c:e2:1a
    ifcfg-ens38网口的mac为:00:0c:29:4c:e2:24
    [root@controll ~]# 
    [root@controll ~]# ls /work
    ls: cannot access /work: No such file or directory
    [root@controll ~]# 
    

    遍历该脚本

    • 上面已经有遍历的方式了,我这就不展示了。
    • 执行思路:
      • 1、先将该脚本用scp批量拷贝到需要执行的服务器上
      • 2、批量执行服务器上的该脚本
    展开全文
  • 网卡绑定bond0的实现

    2021-12-19 20:10:36
    lft forever preferred_lft forever 4: bond0: mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 6e:ca:90:39:58:90 brd ff:ff:ff:ff:ff:ff inet 10.0.0.100/24 brd 10.0.0.255 scope global ...
    [root@centos7 ~]#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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::31c3:e200:902b:ae0e/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:b9 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.156/24 brd 10.0.0.255 scope global noprefixroute dynamic eth1
           valid_lft 1755sec preferred_lft 1755sec
        inet6 fe80::26c1:2681:267c:3bf0/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    [root@centos7 ~]#nmcli connection add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24
    Connection 'mybond0' (8833f300-63fb-42ed-b991-4278d5fc7875) successfully added.
    [root@centos7 ~]#nmcli connection
    NAME                UUID                                  TYPE      DEVICE
    eth0                7e463dd9-21e9-41e5-92fe-3845aaf3201d  ethernet  eth0
    Wired connection 1  51a27eb2-cfa8-376a-92da-cd60b2ba2530  ethernet  eth1
    mybond0             8833f300-63fb-42ed-b991-4278d5fc7875  bond      bond0
    [root@centos7 ~]#cd /etc/sysconfig/network-scripts/
    [root@centos7 network-scripts]#pwd
    /etc/sysconfig/network-scripts
    [root@centos7 network-scripts]#ls
    ifcfg-eth0     ifdown-ippp    ifdown-sit       ifup-bnep  ifup-plusb   ifup-TeamPort
    ifcfg-lo       ifdown-ipv6    ifdown-Team      ifup-eth   ifup-post    ifup-tunnel
    ifcfg-mybond0  ifdown-isdn    ifdown-TeamPort  ifup-ippp  ifup-ppp     ifup-wireless
    ifdown         ifdown-post    ifdown-tunnel    ifup-ipv6  ifup-routes  init.ipv6-global
    ifdown-bnep    ifdown-ppp     ifup             ifup-isdn  ifup-sit     network-functions
    ifdown-eth     ifdown-routes  ifup-aliases     ifup-plip  ifup-Team    network-functions-ipv6
    [root@centos7 network-scripts]#cat ifcfg-mybond0
    BONDING_OPTS=mode=active-backup
    TYPE=Bond
    BONDING_MASTER=yes
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=none
    IPADDR=10.0.0.100
    PREFIX=24
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=mybond0
    UUID=8833f300-63fb-42ed-b991-4278d5fc7875
    DEVICE=bond0
    ONBOOT=yes
    [root@centos7 network-scripts]#nmcli con add type bond-slave ifname eth0 master bond0
    Connection 'bond-slave-eth0' (85b5e9bf-a425-4deb-ab19-4e1d4aee4d7c) successfully added.
    [root@centos7 network-scripts]#nmcli con add type bond-slave ifname eth1 master bond0
    Connection 'bond-slave-eth1' (b3fd41b5-206b-4474-b356-f38139d4f15f) successfully added.
    [root@centos7 network-scripts]#nmcli connection
    NAME                UUID                                  TYPE      DEVICE
    eth0                7e463dd9-21e9-41e5-92fe-3845aaf3201d  ethernet  eth0
    Wired connection 1  51a27eb2-cfa8-376a-92da-cd60b2ba2530  ethernet  eth1
    mybond0             8833f300-63fb-42ed-b991-4278d5fc7875  bond      bond0
    bond-slave-eth0     85b5e9bf-a425-4deb-ab19-4e1d4aee4d7c  ethernet  --
    bond-slave-eth1     b3fd41b5-206b-4474-b356-f38139d4f15f  ethernet  --
    [root@centos7 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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::31c3:e200:902b:ae0e/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:b9 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.156/24 brd 10.0.0.255 scope global noprefixroute dynamic eth1
           valid_lft 1584sec preferred_lft 1584sec
        inet6 fe80::26c1:2681:267c:3bf0/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    4: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 6e:ca:90:39:58:90 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute bond0
           valid_lft forever preferred_lft forever
    [root@centos7 network-scripts]#nmcli connection up bond-slave-eth1
    [root@centos7 network-scripts]#nmcli connection up bond-slave-eth0
    [root@centos7 ~]#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: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
    3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
    4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:0c:29:33:b7:af brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.100/24 brd 10.0.0.255 scope global noprefixroute bond0
           valid_lft forever preferred_lft forever
        inet6 fe80::a4bb:e4c0:78bd:abae/64 scope link noprefixroute
           valid_lft forever preferred_lft forever
    [root@centos7 ~]#nmcli connection
    NAME                UUID                                  TYPE      DEVICE
    mybond0             8833f300-63fb-42ed-b991-4278d5fc7875  bond      bond0
    bond-slave-eth0     85b5e9bf-a425-4deb-ab19-4e1d4aee4d7c  ethernet  eth0
    bond-slave-eth1     b3fd41b5-206b-4474-b356-f38139d4f15f  ethernet  eth1
    eth0                7e463dd9-21e9-41e5-92fe-3845aaf3201d  ethernet  --
    Wired connection 1  51a27eb2-cfa8-376a-92da-cd60b2ba2530  ethernet  --
    [root@centos7 ~]#cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
    
    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: eth0
    MII Status: up
    MII Polling Interval (ms): 100
    Up Delay (ms): 0
    Down Delay (ms): 0
    
    Slave Interface: eth0
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:33:b7:af
    Slave queue ID: 0
    
    Slave Interface: eth1
    MII Status: up
    Speed: 1000 Mbps
    Duplex: full
    Link Failure Count: 0
    Permanent HW addr: 00:0c:29:33:b7:b9
    Slave queue ID: 0
    

    展开全文
  • Centos系统配置bond0

    2021-05-18 07:21:41
    创建bond0网卡文件 3.1 touch ifcfg-bond0 3.2 文件添加以下内容: DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=21.32.3.149 (此bond0IP根据实际使用的) GATEWAY=21.32.3.190 (根据自己...

    版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明。

    1.查看网卡信息:ip a

    b7360d082b1facaf245bb52865035ca5.png

    2.修改网卡文件

    cd /etc/sysconfig/network-scripts/

    修改网卡文件ifcfg-ens32(根据自己实际的网卡名字) ,保证以下内容正确:

    DEVICE=ens32(根据自己实际的网卡名字)

    TYPE=Ethernet

    BOOTPROTO=none

    ONBOOT=yes

    MASTER=bond0

    SLAVE=yes

    USERCTL=no

    修改网卡配置文件ifcfg-ens34(根据自己实际的网卡名字),确保以下内容正确:

    DEVICE=eth1(根据自己实际的网卡名字)

    TYPE=Ethernet

    BOOTPROTO=none

    ONBOOT=yes

    MASTER=bond0

    SLAVE=yes

    USERCTL=no

    3.创建bond0网卡文件

    3.1 touch ifcfg-bond0

    3.2 文件添加以下内容:

    DEVICE=bond0

    TYPE=Ethernet

    ONBOOT=yes

    BOOTPROTO=static

    IPADDR=21.32.3.149   (此bond0IP根据实际使用的)

    GATEWAY=21.32.3.190   (根据自己实际的网关)

    NAME=bond0

    BONDING_OPTS="miimon=100 mode=1 primary=ens32"     (此ens32网卡名字根据自己实际的网卡名字)

    说明:如果是为虚拟机中的服务器配置bond0网卡,BONDING_OPTS 需要添加fail_over_mac=1 如BONDING_OPTS="miimon=100 mode=1 fail_over_mac=1"

    4.加载模块,使系统支持bond模式

    [root@kelong2 ~]# cat /etc/modprobe.conf  #如文件不存在,手动创建(也可创建在modprobe.d下)

    alias bond0 bonding

    options bond0 miimon=100 mode=1

    配置bond0的链路检查时间为100ms,模式为1。

    注意:

    linux网卡bonging的备份模式实验在真实机器上做完全没问题(前提是linux内核支持),但是在vmware workstation虚拟中做就会出现如下图问题。

    配置完成后出现如上图问题,但是bond0能够正常启动也能够正常使用,只不过没有起到备份模式的效果。当使用ifdown eth0后,网络出现不通现象。

    内核文档中有说明:bond0获取mac地址有两种方式,一种是从第一个活跃网卡中获取mac地址,然后其余的SLAVE网卡的mac地址都使用该mac地址;另一种是使用fail_over_mac参数,是bond0使用当前活跃网卡的mac地址,mac地址或者活跃网卡的转换而变。

    既然vmware workstation不支持第一种获取mac地址的方式,那么可以使用fail_over_mac=1参数,所以这里我们添加fail_over_mac=1参数

    [root@lixin etc]# cat /etc/modprobe.d/modprobe.conf

    alias bond0 bonding

    options bond0 miimon=100 mode=1 fail_over_mac=1

    [root@lixin etc]#

    5.配置bond0的链路检查时间为100ms,模式为1

    在/etc/rc.d/rc.local 加入以下内容

    ifenslave bond0 ens32 ens34    (此ens32与ens34网卡名字根据实际的网卡名字)

    6.加载bond module执行:modprobe bonding

    7.重启网卡并检查

    7.1 systemctl restart network

    7.2 执行 ip a 或 ifconfig 查看bond0 Ip是否起来

    展开全文
  • 《Centos 7 配置多网卡bond0 及网桥br0》由会员分享,可在线阅读,更多相关《Centos 7 配置多网卡bond0 及网桥br0(2页珍藏版)》请在人人文库网上搜索。1、Centos 7 配置多网卡bond0 及网桥br0一配置多网卡bonding1...
  • 系统环境:CentOS 7.4将两块网卡eth0, eth1绑定成一块网卡bond0实现网口负载平衡和容错能力bond0信息如下bond0的IP地址:192.168.100.100/24bond0的网关:192.168.100.1bond0的主DNS:202.106.0.20bond0的从DNS:8.8...
  • Linux下配置bond0

    2021-04-07 16:05:04
    Linux下配置bond0 1.使用network接管网络服务,停止使用NetworkManager,如若没有network服务,安装network-scripts安装包即可 2.做之前备份网卡配置文件。 配置模板 前景要求:6个网口,两两配置bond0,连接名分别...
  • # cat ifcfg-eth0 NAME=eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes # cat ifcfg-eth1 NAME=eth1 DEVICE=eth1 BOOTPROTO=none# cat ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond0 ...
  • Linux下双网卡绑定bond0

    千次阅读 2021-05-15 07:45:12
    一:原理:linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。...进入正题,linux有七种网卡绑定模式:0. round ...
  • 网卡bonding模式 - bond0、1、4配置

    千次阅读 2020-07-01 14:53:25
    1round-robin(mode=0) 轮转策略,轮流在每一个slave网卡上发送数据包,提供负载均衡和容错能力。 2active-backup(mode=1) 主备策略,只有一个slave被激活,只有当active的slave的接口down时,才...
  • 这两天在使用在测试的过程中发现,ping这个bond接口的ip,总是丢一半的报文。在交换机端抓包发现与服务器相连的两个端口都有报文转发出去,但是在服务器端使用tcpdump功能监控两个端口的流量时,只有一个端口会收到...
  • 删除bond0

    千次阅读 2019-04-22 16:17:58
    删除bonding: 1.ifconfig bond0 down(这步只能临时禁用) 2.rm -rf ifconfig-bond0 引用于> https://blog.csdn.net/Ketchup_/article/details/77917634
  • bond网卡的制作一:在机其上安装两块网卡,并修改相应的网络配置文件vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticMASTER=bond0vim /etc/sysconfig/network-scripts/ifcfg-...
  • [root@test~]# more /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 NAME=bond0 BONDING_MASTER=yes IPADDR=172.16.4.100 NETMASK=255.255.255.0 BROADCAST=172.16.4.255 NETWORK=172.168.4.100 PEERDNS=...
  • PRIVACY=no [root@localhost network-scripts]# cat ifcfg-bond0 DEVICE=bond0 BONDING_OPTS='miimon=100 mode=6' BOOTPROTO=none ONBOOT=yes USERCTL=no TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no ...
  • 1、什么是bond? 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。...
  • cd /etc/sysconfig/network-scripts/ #进入系统网络配置的文件夹 ls #查看有哪些文件 通常是会有两个 ifcfg-光口名 这样的文件,那么就要对这三个文件进行编辑 vi ifcfg-bond0 #创建并编辑bond0文件 进入编辑...
  • centos7双网卡绑定bond0

    2021-05-11 20:34:20
    Centos7双网卡主备模式配置(bond0)通过双网卡设置主备模式,实现当一块网卡宕掉时,另外一块网卡可以自动顶替宕掉的网卡工作,保障网络正常访问。1.修改网卡配置文件切换工作目录cd/etc/sysconfig/network-scripts/...
  • 实验环境: 新增两块网卡,仅主机模式 实验目的: ...nmcli connection add type bond con-name bond0 ifname bond0 mode balance-rr 加入组成员 nmcli connection add type bond-slave con-name bond0-e...
  • 1.环境CentOS Linux release 7.2.1511 (Core)linux core 3.10.0-327.el7.x86_642....使用 modprobe bonding 能够加载相应模块重启网络服务后,bond0 能够正确运行。那么问题来了重启后,模块就没了,...
  • 在应用部署中是一种常用的技术,bond共有7中模式,mode 0-6,但是常用的模式有三种:mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:主备模式,其中一条线若断线,其他线路将会自动备援。...
  • bond驱动加载 [root@compute1 ~]# vim /etc/modprobe.d/bond.conf # 开机自动加载bonding...options bond0 miimon=100 mode=0 # miimon:多长时间检查一次网络,单位ms; 首先编辑文件/etc/sysconfig/network-s...
  • Linux下双网卡绑定bond0,1,4

    万次阅读 2018-11-06 10:53:35
    Linux下双网卡绑定bond0 一:原理: linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统...
  • 【Linux词典】bond 0 配置 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,669
精华内容 10,667
关键字:

bond0

友情链接: AN639.zip