关于NLB的群集操作模式知识 (转载)
单播:单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC(由02-bf和群集IP地址组成确保此MAC的唯一性)。由于所有绑定群集的网络适配器的MAC都相同,所以在单网卡的情况下,各节点之间是不能通讯的,这也是推荐双网卡配置的原因之一。为了避免交换机的数据洪水,应该结合VLAN使用。
多播:网络适配器在保留原有的MAC地址不变的同时,还分配了一个各节点共享的多播MAC地址。所以,即使单网卡的节点之间也可以正常通讯,但是大多数路由和交换机对其支持不是太好。
IGMP多播:IGMP多播(只有在选中多播时,才可以选择此项),在继承多播的优点之外,NLB每隔60秒发送一次IGMP信息,使多播数据包只能发送到这个正确的交换机端口,避免了交换机数据洪水的产生。
NLB群集的两种操作模式
Windows NLB群集有两种操作模式:单播模式、多播模式。
单播模式(交换机不允许两个port注册相同的MAC地址):二层交换机的每一个端口(PORT)所注册的MAC地址必须是唯一的,也就是说,每个端口的MAC不能重复,当两台服务器成为群集的时候,那么也就意味着,这两台服务器的网卡启用了NLB群集的功能,那么这两个网卡就有一个相同的MAC地址:00-ab-11-22-33-44即群集MAC。由于两台服务器直接连接在二层交换机的端口上,所以这两个交换机的端口都会被注册成为00-ab-11-22-33-44,以此,交换机的端口MAC产生了冲突,这是不允许的。如图:

既然出现了问题,那么,我们就要利用MaskSourceMAC的解决这个问题,也就是将群集MAC地址的最高第2组设为主机ID。那么第一台主机是01,第二台主机是02.如图:

单播模式(Switch Flooding——交换机泛红):我们已经知道,交换机的每一个端口都是唯一的,路由器接收到群集IP的数据包时,它会通过ARP地址来查询群集MAC地址,不过,交换机端口(port)没有群集MAC地址,因为我们已经通过MaskSourceMAC功能解决交换机端口MAC相同的问题,当然交换机端口也没有所谓的群集MAC地址,这个时候,交换机就会进行泛红,其实说白了,就是向每个端口除接收端口进行广播,这样会造成额外的网络负担,说的通俗点就是,会造成大大的占用网络带宽。如图:

虽然泛红现象可以造成额外的网络负担,不过,群集中的主机都能接收到发来的数据包。那么我们如何解决交换机泛红问题呢?我们可以先将两台群集主机连接在一台HUB(集线器)上,然后再禁用MaskSourceMAC功能,这样,只有HUB连接的交换机端口注册群集MAC,这样就不会产生泛红问题了。如图:

禁用MaskSourceMAC功能的方法:开始——运行——regedit——HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\Adapter-GUID,将Adapter-GUID值改为0即可。
单播模式(群集服务器之间无法相互通信的问题):既然是NLB群集,并且支持着WEB服务,也就意味着,每一台群集主机上的web内容都是一样的,我们可以利用DFS复制技术将两台群集里的web内容进行同步,那么就必须让两台主机进行通信。如果我们选择单播模式,并且选择一块网卡,那么就会产生两台群集主机不通信的问题。如图:

上图所示,当左边的主机要与右边的主机进行通信的时候,它会通过ARP请求数据包来询问其主机的MAC地址,而右边主机回复的MAC地址是群集MAC,也就是和左边的MAC是一样的,所以这个时候,无法进行通信。那么解决方法就是,将每台群集主机安装两块网卡,并且安装的两块网卡不启用群集服务,这样通信就不会出现问题了。如图:

多播模式的概念:多播,说白了,就是将数据包发送给多台计算机,这些计算机同属于一个个多播组,他们拥有一个共同的多播MAC地址。
多播模式的特点:
1、NLB群集中每一台服务器的网卡仍然会保留原来的唯一的MAC地址,所以,群集成员服务器之间是可以正常通信的,那么这么一来,在交换机的端口上注册的就是原来的唯一的MAC地址。
2、NLB群集的服务器都共用一个群集MAC地址,这是一个多播MAC地址,群集里的服务器都是通过多播MAC地址来监听外部的请求的。
多播的缺点:
1、有的路由器不支持,当路由器接收到送往群集IP地址202.106.0.100的数据包时,路由器就会进行ARP广播,来查询202.106.0.100的MAC地址,其实就是ARP广播群集MAC,此时,我们选择的是多播,所以群集的MAC也就是一个多播(群集)MAC地址,而回复给路由器的就是一个多播MAC地址,那么路由器有可能不承认这个回复信息,换句话说,路由器有可能不接受这样的结果,因为,路由器要解析的是单播地址202.106.0.100,现在解析到的是一个多播MAC,那么,要想解决这个问题,我们可以手动在路由器上新建一个静态的ARP条目,202.106.0.100对应一个群集MAC——00-ab-11-22-33-44,这是一个解决办法,但是,如果路由器不支持这样的做法,那么我们只好更换路由器,或改为单播模式。如下图。
2、依然存在我们前面所说过的Switch Flooding现象,当我们选择多播模式以后,每个交换机的端口都是唯一的,但是,路由器接收到送往群集的数据包时,路由器依然会ARP广播,欲广播群集的MAC地址,那么现在有这样的一个情况,交换机的任何一个端口都没有群集MAC,所以,这个时候,交换机只能进行广播来获取群集MAC地址,这样就产生了泛红的问题,依然会增大网络带宽,增加了网络负载。在多播模式下如何解决这个问题呢,那么就是利用一台支持IGMP snooping(Internet group membership protocol窥探)的交换机来解决,这个协议可以自动的发现,连接在交换机上的哪个服务器属于一个多播组,那么只要交换机接收到送往群集的数据包,直接会被送往交换机的部分端口,也就是属于多播组的服务器。如下图。

参考文献:
关于NLB的群集操作模式知识 (转载)的更多相关文章
- Exchange NLB 单播和多播模式比较
一般来说,在NLB的创建时,单网卡多播,双网卡单播. 双网卡单播时,因为主机之间不能互相通信,将设置内网通讯的网卡,也就是群集设置中的心跳. NLB模式 描述 优点 缺点 单播 网卡MAC会被NLB专 ...
- windows网络服务之配置网络负载均衡(NLB)群集
O首页51CTO博客我的博客 搜索 每日博报 社区:学院论坛博客下载更多 登录注册 家园 学院 博客 论坛 下载 自测 门诊 周刊 读书 技术圈 曾垂鑫的技术专栏 http:// ...
- 【ABAP系列】SAP ABAP-模块 字符串操作基础知识
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP-模块 字符串操 ...
- 20.LVS负载均衡群集—NAT模式实例
LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...
- ListView多选操作模式——上下文操作模式
1.什么叫上下文操作模式 2.如何进入上下文操作模式 1.ListView自身带了单选.多选模式,可通过listview.setChoiceMode来设置: listview.setChoiceMod ...
- pytthon—day8 读写模式的结合、文件操作模式、with完成文本文件复制、游标操作
一.读写模式的结合 w:写指没有新建文件,有文件就清空 w=open('1.txt','w',encoding='utf-8') w.write('000\n') 在写入数据时,需要及时处理内存空间, ...
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
- day8 八、文件操作模式、文件的复制与文件游标操作
一.文件操作 1.wr模式结合 ① w = open('1.txt', 'w', encoding='utf-8') # w:没有文件新建文件,有文件就清空文件 w.write('000\n') w. ...
- Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】
一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...
随机推荐
- AJAX的基本操作
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJAX = 异步 JavaScript和 ...
- 【three.js练习程序】旋转、缩放场景
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- [转载]Buffer cache的调整与优化
Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的free buffer waits事件.下面将具体描 ...
- python 流程控制(条件语句)
1,python流程控制单条件基本语句 2,python流程流程多条件控制语句 3,三元运算 1,python流程控制单条件基本语句 if 判断条件: 执行语句…… else: 执行语句…… 判断条件 ...
- SEO-搜索引擎优化
一.定义 SEO(Search Engine Optimization):汉译为搜索引擎优化.是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名.目的是:为网站提供生态式的自我营销解决方 ...
- pt-heartbeat --update --daemonize 只执行一次秒退的问题
使用pt-heartbeat帮助测试MySQL从库delay时长- 第一次运行测试成功,运行顺畅. 过几天再次用--update测试时,发现pt-heartbeat只update一次就自己退出了,-- ...
- 【概率论】条件概率 & 全概率公式 & 朴素贝叶斯公式
0. 说明 条件概率 & 全概率公式 & 朴素贝叶斯公式 学习笔记 参考 scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理及python实现 1. 条件概率 [定 ...
- 【转】Java学习---算法那些事
[更多参考] LeetCode算法 每日一题 1: Two Sum ----> 更多参考[今日头条--松鼠游学] 史上最全的五大算法总结 Java学习---7大经典的排序算法总结实现 程序员都应 ...
- jQuery插件实例四:手风琴效果[无动画版]
手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是 ...
- Django商城项目笔记No.1项目准备工作
Django商城项目笔记No.1项目准备工作 一.本项目商城属于B2C商业模式 二.项目采用前后端分离的应用模式 前端使用Vue.js 后端使用Django REST framework 1.创建gi ...