linux bonding的原理及其实现,Linux bonding 之balance-alb 原理介绍及其实现
要求:
首先要安装bonding driver 和 ifenslave。bonding driver
是实现网卡绑定的软件基础,它在很多系统中都作为模块而加载。ifenslave 是实现网卡绑定的一个实用工具。
检查系统是否符合这两个要求:
[root@node1 bin]# lsmod | grep bond
bonding
65128 0
说明该模块已经加载
ifensalve 一般在/sbin 路径下面
[root@node1 bin]# which ifenslave
/sbin/ifenslave
说明该使用工具也存在。
balance-alb 的原理:
网卡绑定有很6种mode, balance-alb 不依赖于swith 的特殊配置,这里讨论此种模式。
网络通信中,两个节点想要通信,必须先知道源与目标的MAC地址。为了让系统能快速地找到远程节点的MAC,每一个本地的内核都保存有一个即时的查询表
(ARP缓存)。 ARP中有映射远程主机的IP对应的MAC地址的一个列表。地址解析协议
(ARP)缓存是一个TSR的数据结构,由本地的内核来管理的。Default ARP缓
存中留有last 10 mins本地系统与之通信的节点的IP地址(和对应的MAC地址)。当一个远程MAC存在于本地ARP
缓存中,转换远程节点的IP地址为MAC地址
可以直接通信。然而,系统在知道一个远程IP,但MAC不在本地ARP缓存中时,是这
样来获取远程MAC的:本地主机发送一个Broadcast
package,询问各节点是否有对
应的IP。回应是唯一的。在回应包中就包含此MAC。在收到返回包后,本地节点就会在本地ARP缓存中记录远程MAC。
而网卡绑定以后,这个ip可能拥有多个mac地址,究竟将哪个mac地址返回给client,这个就取决于bonding
driver。那balance-alb 来说,就是通过arp
协商决定的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。这样就实现了网络负载均衡。当其中的一个slave
失败,就会由其他的slave来接管,从而提高了网卡的容错能力。
balance-alb 的实现(这里通过修改配置文件实现)
vi /etc/sysconfig/network-script/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
vi /etc/sysconfig/network-script/ifcfg-eth1 (同上,把eth1改为eth0 即可)
vi /etc/sysconfig/network-script/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
添加 bonding 模块:
vi /etc/modules.conf
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
# reboot
balance-alb 与 RAC 的Private Network
根据balance-alb,对于只有两个节点的bonding只能提高容错机制,只有在3个或3个以上的节点时,才可能实现workload
balance。
linux bonding的原理及其实现,Linux bonding 之balance-alb 原理介绍及其实现相关推荐
- DDNS 的工作原理及其在 Linux 上的实现--转
http://www.ibm.com/developerworks/cn/linux/1305_wanghz_ddns/index.html DDNS (Dynamic DNS) 扩展了 DNS 将客 ...
- linux查域名对应的ip 系统调用,DDNS 的工作原理及其在 Linux 上的实现
DDNS 工作原理的分析 DDNS 的实现最根本的一点是当主机的 IP 地址发生变化的时候,实现 DNS 映射信息的及时更新,应用程序需要及时地获得这一信息,主要的方法可分为两大类: 一类是轮询机制, ...
- 在linux中 要删除abc目录,操作系统原理与应用(linux)A卷
福州外语外贸职业技术学院 2010-2011学年第一学期(期末)试卷 09 级网络系统管理专业操作系统原理与应用(linux)科目(A )卷课程代码考试形式闭卷考试时量 120 分钟姓名__ ____ ...
- linux关机suspending,(转)Linux 休眠原理与实现
1.介绍Linux休眠提供了一种类似于Windows的休眠方式,使用户能够通过休眠操作,保存系统当前的内存数据到硬盘,即s w a p分区中.当计算机重新启动后,系统重新装载保存的内存数据,包括进程数 ...
- Linux——权限|shell运行原理——外壳程序|Linux权限的概念|对人操作|角色和文件操作|文件类型访问权限|修改权限ugo+-|8进制|修改权限|更改文件的拥有
目录 shell运行原理--外壳程序 Linux权限的概念 对人操作 角色和文件操作 文件类型
- TCP原理之:linux网桥
TCP原理之:linux网桥 0. 前言 Linux内核提供了对网桥的支持,通过建立网桥设备能够将系统中的多个网络接口相连通,实现网络接口之前的通信.为了便于理解,我们可以将网桥想象成现实中的交换机, ...
- redis,memcached到nginx,底层网络io中剥离精髓丨C/C++Linux丨C++后端开发丨Linux服务器开发丨底层原理
redis,memcached到nginx,底层网络io中剥离精髓 1. redis单线程网络的优缺点 2. memcached多线程网络的并发优势 3. nginx多进程网络的优势 视频讲解如下,点 ...
- Linux高级应用(九)Linux内核的原理和配置
一.嵌入式Linux平台的启动过程 1.运行启动引导程序-bootloader(相当于PC的BIOS) Booting from NAND Load Kernel- Uncompressing Lin ...
- 基于pxe技术实现linux自动安装原理,网络安装Linux的技术原理分析及实现
网络安装Linux的技术原理分析及实现 李怀刚;邱建新 [期刊名称]<计算机应用与软件> [年(卷),期]2006(023)009 [摘要]对自动化Linux网络安装所使用的相关技术原理进 ...
- linux进程文件描述符 vnode,Linux C编程详解:进程原理分析、文件描述符和文件记录表、文件句柄和文件原理...
一.引言 文件操作是Linux C编程中其中的一项核心技术,实际上也相当重要,这里并不是说狭义上的那种文件操作,它也非常有助于理解和学习Linux系统.为什么这样说呢?因为在Unix/Linux的世界 ...
最新文章
- sublime插件emmet的配置、使用及快捷键Ctrl+E修改成Tab键操作
- linux进入text目录,Linux文件和目录操作命令 | Soo Smart!
- 安装alien,DEB与RPM互换
- 配置lamp+supervisor
- 前端学习(1880)vue之电商管理系统电商系统之获取左侧菜单数据
- spring接口 BeanFactoryAware,动态获取IOC容器里面的对象(多例)
- LVS+KeepAlived,RabbitMQ高可用负载均衡
- 我开发共享软件的三次经历(上):打造一款很多人用的软件
- html 的scor属性,html – 什么是css scroll-behavior属性?
- [高通SDM450][Android9.0]CTA认证--Android6.0以下应用默认不授权
- 见山是山,见山不是山,见山只是山
- Autogrid5划分网格
- des vue 双倍长 解密_java 3des双倍长 有参考的代码给提供下吗?
- 小程序客服关闭自动回复功能后如何解决关注公众号
- FPGA入门学习笔记(十四)Vivado实现数码管段码显示以及动态扫描
- web练手--抽卡模拟器(1)
- 学习通A类程序题答案(旧的,不是考试题库)
- 小白学雷达系列之脉冲雷达基本组成(一)
- 以太坊 day (7)
- Python 爬虫实战 汽车某家(四) 车型配置