在 Linux 中用 nmcli 命令绑定多块网卡

今天,我们来学习一下在 CentOS 7.x 中如何用 nmcli(Network Manager Command Line Interface:网络管理命令行接口)进行网卡绑定。

网卡(接口)绑定是将多块 网卡 逻辑地连接到一起从而允许故障转移或者提高吞吐率的方法。提高服务器网络可用性的一个方式是使用多个网卡。Linux 绑定驱动程序提供了一种将多个网卡聚合到一个逻辑的绑定接口的方法。这是个新的实现绑定的方法,并不影响 linux 内核中旧绑定驱动。

网卡绑定为我们提供了两个主要的好处:

高带宽

冗余/弹性

现在让我们在 CentOS 7 上配置网卡绑定吧。我们需要决定选取哪些接口配置成一个组接口(Team interface)。

运行 ip link 命令查看系统中可用的接口。

$ ip link

这里我们使用 eno16777736 和 eno33554960 网卡在 “主动备份” 模式下创建一个组接口。

按照下面的语法,用 nmcli 命令为网络组接口创建一个连接。

# nmcli con add type team con-name CNAME ifname INAME [config JSON]

CNAME 指代连接的名称,INAME 是接口名称,JSON (JavaScript Object Notation) 指定所使用的处理器(runner)。JSON 语法格式如下:

‘{"runner":{"name":"METHOD"}}‘

METHOD 是以下的其中一个:broadcast、activebackup、roundrobin、loadbalance 或者 lacp。

1. 创建组接口

现在让我们来创建组接口。这是我们创建组接口所使用的命令。

# nmcli con add type team con-name team0 ifname team0 config ‘{"runner":{"name":"activebackup"}}‘

运行 # nmcli con show 命令验证组接口配置。

# nmcli con show

2. 添加从设备

现在让我们添加从设备到主设备 team0。这是添加从设备的语法:

# nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

在这里我们添加 eno16777736 和 eno33554960 作为 team0 接口的从设备。

# nmcli con add type team-slave con-name team0-port1 ifname eno16777736 master team0

# nmcli con add type team-slave con-name team0-port2 ifname eno33554960 master team0

再次用命令 #nmcli con show 验证连接配置。现在我们可以看到从设备配置信息。

#nmcli con show

3. 分配 IP 地址

上面的命令会在 /etc/sysconfig/network-scripts/ 目录下创建需要的配置文件。

现在让我们为 team0 接口分配一个 IP 地址并启用这个连接。这是进行 IP 分配的命令。

# nmcli con mod team0 ipv4.addresses "192.168.1.24/24 192.168.1.1"

# nmcli con mod team0 ipv4.method manual

# nmcli con up team0

4. 验证绑定

用 #ip add show team0 命令验证 IP 地址信息。

#ip add show team0

现在用 teamdctl 命令检查 主动备份 配置功能。

# teamdctl team0 state

现在让我们把激活的端口断开连接并再次检查状态来确认主动备份配置是否像希望的那样工作。

# nmcli dev dis eno33554960

断开激活端口后再次用命令 #teamdctl team0 state 检查状态。

# teamdctl team0 state

是的,它运行良好!!我们会使用下面的命令连接回到 team0 的断开的连接。

#nmcli dev con eno33554960

我们还有一个 teamnl 命令可以显示 teamnl 命令的一些选项。

用下面的命令检查在 team0 运行的端口。

# teamnl team0 ports

显示 team0 当前活动的端口。

# teamnl team0 getoption activeport

好了,我们已经成功地配置了网卡绑定。

免费领取兄弟连IT教育原创linux运维工程师视频/细说linux教程,详情咨询官网客服:http://www.lampbrother.net/linux/

或者勾搭Q2430675018

欢迎加入linux交流群 478068715

时间: 2024-11-05 20:35:34

在 Linux 中用 nmcli 命令绑定多块网卡的相关文章

Linux 中用 dd 命令来测试硬盘读写速度

