负载均衡,NLB:Network Load Balancing。
是提供相同服务的一系列服务器同时监听服务请求,并允许在同一时间运行多个应用程序实例。NLB的核心是位于网络适配器驱动和网络层之间的 WLBS.SYS的筛选器驱动。NLB把每个IP数据包分发到所有群集节点,并根据数据包的源地址、目标地址、传输层协议、端口、群集的配置参数以及算法做出由某个节点处理而其他节点丢弃此数据包的统一决定。
单个群集的最大节点数为32,如果还不能满足需要,可以使用Round-Robin Domain Name Service把请求映射到多个群集上(但也因此引入了单点故障DNS,除非DNS冗余)。
windowsserver2003的负载均衡是在端口级进行操作,如端口选择80代表只针对web服务实现负载均衡
命令:nlbmgr nlbmgr /help
参考:http://support.microsoft.com/kb/323437/zh-cn
网络负载平衡常见问题
操作步骤:
在实现网络负载平衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),在网络属性中,”网络负载平衡”也不能被选择,这可以从”网络连接属性”中查看。
①先进入第一台计算机,以管理员身份登录,从”管理工具”中运行”网络负载平衡管理器”,用鼠标右键单击”网络负载平衡群集”,从出现的菜单中选择”新建群集”,进入”群集参数”界面
在”IP地址”后面输入规划的群集参数地址202.206.197.195,在子网掩码处使用默认值,在”完整Internet名称”后面输入cluster.heinfo.edu.cn(也可以是其他的名称,但输入的DNS名称必须与输入的IP地址相符)。
如果允许远程控制,请选中”允许远程控制”,并在”远程密码”和”确认密码”处输入可以进行远程控制的密码
②点击”下一步”按钮,进入群集IP地址页面后再进入”端口规则”界面,点击”下一步”按钮,进入”连接”
③在”连接”界面的”主机”栏中输入当前计算机的名称w2003-1,然后点击”连接”按钮,将在”对配置一个新的群集可用的接口”框中显示出连接的计算机的网卡及IP地址。选择与群集IP地址同一网段的地址(用于对外提供网络应用的网卡),然后点击”下一步”按钮,进入设置”主机参数”界面,点击”完成”按钮,系统将自动开始网络负载平衡群集的配置。几分钟后,网络负载平衡群集配置完成。
④ 然后,在第一台计算机上,用鼠标右键单击新创建的群集,从出现的菜单中选择”添加主机到群集”。将出现”连接”界面,在”主机”中输入第二台计算机的计算机名称,点击”连接”按钮,将会在”对配置群集可用的接口”下面显示出连接的计算机上的网络配置。选择202.206.197.191的网卡,进入主机参数界面,点击”完成”按钮,即可返回网络负载平衡管理器
注:1,加节点两种方式:1,在有群集的机上进行“添加主机到群集”。2,在待入群集的机上,进行链接操作。
2,在网络负载平衡中的每个节点上,管理员账号的用户名和密码最好一致。
3,信息保存,使用该工具进行管理是首选的方法。依次单击“开始/所有程序/管理工具/网络负载平衡管理器”,可以打开“网络负载平衡管理器”窗口。遗憾的是,用户所连接到的群集和主机的名称不能在会话之间保留,因此每次启动“网络负载平衡管理器”时,左窗格中的群集列表均为空。不过用户可以将列表保存到一个文本文件中,并在以后启动该工具时加载这个文本文件。在“网络负载平衡管理器”窗口中依次执行“文件/保存主机列表/加载主机列表”命令来实现
注:操作过程中一些参数解释:
虚拟出的群集IP与群集MAC地址对应关系:02-bf-虚拟IP16进制(单播),03-bf-虚拟IP16进制(多播),01 – 00 – 5E -7F -虚拟IP后两位16进制(IGMP多播)
1,群集操作模式:
1)单网卡单播 —两台服务器不能互访,单播模式是指各节点的网络适配器被重新指定了一个虚拟MAC,由于所有绑定群集的网络适配器的MAC都相同,所以在单网卡的情况下,各节点之间是不能通讯的。
2)多播模式下,网络适配器在保留原有的MAC地址不变的同时,还分配了一个各节点共享的多播MAC地址。
所以,即使单网卡的节点之间也可以正常通讯,不过在多播模式中,NLB节点发送的针对群集IP地址MAC地址ARP请求的
ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或交换机会拒绝这一行为,当出现这种情况时,必须在路由器和交换机上手动
添加静态映射,将群集IP地址映射到群集的多播MAC地址上。
3)IGMP多播(只有在选中多播时,才可以选择此项),
在继承多播的优点之外,NLB每隔60秒发送一次IGMP信息,使多播数据包只能发送到这个正确的交换机端口,避免了交换机数据洪水的产生。不过要求交换机支持IGMP侦听,并且要求群集工作在多播模式下。
如果启用 IGMP 支持,则允许的多址广播 IP 地址将被限制为标准的 D 类范围,即 224.0.0.0 到 239.255.255.255。
2,端口规则筛选模式:多个主机:多主机同时工作,单一主机:一个主机工作,此主机挂掉后,下一个主机才开始工作,可设置优先级。
1):多个主机:
a)无相似性: 平均分配,客户端的服务请求会平均分配到群集内的每一部服务器。假设NLB群集内有2部服务器。当接到客户端的请求时,NLB会将第1个请求交由第1部服务器来处理,第2个请求交由第2部服务器来处理,第3个请求交由第1部服务器来处理,…依此类推。因为所有客户端联机会平均分配到每一部服务器,因此可以达到最佳的负载平衡。如果需要执行交易处理,为了能够共享session状态,则必须将session状态集中储存在state( 用一台机存session即可,web.config改下)或database server中,这种方式适用于大部分的应用程序。
注:为了使网络负载平衡可以正确处理 IP 片段,当为协议设置选择“UDP”或“二者”时应避免使用“无”。
b)单一相似性:相同IP固定同一服务器,客户机的服务请求会固定分配到群集内的某一部服务器。当接到客户机的请求时,NLB会根据客户机 的IP来决定交由哪一部服务器来处理,也就是一部服务器只会处理来自某些IP的请求。因为一个IP的服务请求只会固定由一个服务器来处理,因此没有session状态共享的问题,但可能会导致负载不平衡。这种方式适用于联机需支持 SSL 集多重联机的通讯协议 ( 例如FTP与PPTP等)
网络(类C):相同网段固定同一服务器,根据IP的Class C屏蔽来决定交由哪一部服务器来处理,也就是一部服务器只会处理来自某些网段C的
c)请求。这种方式可确保使用多重 Proxy 的客户端能导向到相同的服务器。
注:在NLB建立完成后,在集雄属性的端口规则中即可设置每台机负载量。
2):.单一主机:若选择此选项,该端口范围内的所有请求都将由一台主机来进行处理,此选项将配合后面的主机优先级来进行主机判定。
注:禁用此端口范围:一般这个选项会在端口例外中进行设置,也就是说,当我们指定了一个比较大的范围端口时,其中有一个或几个端口我们不需要 客户端用户访问到,这时我们将利用这个规则来进行设定,防止用户访问此端口请求。
3,优先级(单一主机标识符),在端口规则选择为单一主机时有效,在一单主机模式下,所有通讯由一台机完成,只有当此机故障时,
才会转由下一个优先级高的接管。它的范围在1-32之间。
注:维护, 使用“nlb display”命令,可以显示网络负载平衡最近产生的事件日志记录