设为首页 收藏本站
查看: 699|回复: 0

[转]Windows server 2008网络负载均衡集群

[复制链接]

尚未签到

发表于 2015-4-30 07:17:15 | 显示全部楼层 |阅读模式
近期尝试了下高性能的8650负载均衡器,发现性能相当还不错,界面比较简单粗糙,似乎又山寨之嫌。恰好近期以客户咨询网络负载均衡的问题,结合windows server 2008的特点

,就小试了一把windows的负载均衡集群NLB,这个集群是在IIS web环境下测试过的。现整理文档如下,供各位参考。
首先,给大家简单的说下几个概念
Windows server 支持三种类型的群集,分别是NLB、CLB和MSCS。NLB与MSCS内置于windows server中,CLB需要购买Application Center。
a)  NLB:提供以TCP/IP 为基础的服务与应用程序的网络流量负载均衡,用于提升系统的可用性和可扩展性。常见的应用有Terminal Service、Web、VPN与FTP等。
b)  CLB:提供使用COM+组件的中介层应用程序的动态负载均衡,用于提升系统的可用性和延展性。CLB会依据目前的工作负载来决定由谁来处理服务请求。
c)  MSCS:提供后端服务与应用程序的容错移转(failover),主要是提升系统的可用性。常见的应用有SQL Server与Exchange Server等。MSCS是由client来决定由谁来处理服务请

求,所有服务器共享一个share storage来储存session状态。当主动服务器挂了,则继续由被动服务器接手。被动服务器会从share storage取出session状态,继续未完成的工作

,以达到容错移转的目的。
其次,说说NLB的工作原理
a) 图示:

下载 (22.57 KB)
2009-6-9 08:23
b) 节点A与节点B均有一个外部使用的静态IP地址,创建NLB群集时会产生一个虚拟的IP,该IP与节点的IP在同一个网段内,对外公布的 IP为虚拟的群集IP,而客户机所访问的实

际上为节点A或者节点B。这点和MSCS基本类似,也延续了windows的一贯风格。
然后,就来演示下操作步骤。
1. 在两台安装有windows server 2008的服务器上,分别命名为sv1和sv2.

2. 在两台服务器上分别安装IIS7,这个需要再服务管理器中添加角色

3. 分别在两台机器上配置静态IP:
sv1:10.91.11.83
sv2:10.91.11.90

4. 运行IIS7的默认网站,在其中新建两个静态web页面,分别测试能够访问即可。

5. 在sv1机器上添加功能“网络负载均衡”,直接下一步安装即可。另外一个机器sv2上也需要同样安装,安装过程不需要重启机器。

6. Sv1安装完成后,开始—运行中,输入NLBMGR打开NLB管理器—群集—新建—输入当前节点A的主机名:sv1,点“连接”,下面会出来对应的集群的借口。选择有固定

IP:10.91.11.83的网卡。


7. 添加共享集群虚拟IP:10.91.11.249

8. 设置FQDN,选择群集操作模式(推荐使用双网卡单播模式)
单播:单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC(由02-bf和群集IP地址组成确保此MAC的唯一性)。由于所有绑定群集的网络适配器的MAC都相同,所以在单网卡的

情况下,各节点之间是不能通讯的,这也是推荐双网卡配置的原因之一。为了避免交换机的数据洪水,应该结合VLAN使用。
多播:网络适配器在保留原有的MAC地址不变的同时,还分配了一个各节点共享的多播MAC地址。所以,即使单网卡的节点之间也可以正常通讯,但是大多数路由和交换机对其支持不

是太好。
IGMP多播:IGMP多播(只有在选中多播时,才可以选择此项),在继承多播的优点之外,NLB每隔60秒发送一次IGMP信息,使多播数据包只能发送到这个正确的交换机端口,避免了交换机

数据洪水的产生。

配置端口规则后确定并等待聚合完成


9. sv1节点配置更改结束。

10. 添加添加sv2节点。


11. 优先级标识符选为2


12. NLB集群界面配置结束。

13. 这里着重说明下:
群集IP地址:指定规则所针对的群集IP
端口范围:默认为所有,可以指定群集监听的端口范围(如从80到80,表示只针对web服务实现负载均衡)
协议:指定群集所服务的协议类型
筛选模式:
a:多个主机:
无相似性: 客户端的服务请求会平均分配到群集内的每一部服务器。假设NLB群集内有2部服务器。当接到客户端的请求时,NLB会将第1个请求交由第1部服务器来处理,第2个请求