https://blog.51cto.com/moerjinrong/2286323 Linux 中用 dd 命令来测试硬盘读写速度dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. dd 命令通用语法格式如下: dd if=path/to/input_file of=/path/to/output_file bs=block_size count=number_of_blocks 1 命令简介 1.1 主要选项 指定数字的地

在linux 创建网络会话和绑定两块网卡

1. 如果我们在公司网络中要手动指定网络的IP地址,当我们回到家里则是使用DHCP(动态主机配置协议)自动分配IP地址.这就有点麻烦了,因为要频繁的修改IP地址,所以接下来我们来创建网络会话-------只要在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了. 接下来我们来网络会话,可以使用  connection add con-name type ifname    的格式来创建网络会话:假设将公司网络中的网络会话称之为company,将家庭网络会话名称称为house-

linux中用vim命令修改.tar.gz包和.zip包命令的内容

在实际生产环境中将程序打包部署到linux上或者在linux上更新程序时,很多时候都要修改.zip包或者.tar.gz包中的配置文件的内容,如果在本机和linux上进行包程序拖动然后再进行改动那就显得非常麻烦.linux中的vim命令可以非常方便的修改.tar.gz或者.zip包中的内容.  1.用vim命令修改 apache-tomcat-7.0.82.tar.gz中server.xml中的tomcat默认端口号. 1)将apahce-tomcat-7.0.82.tar.gz进行备份(mv移动

在linux中用useradd命令创建一个用户后不能登录的解决

在linux学习过程中我用useradd 用户名来创建一个用户后,不能登录,通过网上查询看到这种说法: 一.etc/profile 文件的的权限不足,因为我改过该文件的权限,所以我去试了还是没有用 最后是在学习到谋个地方老师说创建一个新用户后再如果没有指定目录则会在home目录下创建一个与用户名相同的目录, 我用上面的useradd 用户名 命令执行后home命令中没有对应的目录,最后是通过 -m选项完成的, 通过useradd -m 用户名 可以在home目录下找到相应的目录,最后在登录,竟然

Linux中用stat命令查看文件时3个时间点解析

有些时候,我们需要使用stat命令来查看文件的详细信息.另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下. 首先,我们来看下stat情况 如图所示,会出现3个类型的时间,分别是Access,Modify,Change.下面我们就对这3个时间进行详细解释下. access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间 modify time:表示我们最后一次修改文件的时间 change time:表示我们最后

Linux中用find命令找出隐藏文件和目录

[[email protected] log]# find /t -name ".*" -printffind: missing argument to `-printf'[[email protected] log]# find /t -name ".*" -print/t/home/drosen/.emacs/t/home/drosen/.bash_logout/t/home/drosen/.bash_profile/t/home/drosen/.bashrc/

Linux中用systemctl命令管理服务

systemctl start foo.service 启动服务systemctl restart foo.service 重启服务systemctl stop foo.service 停止服务systemctl reload foo.service 重新加载配置文件(不终止服务)systemctl status foo.service 查看服务状态 systemctl enable foo.service 开机自启动systemctl disable foo.service 开机不自启动sys

每天一个Linux之pwd命令

Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录.在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置. 1.命令格式: pwd [选项] 2.命令功能: 查看"当前工作目录"的完整路径 3.常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P  显示出实际路径,而非使用连接(link)路径. 4.常用实例: 实例1:用pwd命令查看默认工作目录的完整

Linux入门学习命令介绍

以下内容就是我初学Linux时做的一些笔记,仅供参考.对了我是用的Centos 1.Linux系统没有盘符,系统安装步骤:分区-->格式化-->设备文件名-->设置挂载点(类似于Windows系统的盘符). 2.关于Linux分区设置:  最多分4个,"/"代表根分区,"Swap"代表交换分区,"boot"代表启动分区(Linux系统启动时所需的空间200M就够了). 3.设置或修改Linux系统的命令:ifconfig eth