zoukankan      html  css  js  c++  java
  • nmcli命令使用以及网卡绑定bond

    一、nmcli命令

    1.什么是nmcli

    以前我配置网卡的时候都要打vim /etc/sysconfig/network-scripts/ifcfg-eth0这么一长串命令,有很多配置名字还记不住就需要去看模板,好不容易配置完了,还得去重启网卡。直到今天我知道了这个nmcli命令,才发现原来配置网卡可以这么简单,妈妈再也不用担心我不会配置网卡了。
    2.nmcli的用法
    命令语法:

    nmcli[ OPTIONS ] OBJECT { COMMAND | help }
    值得一提的是OBJECT和COMMAND可以用全程也可以用简称,最少可以只用一个字母,但我们一般用头三个字母,这样不容易搞错。
    nmcli命令使用以及网卡绑定bond
    我们使用nmcli命令去配置网卡时如果忘记了语法命令是可以用TAB键补齐命令的。
    nmcli命令使用以及网卡绑定bond
    OBJECT里我们平时用的最多的就是connection和device,这里就跟大家简单区分一下connection和device
    connection是连接,偏重于逻辑设置
    device叫网络接口,是物理设备
    多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。
    这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection。
    下面是一些nmcli的常用命令介绍
    nmcli device show 查看所有网卡设备信息
    show 后跟网卡名是查看某个网卡的详细信息
    nmcli命令使用以及网卡绑定bond
    nmcli connection show 查看所有连接
    同理 show 后跟上连接名可以查看连接的详细信息
    不过connection show 后跟上 -a 参数是仅显示活动的连接
    nmcli命令使用以及网卡绑定bond
    像图中home它的DEVICE选项为空,说明没有网卡绑定,所以并未生效。
    nmcli device status
    列出 NetworkManager 识别出的设备列表及他们的状态
    nmcli命令使用以及网卡绑定bond
    nmcli general status
    将 NetworkManager 的所有状态都打印出来
    nmcli命令使用以及网卡绑定bond
    在centos7中默认的网卡名变为了ens..,我们可以使用nmcli来改成我们熟悉的样子(更改配置文件名):
    nmcli命令使用以及网卡绑定bond
    nmcli connection add con-name config-eth0-1 ifname eth0 type ethernet 
    创建一个网卡连接配置文件,这里con-name后跟的是新建的配置文件名称,ifname后跟的是接口名称,type为ethernet,ipve默认为dhcp
    nmcli命令使用以及网卡绑定bond
    命令完成后会在/etc/sysconfig/network-scripts/目录下产生一个名为ifcfg-config-eth0-1的配置文件
    nmcli命令使用以及网卡绑定bond
    nmcli connection up config-eth0-1
    nmcli connection down config-eth0-1
    对创建好的配置文件我们可以用up,down来启用和禁用
    nmcli命令使用以及网卡绑定bond
    nmcli connection delete config-eth0-1
    删除连接(删除的连接并未被启用)
    nmcli命令使用以及网卡绑定bond
    nmcli connection add con-name eth0-1 type ethernet ifname eth1 autoconnect yes ip4 10.1.252.60/24 gw4 10.1.0.254
    我们也可以使用nmcli来创建一个静态IP网络连接配置
    这里的autoconnect 为开机是否自启,yes为开机自启
    nmcli命令使用以及网卡绑定bond
    我们启用eth0-1看看IP是否变化
    nmcli命令使用以及网卡绑定bond
    nmcli命令使用以及网卡绑定bond
    nmcli connection modify eth0-1 +ipv4.address 2.2.2.2/24

    我们也可以对连接文件进行修改
    命令修改与配置文件对照表:
    nmcli命令使用以及网卡绑定bond
    修改连接配置后我们要重新加载才能生效
    nmcli connection reload 
    nmcli connection down eth0-1
    nmcli connection up eth0-1
    nmcli命令使用以及网卡绑定bond

    二、网卡绑定band

    1.什么是bond
    网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术。
    2.bond的模式种类
    常见的bond模式有七种:
    Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
    Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
    Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
    Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
    Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
    Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
    Mode=6(balance-alb) 在5的tlb基础上增加了rlb。)

    3.bond的创建方法
    这里我们还是用nmcli来创建bond
    我们以bond1模式为例
    首先我们创建一个连接配置文件
    nmcli connection add con-name bond0 type bond ifname bond0 mode active-backup
    mode 后跟的bond模式
    nmcli命令使用以及网卡绑定bond
    因为我们还没有在bond连接中绑定网卡所以显示为×××
    nmcli connection add type bond-slave ifname eth2 master bond0
    nmcli connection add type bond-slave ifname eth3 master bond0
    我们添加两块网卡到bong0中
    nmcli命令使用以及网卡绑定bond
    启用这两个连接
    nmcli命令使用以及网卡绑定bond
    cat /proc/net/bonding/bond0
    查看bond状态
    nmcli命令使用以及网卡绑定bond
    我们来测试下bond
    nmcli命令使用以及网卡绑定bond
    nmcli命令使用以及网卡绑定bond
    我们先查看下bond0的ip,然后再在另一个终端上ping
    我们先down掉一个网卡
    nmcli命令使用以及网卡绑定bond
    nmcli命令使用以及网卡绑定bond
    down掉eth1后依旧可以ping通
    总结:
    我们使用nmcli只需简单的几部就可以做好bond了,由此可见bond确实好用。

  • 相关阅读:
    丰富eclipse注解的内容
    ThreadLocal总结
    算法+结构?设计模式?
    面试需要准备内容
    HIbernate-0.8版本源码翻看
    2019第一篇博文
    随笔
    Expert one on one 读书笔记之容器
    Expert one on one development without ejb读书笔记
    Mysql索引部分学习关于多列索引的部分
  • 原文地址:https://www.cnblogs.com/zhengchunyuan/p/10640953.html
Copyright © 2011-2022 走看看