交由第2部服务器来处理,第3个请求交由第1部服务器来处理,…依此类推。因为所有客户端联机会平均分配到每一部服务器,因此可以达到最佳的负载平衡。如果需要执行交易处

理,为了能够共享session状态,则必须将session状态集中储存在state或database server中,这种方式适用于大部分的应用程序。
单一相似性:客户机的服务请求会固定分配到群集内的某一部服务器。当接到客户机的请求时,NLB会根据客户机 的IP来决定交由哪一部服务器来处理,也就是一部服务器只会处

理来自某些IP的请求。因为一个IP的服务请求只会固定由一个服务器来处理,因此没有session状态共享的问题,但可能会导致负载不平衡。这种方式适用于联机需支持 SSL 集多

重联机的通讯协议 ( 例如FTP与PPTP等)
网络(类C):根据IP的Class C屏蔽来决定交由哪一部服务器来处理,也就是一部服务器只会处理来自某些网段C的请求。这种方式可确保使用多重 Proxy 的客户端能导向到相同的

服务器。
b.单一主机:
若选择此选项,该端口范围内的所有请求都将由一台主机来进行处理,此选项将配合后面的主机优先级来进行主机判定。
c. 禁用此端口范围:一般这个选项会在端口例外中进行设置,也就是说,当我们指定了一个比较大的范围端口时,其中有一个或几个端口我们不需要 客户端用户访问到,这时我

们将利用这个规则来进行设定,防止用户访问此端口请求。   

14. 下面我们就测试一下我们的web页面是否实现了网络负载均衡。同样访问的是虚拟IP10.91.11.249,页面分流到了两个不同的服务器上。



这段时间公司的ERP系统正在开发当中,由于该系统并发连接用户比较大,要求必须使用windows2008中的NLB群集完成服务器布署,经过几天的布署,终于将服务器搭建好,

现将布署过程用实验的形势整理下来,并对NLB中所涉及到的相关知识做了一定的描述:
1.        什么是群集?
群集是指一组服务器,通过彼此的协同作业,提供一个相同的服务或应用程序,用于提升服务或应用程序的可用性(availability)、可靠性(reliability)和可扩展性

(scalability)。当群集内的服务器down掉以后,服务请求会转给其它群集内的节点,以实现24小时不中断的服务

2.        Windows server 中的群集类型
Windows server 支持三种类型的群集,分别是NLB、CLB和MSCS。NLB与MSCS内置于windows server中,CLB需要购买Application Center
a)        NLB:提供以TCP/IP 为基础的服务与应用程序的网络流量负载均衡,用于提升系统的可用性和可扩展性。常见的应用有Terminal Service、Web、VPN与FTP等。
b)        CLB:提供使用COM+组件的中介层应用程序的动态负载均衡,用于提升系统的可用性和延展性。CLB会依据目前的工作负载来决定由谁来处理服务请求。
c)        MSCS:提供后端服务与应用程序的容错移转(failover),主要是提升系统的可用性。常见的应用有SQL Server与Exchange Server等。MSCS是由client来决定由谁来处理

服务请求,所有服务器共享一个share storage来储存session状态。当主动服务器挂了,则继续由被动服务器接手。被动服务器会从share storage取出session状态,继续未完成

的工作,以达到容错移转的目的

3.        NLB的工作原理:
a)        图示:

b)        节点A与节点B均有一个外部使用的静态IP地址,创建NLB群集时会产生一个虚拟的IP,该IP与节点的IP在同一个网段内,对外公布的 IP为虚拟的群集IP,而客户机所

访问的实际上为节点A或者节点B。

4.        WINDOWS2008下的NLB配置:
a)        NLB配置的环境要求:
i.        网卡:所有网卡必须与WINDOWS2008兼容,单网卡或多网卡均可配置该服务,推荐使用多网卡。
ii.        网络模式:工作组和域环境均可完成,在2008中最多可以支持32个节点。
iii.        交换机和路由器要求:交换机必须支持VLAN,有些交换机和路由器有可能需要手工设置多播MAC地址。
iv.        通讯协议:绑定到群集的网络适配器只能安装TCP/IP协议,必须静态分配,不支持DHCP。
v.        应用程序的要求:必须是TCP或UDP通讯,而且确定当前应用程序或服务必须支持NLB。
b)        实验拓朴图:
两台windows 2008 entprise edition 双网卡服务器

