关于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 ...
随机推荐
- 【读书笔记】iOS-网络-优化请求性能
一,度量网络性能 1,网络带宽 用于描述无线网络性能的最常见度量指标就是带宽.在数字无线通信中,网络带宽可以描述为两个端点之间的通信通道每秒钟可以传输的位数.现代无线网络所能提供的理论带宽是很高的.不 ...
- win7下解决vs2015新建项目,提示“未将对象引用设置到引用实例“的问题
问题描述: 打开vs2015新建c++项目时,出现有如下内容的对话框“未将对象引用设置到引用实例”的提示 解决方法: 1. 温馨提示:千万不要一冲动,就去卸载vs2015!! win7下安装vs20 ...
- 【node+小程序+web端】简单的websocket通讯
[node+小程序+web端]简单的websocket通讯 websoket是用来做什么的? 聊天室 消息列表 拼多多 即时通讯,推送, 实时交互 websoket是什么 websocket是一个全新 ...
- SQLServer 2008(R2)如何开启数据库的远程连接
SQL Server 2008 R2如何开启数据库的远程连接 by:授客 QQ:1033553122 SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的S ...
- 【Redis】Redis学习(一) Redis初步入门
一.Redis基础知识 1.1 Redis简介 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.它支持字符串.哈希表.列表.集合.有序集合,位图,h ...
- 使用 Azure 门户创建 Windows 虚拟机
可以通过 Azure 门户创建 Azure 虚拟机. 此方法提供一个基于浏览器的用户界面,用于创建和配置虚拟机和所有相关的资源. 本快速入门介绍了如何创建虚拟机并在 VM 上安装 webserver. ...
- 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064),及查找SQL Server数据库中用户spid(非SQL Server系统spid)的方法
今天公司SQL Server数据库无意间变为SINGLE_USER模式了,而且使用如下语句切换回MULTI_USER失败: ALTER DATABASE [MyDB] SET MULTI_USER W ...
- 使用MyEclipse建立working set
1.用eclipse或者MyEclipse开发久了后,会有很多的项目,就算关闭了还会有很多,这是需要建立一个working set,相当在工作区中建立项目文件夹分类放自己做过的一些项目. 如下图: ...
- C# Excel操作类 ExcelHelper
实现C#与Excel文件的交互操作,实现以下功能: 1.DataTable 导出到 Excel文件 2.Model数据实体导出到 Excel文件[List<Model>] 3.导出数据到模 ...
- linux操作系统基础讲解
计算机的组成及功能: 现在市场上的计算机组成结构遵循冯 诺依曼体系,由CPU.内存.I/O设备,存储四大部分组成. CPU是整个计算机的核心部件,主要由运算器和控制器组成,它负责整个计算机的程序运行以 ...