第7节. 多网卡集成的企业级应用

数据传输一条龙,从网口进来,到内存、到硬盘,中间还有CPU的运算。

所以看看哪里是瓶颈,iperf就是内存到内存的测试方法,SFTP就是到硬盘的测试手段。

多网卡绑定的模式

image-20220321191927372

image-20220321191938141

👆Mode1其实通过上述,就知道SW那头如果发现只有一个外部端口能看到MAC地址,就说明是Mode1了。

0 2 3 4 都需要SW那头配置portchannel,4还需要动态的协议。

Bonding配置

image-20220322091516461

1、miimon,比如mode1下,就是slave监控master的周期间隔100ms;

2、新建ifcfg-bond0;

3、修改两个网卡配置文件。

实验

VM虚机都改到一个网络里

image-20220322092046415

做bond之前禁用NetworkManager服务,并开机禁用。

image-20220322092251075

删除多余的文件,保证bond成员口的配置干净

image-20220322092314785

创建ifcfg-bond0

image-20220322092404984

image-20220322092608266

这个设备当前是没有的ip a看不到,待会配置完毕后,重启服务器后就有了

配置物理接口加入bond0里

编辑eth0网卡

image-20220322092722089

image-20220322092926176

MASTER=bond0 以及SLAVE=yes,这样,这个网卡就属于bond0了,地址就是bond0说了算,下面的地址就无效了。

再修改eth1网卡配置

image-20220322093303509

然后重启网络服务就OK了

image-20220322093443513

image-20220322093410459

注意,bond0起来后,运来的两个物理成员口的IP就失效了,之前ssh就断开了,只能通过本地终端登入上去看看了。

检查下

image-20220322093625909

eth0和eth1已经不对外了,而且MAC地址是成员口和bond口公用的。

因为做的是bond0,所以有一个主的,通过查看proc确认谁是A谁是S

image-20220322094001620

可见当前是active-backup模式也就是mode1,eth0是主

将eth0断开(前面一个就是eth0),测试下连通性

image-20220322094128951

发现丢了一个包

image-20220322094350545

两根线都down的样子

cat /proc/net/bonding/bond0 ,下面centos7一样的命令

image-20220322094707678

主备切换,不会抢占。

改成mode3 broadcast看下

image-20220322095014657

image-20220322095058644

image-20220322095114000

image-20220322095122129

37.100就是bond0的IP了,这个DUP就说明broadcast是成员都工作的。

在这个模式下,断开一个接口,发现不通了(在虚拟机环境下),因为要结合SW配置。

image-20220322095810379

image-20220322111543256

centos7的配置方法

centos7最大区别就是网卡名称不一样,7通常都是ensxxx,一般是cents7是根据网卡插槽定义的,为了稳定,不过一般网卡也不会增加删除,所以更多还是认为改成eth0 eth1 这种方式。

image-20220322111651787

cents7改网卡名称

image-20220322111918326

阔以的,虽然下面的和rocky-linux不同,但是rocky-linx测试一样的操作,就是生成的文件里的ifnames=0的位置不同罢了。

修改/etc/default/grub

image-20220322101757001

image-20220322101823159

ubuntu里也是ens33,

切换成root身份:

image-20220322102121999

image-20220322102234212

上面改完还不够,需要利用工具覆盖一个文件

ubuntu需要grub-mkconfig -o /boot/grub/grub.cfg;reboot
centos7需要grub2-mkconfig -o /boot/grub2/grub.cfg;reboot

image-20220322110009067

image-20220322110050718

reboot即可

image-20220322115311157

image-20220322102820719

不推荐修改,需要借助grub-mkconfig来生成这个/boot/grub2/grub.cfg文件。

image-20220322102919571

grub2-mkconfig -o /boot/grub2/grub.cfg 默认就会读取/etc/default/grub文件来生成最终文件。然后reboot生效。

总之centos7上网卡名称是自动生成的

image-20220322113931899

wlxxx就是wifi网卡,

其实centos7的网卡命名的前因后果是这样的

https://developer.aliyun.com/article/609587

rocky-linux修改大同小异

https://blog.51cto.com/feko/2751292

image-20220322114956198

image-20220322115005824

centos7修改主机名

image-20220322115708996

image-20220322115720020

image-20220322115745632

image-20220322115652439

nmcli

nmcli 及时NetworkManger cli的意思,配合NetworkManager服务用的

通过tab键可见有哪些子命令,主要用到的是connection 和 device

image-20220322142837223

device是数据链路层

image-20220322143007263

如果网线断掉一根,就会看到如下图情况:

image-20220322143210942

看接口详情

image-20220322143433110

以及

image-20220322143448678

使用connection查看网络层

image-20220322143610243

这里的NAME和DEVICE可以不同,如下

image-20220322143830996

然后systemctl restart NetworkManager可得:

image-20220322143737437

nmcli的使用场景和习惯,命令行嘛首先是,灵活

nmcli connection add con-name eth1-test ifname eth0 type ethernet ipv4.method manual ipv4.addresses 1.1.1.1/24

image-20220322144607426

目前针对eth1有两套配置,生效了一套

image-20220322144955677

image-20220322145051221

image-20220322145232881