c)        实验步骤:
i.        搭建网络并测试网络连通性(按图示上的网络配置)
ii.        在两个节点上分别安装WEB服务并设置不同的html文档,方便检测实验效果:


iii.        安装网络负载平衡管理工具

iv.        输入NLBMGR打开NLB管理器—群集—新建—输入当前节点A的主机名:

v.        点击”连接”后选择用于配置群集的网络接口。

vi.        添加群集虚拟IP

vii.        设置FQDN,选择群集操作模式(推荐使用双网卡单播模式)
单播:单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC(由02-bf和群集IP地址组成确保此MAC的唯一性)。由于所有绑定群集的网络适配器的MAC都相同,所以在单网卡的

情况下,各节点之间是不能通讯的,这也是推荐双网卡配置的原因之一。为了避免交换机的数据洪水,应该结合VLAN使用。
多播:网络适配器在保留原有的MAC地址不变的同时,还分配了一个各节点共享的多播MAC地址。所以,即使单网卡的节点之间也可以正常通讯,但是大多数路由和交换机对其支持不

是太好。
IGMP多播:IGMP多播(只有在选中多播时,才可以选择此项),在继承多播的优点之外,NLB每隔60秒发送一次IGMP信息,使多播数据包只能发送到这个正确的交换机端口,避免了交换机

数据洪水的产生。

viii.        配置端口规则后确定并等待聚合完成:

群集IP地址:指定规则所针对的群集IP
端口范围:默认为所有,可以指定群集监听的端口范围(如从80到80,表示只针对web服务实现负载均衡)
协议:指定群集所服务的协议类型
筛选模式:a:多个主机:
            无相似性: 客户端的服务请求会平均分配到群集内的每一部服务器。假设NLB群集内有2部服务器。当接到客户端的请求时,NLB会将第1个请求交由第1部服务器来处理

,第2个请求交由第2部服务器来处理,第3个请求交由第1部服务器来处理,…依此类推。因为所有客户端联机会平均分配到每一部服务器,因此可以达到最佳的负载平衡。如果需

要执行交易处理,为了能够共享session状态,则必须将session状态集中储存在state或database server中,这种方式适用于大部分的应用程序。
            单一相似性:客户机的服务请求会固定分配到群集内的某一部服务器。当接到客户机的请求时,NLB会根据客户机 的IP来决定交由哪一部服务器来处理,也就是一部

服务器只会处理来自某些IP的请求。因为一个IP的服务请求只会固定由一个服务器来处理,因此没有session状态共享的问题,但可能会导致负载不平衡。这种方式适用于联机需支

持 SSL 集多重联机的通讯协议 ( 例如FTP与PPTP等)
             网络(类C):根据IP的Class C屏蔽来决定交由哪一部服务器来处理,也就是一部服务器只会处理来自某些网段C的请求。这种方式可确保使用多重 Proxy 的客户端

能导向到相同的服务器。
           b.单一主机:若选择此选项,该端口范围内的所有请求都将由一台主机来进行处理,此选项将配合后面的主机优先级来进行主机判定。
           c. 禁用此端口范围:一般这个选项会在端口例外中进行设置,也就是说,当我们指定了一个比较大的范围端口时,其中有一个或几个端口我们不需要 客户端用户访问

到,这时我们将利用这个规则来进行设定,防止用户访问此端口请求。   
ix.        聚合完成后在第二个节点上连接到已经创建好的群集

x.        将第二个节点加入到现存群集

xi.        聚合完成后通过群集ip可访问WEB站点

xii.        断开节点A的网络连接后,自动切换到节点B

至此所有操作完成,特别注意:在生产环境中使用除非你确定你们公司的路由器支持多播模式,否则请最好使用双网卡单播模式,并在路由上对ARP表做手动设置,否则可能会出现

跨网段无法访问群集ip的错误。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-62017-1-1.html 上篇帖子: Windows Server 2008: Server Core初体验 下篇帖子: 关于域证书的发布CA和CRL的内容 (Windows 2008 Server R2 SP1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表