近日,接到一个公司的项目,需要进行服务器的负载均衡设置,故将此方案在个人计算机模拟操作记录如下.----随行

一,前提设置:

    1.2台windows2003服务器为企业版R2以上,且在域环境中。域中有DNS服务。

    2.在使用过程中,两台服务器都用域管理员Administrator登录。

    3.在DNS服务器上新建群集主机cluster设置其ip为192.168.10.10:

二,计算机参数设置:

    1.域:luyx30.com  DC:192.168.10.1 DNS:192.168.10.1 GW:192.168.10.1

    2.主机:    server1:win2003-1  IP:192.168.10.1/24

                     server2:win2003-2  IP:192.168.10.2/24

                     client:win2003-test  IP:192.168.10.3/24

                     虚拟IP:192.168.10.10  域名:cluster.luyx30.com

三,配置负载均衡(由于服务器为单网卡,故此次采用单网卡多播的方式):

    1.在win2003-1打开本地连接--网络负载平衡:

配置群集参数:填入虚拟IP和虚拟IP对应的Internet名,此处群集操作模式选择多播(因为只有单网卡)。

注:在单网卡的节点中,只能使用多播的方式来收发内部IP流和NLB流。在有两张网卡的情况中,就可以用单播的方式,这样一张网卡负责NLB流,另外一张负责IP流。所以从访问性能来说,单播的方式要比多播的方式快。现在的许多服务器有两个网口。如果满足条件,最好能使用单播模式。(参考资料1)

配置主机参数:填写win2003-1的IP,此如填写优先级为1.

注:priority设置成1,此节点在集群中为主节点。说明 网络负载平衡(网络负载均衡、NLB、集群)会在未达到负载极限的时候,首先把请求路由到优先权高的节点上。在另外一个节点的值则不能为1。请注意这个值在每个节点上是唯一的。

 

配置端口规则:端口规则可以对流量进行筛选,此处没有设置,若只开放80端口,可将端口范围选择从80到80.(参考资料2)

注:NLB提供3种筛选模式,可以针对端口规则采取禁止、多主机负载平衡和单主机的特殊处理。其中,多主机筛选模式提供了真正意义上的负载平衡,并且可以根据节点的实际处理能力进行负载量的分配。

Affinity(相似性)这是用于控制访问请求路由。当使用None时,来自同一个IP的请求将得到不同节点的回应,这提高了集群的性能。如果Protocols使用UDP或Both,为了能正确的处理IP片段,应该尽量不要使用None。在处理http时建议选择None以提高性能。Single模式,将来自相同的IP地址路由到同一个节点上,提访问的高安全性。Class C模式将来自与节点同一个子网的访问路由到同一个节点上。

    2.配置完负载平衡后,需要在TCP/IP上添加虚拟IP:

3.在win2003-2服务器上也按照上诉1,2配置,只是在专用IP上要选择192.168.10.2.

4.设置完成后,在win2003-1上打开管理工具--网络负载平衡管理器,右键单击网络负载平衡群集,选择连接到现存的(C):

5.若配置成功,则可成功看到下面的画面:

6.在win2003-2上操作与4-5相同。

 

 

 

参考资料1:

单播,多播,IGMP多播 