通过上图过程截图可知,nmcli connection add con-name eth1-test ifname eth0 type ethernet ipv4.method manual ipv4.addresses 1.1.1.1/24

会生成ifcfg-eth1-test网卡配置文件;但是如果是人工创建一份新的网卡文件nmcli默认是不会识别生效的,需要nmcli connection reload一下

image-20220322145707961

image-20220322145830642

网卡的UUDI必须唯一,简单处理方法就是删掉改行就行。

image-20220322145645431

此时eth1-test2就加载了,要是生效同样nmcli connection up eth1-test2

image-20220322150028848

nmcli删除连接

删除在用的连接(也就是网卡配置),会自动切换到另一个。

image-20220322150308698

nmcli connection delete eth1-test2后/etc/sysconfig/network-scrips/下的ifcfg-eth1-test2网卡配置文件就没了。

手动删除网卡配置文件,nmcli不会自动切,还需要reload

image-20220322150835903

image-20220322150900492

所以总结来了

1、nmcli就是命令行来直接配置网卡配置文件的,nmcli删除创建的连接,就是网卡的配置文件。

2、如果不是使用nmcli创建\删除connection(其实就是配置文件),而是手动创建\删除的ifcfg-xxx配置文件,就需要nmcli connection reload加载一下

nmcli强大在显示信息

image-20220322151406747

nmcli修改接口位DHCP

image-20220322151505664

这样配置文件里的DHCP就修改好了

image-20220322151551993

通过nmcli connection show eth1-test可见

image-20220322151657686

这里的auto就是dhcp

然后在启用该配置

image-20220322151800580

image-20220322151842427

image-20220322151908657

这个看DHCPOPTION还是不错的,什么43、150都能见着了。

不过也不是就这一种方法看DHCP的信息,还有

image-20220322152304079

虽然上图是手动韩国的25.44,但是之前的dhcp获取的信息还在。

有个东西比较呵呵①新的旧的命令技术你都会②老工程师新工程师在你面前就没有优势可言③这个时候人际关系就比较和谐了

nmcli 增加IP地址

image-20220322152952133

image-20220322153038210

这个nmcli connection modify eth1-test +ipv4.addresses 3.3.3.3/24其实就是修改了配置文件

image-20220322153213431

再加一个地址

image-20220322153242652

这加的second ip,ip a可以看ifconfig 看不了,这个在上一节重点讲过了。

其他补充

image-20220322160446783

注意哦加载(reload)是指配置文件的重新同步下:比如人工修改创建的,同步到nmcli这里

image-20220322172545898

这是不需要reload的哦。

nmcli实现bonding

image-20220322163046810

实验

1、将两个网卡都接到一个SW上,WMworkstation就是接入一个网络里

清除之前的网卡配置

image-20220322163317401

开始配置

type很多啊,好友adsl、wifi、vxlan

image-20220322165636687

nmcli connection add con-name mybond0 type bond ifname bond0 mode active-backup ipv4.method manul ipv4.address 192.168.37.100/24

image-20220322165910656

image-20220322170046467

但是已经发现远端可以ping通这个额bond0的IP地址了

image-20220322170314171

其实原因是scope global属性导致的,只要这个设备上的接口带global属性,那么就可以背向/朝向都能ping通的。

image-20220322170623939

工作在内核级别,只要流量能发到这个设备上,比如ping 192.168.37.100的ICMP到了这个设备上,那么就可以响应的。

这个ping通不代表bonding绑定成功,而是虚拟的一个网卡通了,还需要进一步绑上物理成员接口的。

image-20220322171539610

上图type 后两个tab里没有bond-slave自动补齐,我的可能版本较高有的

image-20220322171701141

image-20220322171930531

此时就出来了,但是没有起作用,也先不捉急启用

image-20220322171957483

image-20220322172201955

脸厚,你没看错脸厚我们就激活一下

image-20220322172722616

由于现在只加了一个eth1,所以

image-20220322172802034

然后再把另一个接口加进来,

image-20220322173040388

这个,如图就断了,因为ssh的这个机器的这个网卡,现在加进了bond0里了,所以自然就断了。这也是实操bond0的时候要知道的,没事,保证bond0起来就能ssh那个地址就行了。

去终端看下,已ok

image-20220322173242079

同样看下 /proc/net/bonding/bond0

image-20220322173410486

然后测试一下断开的效果,eth1是后面一块网卡

image-20220322173535739

发现丢了1个包哦icmp_seq=309这个。

image-20220322173604922

此时eth1就down,eth0就active了

image-20220322173750191

image-20220322181828932

删掉mybond0这个连接,两个成员的连接就下来了。

image-20220322181917671

网络组

centos7比centos6多了一个网络组 新技术

image-20220322182040775

network teaming和bonding一样,性能据说更好,底层技术实现不同。

image-20220322183318622

创建网络组接口

image-20220322182954058

创建port接口

image-20220322183308274

示例

image-20220322183339555

具体命令和bonding一样,效果一样,就是关键字改了,技术更优。

所以centos7建议用team而不是bond,6嘛只能bond了吧。

Copyright 🌹 © oneyearice@126.com 2022 all right reserved,powered by Gitbook文档更新时间: 2024-07-28 14:47:39

results matching ""

    No results matching ""