双网卡冗余是通过绑定实现的,我们需要通过以下几个步骤实现:
1.配置内核
选中CONFIG_BONDING

2.配置
安装ifenslave

sudo apt-get install ifenslave

配置/etc/network/interfaces文件,在文件中添加以下:

#source-directory /etc/network/interfaces.dauto loiface lo inet loopbackauto eth0iface eth0 inet manualbond-master bond0auto eth1iface eth1 inet manualbond-master bond0auto bond0
iface bond0 inet staticaddress 192.168.12.99netmask 255.255.255.0broadcast 192.168.12.255gateway 192.168.12.1bond-mode 0bond-miimon 100dns-nameservers 114.114.114.114

3.配置/etc/rc.local文件,在文件中添加以下:

ifenslave bond0 eth0 eth1
ifconfig bond0 up

4.修改/etc/resolv.conf文件:

nameserver 8.8.8.8

5.重新启动,验证网络是否ok。
分别拔下网口1和网口2使用ping命令验证网络是否ok:
ping 192.168.12.1
结果在两个网口插上和只有任意一个网口插上的时候都可以成功ping通
6.启动后发现串口登录的控制台需要很久才能登录,我这里是5分钟
7.使用命令分析启动时间: systemd-analyze blame

可以看到开机的时候networking.service这个服务消耗了5分钟
8.使用命令关闭消耗时间多的服务的自启动: systemctl disable networking.service
9.重启,开机只用了20秒,再验证一下网络是否ok
ping 192.168.12.100
成功pingtong

正常来说我们是需要仔细分析networking.service这个服务为什么消耗了这么多时间,然后修改该服务,但是现在我们网络是ok的,启动时间也偶ok,最近非常忙,这里就简单记录一下。我估计耗时长是因为两个网卡被用去绑定了,所以networking.service这个服务识别到网卡,但是对这个网卡的设置失败了,所以才消耗了这么长时间。

现在有空看看networking.service这个服务在干啥,我们先把这个服务开启回来:

systemctl ensable networking.service

然后看看这个服务的状态:

root@jian-os:/home/jian# systemctl status networking.service
● networking.service - Raise network interfacesLoaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)Drop-In: /run/systemd/generator/networking.service.d└─50-insserv.conf-$network.confActive: failed (Result: timeout) since 四 2022-01-13 21:00:31 CST; 1min 7s agoDocs: man:interfaces(5)Process: 1265 ExecStart=/sbin/ifup -a --read-environment (code=killed, signal=TERM)Process: 1227 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle (code=exited, status=0/SUCCESS)Main PID: 1265 (code=killed, signal=TERM)2月 12 00:28:04 jian-os systemd[1]: Starting Raise network interfaces...
1月 13 21:00:27 jian-os ifup[1265]: /sbin/ifup: waiting for lock on /run/network/ifstate.eth0
1月 13 21:00:31 jian-os systemd[1]: networking.service: Start operation timed out. Terminating.
1月 13 21:00:31 jian-os systemd[1]: Failed to start Raise network interfaces.
1月 13 21:00:31 jian-os systemd[1]: networking.service: Unit entered failed state.
1月 13 21:00:31 jian-os systemd[1]: networking.service: Failed with result 'timeout'.

我们可以看到这个服务是failed 的原因是超时(Result: timeout)。我们也可以看到服务的文件路径:/lib/systemd/system/networking.service
我们看看这个文件:

root@jian-os:/home/jian# cat /lib/systemd/system/networking.service
[Unit]
Description=Raise network interfaces
Documentation=man:interfaces(5)
DefaultDependencies=no
Wants=network.target
After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service systemd-modules-load.service
Before=network.target shutdown.target network-online.target
Conflicts=shutdown.target[Install]
WantedBy=multi-user.target
WantedBy=network-online.target[Service]
Type=oneshot
EnvironmentFile=-/etc/default/networking
ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle'
ExecStart=/sbin/ifup -a --read-environment
ExecStop=/sbin/ifdown -a --read-environment
RemainAfterExit=true
TimeoutStartSec=5min

我们看到最后一行,5分钟超时的参数,验证了为什么我们的网络服务消耗了5分多钟,我们可以把这个超时时间改小一点,改为5s我们就不必关闭网络服务了。
最后我们分析一下这个网络服务到底做了什么操作,我们首先看到[Service]这个字段,这一段下面的EnvironmentFile表示启动这个服务会加载的环境,ExecStartPre表示开启服务前的预操作,ExecStart表示这个服务的操作了。他是运行/sbin/ifup -a --read-environment这个命令。我们再控制台试试自己跑一下这个命令吧:

root@jian-os:/home/jian# ifup -a
ifup: waiting for lock on /run/network/ifstate.eth0
^C
root@jian-os:/home/jian#

确实会卡在这里,只有我们使用ctrl+c才可以退出。这跟我之前的猜测是一样的,我们在interfaces.d中设置了网卡,这个网卡已经开启并且配置好了,而且不是普通的使用,是使用为绑定状态,所以再使用ifup这种命令是会卡住的。

嵌入式通过绑定实现双网卡冗余相关推荐

  1. Suse es 11sp2 双网卡冗余

    要求资源目录和认证目录要做双网卡冗余,以防在某网卡坏掉后不能提供服务,好吧,那就试试吧! 双网卡的绑定可以实现冗余和高可用性,在Suse linux 11中和redhat linux 5中设置双网卡绑 ...

  2. mysql服务器双网卡冗余的配置

    背景:当前需要做的工程需要用到mysql数据库服务,同时需要高稳定性,要求做到双服务器双网卡冗余.需要使用两台服务器,每台服务器分别有两个网卡.两台服务器要做到互为备用.客户端在四条线路中自动选择. ...

  3. win10双网卡冗余的几种方法

    关于在win10专业版上用INTELX550 T2万兆网卡组建双网卡冗余,链路聚合的几种方法 方法一: 首先两个网卡改下名字,比如叫做net1,net2 打开管理员:powershell 输入:New ...

  4. linux 双网卡绑定模式,双网卡绑定的模式及操作步骤

    双网卡绑定的模式 关于mode共有0-6等7种模式,详细请参考官方手册!mode的值表示工作模式, 他共有0,1,2,3,4,5,6这7种模式,常用的为0,1两种. mode=0表示load bala ...

  5. 服务器双网卡冗余备份技术的实现

    服务器作为企业信息平台的核心,其稳定性和安全性至关重要,连接服务器的网络链路是尤为重要的一环.增加热备份冗余链路成为保障服务器链路通畅常用的方法之一,此方式可以强化系统网络链路,减少故障率. 本文将以 ...

  6. linux7配置网卡绑定,CentOS7双网卡绑定配置

    step1:创建绑定文件 [root@node-1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0 TYPE="bond" BO ...

  7. linux换网卡双网卡绑定,Linux双网卡绑定

    实验镜像CentOS7 常见的网卡绑定驱动三种模式: Mode=0(balance-rr) 平衡负载模式:平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑 ...

  8. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析 2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡 ...

  9. 双网卡单IP实现网卡冗余与负载均衡

    WINDOWS下: 所谓双网卡,就是通过软件将双网卡绑定为一个IP地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列.3COM服务器网卡等)都具有多网卡绑定功能, ...

最新文章

  1. Form表单提交前进行JS验证的3种方式
  2. leveldb源码分析:数据查询
  3. my.ini优化mysql数据库性能的十个参数(推荐)
  4. 【51单片机快速入门指南】2.4:74HC595、LED点阵屏及其SPI控制
  5. 准备 KVM 实验环境 - 每天5分钟玩转 OpenStack(3)
  6. Transformer在计算机视觉领域走到哪了?
  7. 【图像处理】中的“滤镜算法”:灰度、黑白、反向、去色、单色、高斯模糊、怀旧、连环画
  8. 如何在报表的Header和Footer中使用DataSet中的Field
  9. 如何在套接字IO操作上设置超时机制
  10. cocos2d-x3.0 关于CCAnimate 的一些资料
  11. 秦时明月2服务器端代码修改,《秦时明月2》为什么修改不了?
  12. UTM坐标系与GPS坐标系转换笔记
  13. U盘怎么制作Win11系统安装盘
  14. IEEE754 16进制浮点型 转为十进制
  15. matlab三维地形显示,三维地形可视化的MATLAB实现_张林泉
  16. 基于SSM的美容院管理系统
  17. 连环锁 POJ - 1832(格雷码与二进制)
  18. [转]深度剖析闪电网络
  19. [coreseek/sphinx学习笔记1]--简介
  20. 通讯协议,网络通讯协议基本原理透析

热门文章

  1. 自己动手,开发项目辅助工具
  2. python--装饰器初阶
  3. C# 各版本新增功能
  4. 教你10分钟搭建酷炫的个人博客
  5. Spring boot MultipartResolver
  6. 单张图片上传预览【超简洁,未完待续】
  7. 怎样成为一名高手观后感
  8. csstd超出部分用...替换
  9. linux的定制和发布(二)
  10. 自定义控件的构建(10)