我们一一来解释一下: 
单播 
我们知道交换机是基于端口转发数据帧的,端口和插在各个端口的服务器的网卡地址(MAC地址)是一一对应并且形成个MAC地址表,这个MAC地址表是通过“学习”的来的,这个学习就是通过广播得到的 
而我们用集群采用单播的时候,windows集群会把这个集群中所有的节点的网卡地址改成一样的(并不是真的改了,而是对发出去的数据包的源MAC地址改 成和虚拟IP的MAC一致),这就导致交换机无法通过学习形成MAC地址表,所以,交换机和集群IP以及集群中各个节点通信都要通过广播进行(MAC地址 表的学习过程第一个就是广播),这样一来凡是这个MAC地址通信的集群虚拟IP就去回应接受,然后根据优先级或端口规则来分配给各个请求给各个真实服务器,从而达到负载均衡的目的 
显然,这里有个遵循了通用协议(所有的交换机,路由器都遵循),所以,单播适用性非常强,可以在任何网络中都使用 
但这很明显有个缺点就是会在交换机带来负担,同时,外网的网卡将无法进行通信,这就是为什么我在上面要选择内网来添加节点的原因了,多播不会有此问题 
多播 
在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,集群的各个节点所发送的针对群集IP地址MAC地址 ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,什么意思呢,想想,我们现在这两个节点和集群的一个IP,就一共有三个IP地址了,一个虚 拟的,两个真实节点的IP,那真实节点在和虚拟IP通信的时候,会把这个虚拟IP当做一台真是的服务器,在内存里面会保持一个ARP表,这个表就会有IP 地址和多播MAC地址,这在计算机时没有问题的,单有很多路由器和交换机却不允许这样,所以多播的通用性比较差 
IGMP多播 
IGMP 多播,它可以通过使用IGMP协议支持来使交换机只将NLB通讯发送到连接NLB节点的端口,而不是所有交换机端口。但是此特性必须要求交换机支持IGMP侦听,并且要求群集工作在多播模式了下

参考资料2:

我们来详细解释一下端口规则 

顾名思义,端口规则,就是集群上对端口的规则呗!!! 
集群IP地址:这里也就是虚拟IP192.168.10.10,如果你有多个集群IP,这里可以选择,这里就是你要,这个事端口规则应用的对象! 
端口范围:就是哪些端口,这里默认是0-65535,就是所有的端口了 
协议:就是指,这些端口下哪些协议,有TCP,UDP,两者同时 
筛选模式:这里有三种:1,多主机模式;2,单一主机模式;3,禁用模式: 
这个模式就非常关键了 
多主机模式:是指根据这里的端口规则来负载均衡下面会详细讲 
单一主机模式:不管三七二十一,请求按照前面设置的优先级来处理,什么意思呢,就是不管你用户有多少请求,全部发往优先级低先处理,除非这个优先级低的节点挂球了,那么才会把请求转发到次优先级的节点处理,这有点像双机热备了,而不是负载均衡了 
禁用端口模式:什么意思呢,是指凡是这些端口的这些协议都禁止通过集群,相当于防火墙功能 
下面我来重点看一下多主机模式 
多主机模式:他对于相似性分了三种情况:1,无;2,单一;3,类C 
什么是相似性呢,例如,我们在访问一个网站的时候,可能会同时打开很多这个网站的不同网页,就会发出不同的请求,单这些请求都是你一个人发的,所以是同一个IP上发出的,这些请求就叫做相似性请求 
举一反三,同一个局域网,例如公司NAT上网,网吧代理上网,几百号人用的都是同一个IP地址,他们的请求也是相似性请求,所以,微软在这里给多主机模式更加细化来处理,这样能更加有效的分布你的请求,是均衡达到极致 
无:是指来自同一个客户端的同一个IP地址的多条请求随机分配给各个节点,他是随机分配请求的,注意,这里如果是UDP的请求请不要选择无,所以当为协议设置选择“UDP”或“二者”时应避免使用“无 
单一:是指NLB要把同一个客户的所有请求发给这个集群组中的固定节点处理,这是相似性默认的,这个事根据IP地址来判断的,而不是用户端来判断,举个例 诶子,网吧里很多客户,但他们的IP地址都是一样的,所以这里会把这些客户端都当成是一个客户端,他们的请求都会发往同一个节点。同时,同一台电脑的不同请求也发往这个集群的同一个节点处理 
C类:是指把所有TCP/IP中的C类地址全部转发给同一个集群组处理(不是单个节点哟,是集群组,集群组里面可能包含了多个接地那呢)