随着互联网的迅速发展,应用服务器工作量的日益增加,负载均衡技术的应用越加的广泛,而在众多的负载平衡技术中,网络负载平衡技术由于其优势,成为了目前使用最为广泛的技术。
网络负载平衡技术就是能将大量的客户端请求负载比较平均地分布到同一网络中的多台服务器或多块网卡来进行处理的一种技术。使用Windows Network Load Balancing Services(网络负载平衡服务)可以极大的提高系统的可靠性及性能,并且增强服务器应用程序的可伸缩性和可用性。目前可以利用网络负载平衡的应用程序包括诸如 HTTP 和文件传输协议 (FTP)(使用 Internet 信息服务 (IIS))、防火墙与代理(使用 ISA 2000)、虚拟专用网、Windows Media Services、移动信息服务器和终端服务等这样的 Web 服务。同时,网络负载平衡还有助于改善服务器的可伸缩性,以满足不断增长的 Internet 型客户端的需求。
NLB群集最早出现在Windows 2000 Server的Advanced Server系统中,在Windows Server 2003的某些版本中均提供了此项功能。在NLB群集中,每台服务器都会有一个属于自己的静态IP地址,但NLB群集中的所有服务器还有一个共同的IP地址—NLB群集地址。客户端可以通过这个IP地址连接到NLB群集,就像连接到其它IP地址一样。当有客户端请求连接到这个共享的IP地址时,NLB群集会将每个访问请求指派一个具体的群集成员。当部署一个使用网络负载平衡的群集时,每个服务器都需要对所有的用户可用,为了更加方便的实现这一点,我们需要存储每个用户的信息,系统的信息,以及公共的信息在一个都可以访问的地方,例如后端的文件服务器。
必要的终端服务组件
对于建立网络负载平衡,终端服务中有两个组件至关重要。
首先就是Terminal Services Session Directory(终端服务会话目录),这个服务是一个用来跟踪群集上终端服务会话的数据库,它可以为用户连接到现在正在进行的会话提供信息。
Terminal Services Session Directory 系统服务允许负载平衡的终端服务器群集将用户的连接请求路由到该用户已经具有运行会话的服务器上。用户将被路由到第一个可用的终端服务器,而不管这些用户在群集中的其他服务器上是否有运行的会话。负载均衡通过 TCP/IP 网络协议将几个服务器上正在处理的资源集中起来。对终端服务器的群集使用此服务,可以通过在多个服务器之间分布会话来平衡单个终端服务器的性能。会话目录跟踪群集中的断开的会话,确保用户可以重新连接到那些会话。
当会话目录服务开启后,它将创建一个“Session Directory Computers”的本地组,默认这个组是不被使用的,用户必须要手动的将希望加入会话目录服务的计算机或者组加到里面去。
为了确保会话目录服务是开启状态的,用户可以在Services里双击Terminal Services Session Directory Properties 然后点选Start。
另一个组件就是 Terminal Services Connection Management ,这个工具与网络负载平衡服务一起工作,用来确保用户可以重新连接到原来的会话上。整个过程分成下面两步:
1. 当用户登录到终端服务群集时,终端服务器将会收到一个初始用户登录请求,并且向会话目录服务器发送一个查询。
2. 会话目录服务通过自己的数据库检查用户名,然后发送检查结果到请求服务器:如果用户没有断开的会话,登录将继续驻留在初始连接的服务器;而如果用户在其他的服务器上有断开的会话,那么客户端会话将会传递到那台服务器并继续登录。
NLB的准备工作
要想使用NLB, 我们必须实现做好下面的准备,首先我们要有一个用于负载平衡的网络适配器,同时在启用了网络负载平衡的适配器上只安装TCP/IP协议族,而不要添加例如IPX等协议,对于划分了子网的网络环境来说,所有的NLB群集主机都必须放在同一个子网中,从而确保群集用户可以访问到这些服务器。
一切就绪后,我们就可以开始配置终端服务的网络负载平衡功能了,我们分3步来实现这个功能:
第一步: 创建一个终端服务群集
要想创建一个终端服务群集,我们首先打开将要加入群集的组织单元的组策略对象,在Computer Configuration中的Administrative Templates中的Windows Components中的Terminal Services中的Session Directory上,点选Join Session Directory 设置,在Session Directory Server 设置中,键入正在运行终端服务会话目录服务的服务器名称,点击 Session Directory Cluster Name 设置在 Session Directory Cluster Name上键入终端服务所属群集的名称。需要注意的是你需要彻底的对组策略的任意一个改变进行测试,之后才可以将这些改变应用到你的生产环境中。
第二步:安装 网络负载平衡组件
NLB 必须被安装在用于RDP连接的网络适配器上,安装NLB组件和安装其他Windows组件没有什么区别,用户点击Start中的 Control Panel后, 双击 Add or Remove Programs.然后在Windows 组件中选择Network Load Balancing 按照向导完成安装就可以了。
第三步:创建一个网络负载平衡群集
要想配置一个网络负载平衡群集,用户必须要配置三种类型的参数,第一是主机参数,这个参数用来定位网络负载平衡群集中的每一台主机;第二种是群集参数,这个参数应用于整个网络负载平衡群集当中;最后一种是节点规则,它主要是用于控制群集的功能性。默认的,一个节点规则用于平衡服务器间所有的TCP/IP数据交换。如果希望在终端服务环境中使用规则,用户需要修改这些默认的规则。
下面我们来看具体的配置,首先点击Start, Control Panel,然后双击Administrative Tools 打开网络负载平衡管理器(当然你也可以通过Nlbmgr命令在命令行窗口开启这个管理器),右击Network Load Balancing Clusters选择New Cluster,在Host中,键入主机的名称,这里连接到的主机将是新的群集中的一部分,完成后选择Connect. 选择好你希望群集使用的接口后,点击Next。
下面我们要来配置主机参数(Host Parameters), 在Priority (Unique host identifier)中键入一个值,这个参数将为每一个主机指定一个唯一的ID。拥有最小优先级数值的主机将会处理群集环境中所有没有被节点规则覆盖的通讯,你也可以通过Network Load Balancing Properties 对话框中的Port rules 页签来忽略这些优先级的设置,并且为特定的节点序列提供负载平衡。设置完成后选择Next继续。
在 Cluster IP Addresses 中点击 Add 键入群集的 IP地址,这个地址将会被群集中的任意一个主机共享,点击Next继续。在配置Cluster Parameters 中,键入IP地址和子网掩码,这些设置在整个群集的终端服务中必须是一致的,而一个完整的网络名称在终端服务的NLB中是不需要的。
在Cluster operation mode 中,点击Unicast 指定一个MAC地址用于群集服务操作使用。在unicast mode下,群集的MAC 地址将会被分配到计算机的网络适配器上,而网卡内建的MAC地址将不被使用。点击Next继续。
之后我们还要进行Port Rules 的配置,通过 Edit 选项来修改默认的节点规则。具体配置如下:
在Port Range 中将序列指定为 3389 到 3389 ,这样新的规则将仅用于RDP通讯。在Protocols 中选择 TCP 作为TCP/IP协议族中特定的协议来应用于节点的规则。这样只有特定协议的网络通讯才会收到规则的影响。通讯也不会受到默认主机处理的节点规则的影响。在Filtering mode 下,通过选择 Multiple host ,我们可以指定群集中的多个主机用于这个处理节点规则的网络通讯。在Affinity (这个功能只应用于多主机筛选模式)中,如果你计划使用会话目录,那么选择None ,反之选择 Single 。
配置节点规则的Load weight 。这个参数也只应用于多主机筛选模式中,当使用这种模式时,这个参数用来指定其关联的节点规则所能负荷的负载平衡网络通讯的相对数量。允许的数值的范围在0到100之间,如果不希望某台主机负载任何的网络通讯,就可以将这个值设置为0。使用这个参数,我们可以为群集中的每一台主机设置不同的负载值,如果想平均分配这些负载,那么可以使用Equal来代替Load weight参数,同时这两种参数也可以联合使用,当选择了Equal时,NLB将会自动计算每台主机的负载平衡。
至此,所有的配置就已经完成了,我们可以测试使用终端服务群集的网络负载平衡了。其实网络负载平衡是企业网络中非常普遍的一项应用,合理的应用这一功能不仅可以使企业的网络设备重新焕发活力,更能够通过组合使原本性能较低的产品达到更高的性能,从而为用户提供更加称职的服务。在众多的负载平衡产品之中,微软的网络负载平衡(NLB)一直是网络管理员获得更高的性能和更高的可用性的一种低成本的选择。虽然微软的NLB没有其它专用负载平衡程序的功能强大,但是其作为操作系统自带的功能这一得天独厚的优势,还是会征服众多企业的心。此次Windows Server 2008的发布相信将会使这一功能更加完善。
网络负载平衡技术就是能将大量的客户端请求负载比较平均地分布到同一网络中的多台服务器或多块网卡来进行处理的一种技术。使用Windows Network Load Balancing Services(网络负载平衡服务)可以极大的提高系统的可靠性及性能,并且增强服务器应用程序的可伸缩性和可用性。目前可以利用网络负载平衡的应用程序包括诸如 HTTP 和文件传输协议 (FTP)(使用 Internet 信息服务 (IIS))、防火墙与代理(使用 ISA 2000)、虚拟专用网、Windows Media Services、移动信息服务器和终端服务等这样的 Web 服务。同时,网络负载平衡还有助于改善服务器的可伸缩性,以满足不断增长的 Internet 型客户端的需求。
NLB群集最早出现在Windows 2000 Server的Advanced Server系统中,在Windows Server 2003的某些版本中均提供了此项功能。在NLB群集中,每台服务器都会有一个属于自己的静态IP地址,但NLB群集中的所有服务器还有一个共同的IP地址—NLB群集地址。客户端可以通过这个IP地址连接到NLB群集,就像连接到其它IP地址一样。当有客户端请求连接到这个共享的IP地址时,NLB群集会将每个访问请求指派一个具体的群集成员。当部署一个使用网络负载平衡的群集时,每个服务器都需要对所有的用户可用,为了更加方便的实现这一点,我们需要存储每个用户的信息,系统的信息,以及公共的信息在一个都可以访问的地方,例如后端的文件服务器。
必要的终端服务组件
对于建立网络负载平衡,终端服务中有两个组件至关重要。
首先就是Terminal Services Session Directory(终端服务会话目录),这个服务是一个用来跟踪群集上终端服务会话的数据库,它可以为用户连接到现在正在进行的会话提供信息。
Terminal Services Session Directory 系统服务允许负载平衡的终端服务器群集将用户的连接请求路由到该用户已经具有运行会话的服务器上。用户将被路由到第一个可用的终端服务器,而不管这些用户在群集中的其他服务器上是否有运行的会话。负载均衡通过 TCP/IP 网络协议将几个服务器上正在处理的资源集中起来。对终端服务器的群集使用此服务,可以通过在多个服务器之间分布会话来平衡单个终端服务器的性能。会话目录跟踪群集中的断开的会话,确保用户可以重新连接到那些会话。
当会话目录服务开启后,它将创建一个“Session Directory Computers”的本地组,默认这个组是不被使用的,用户必须要手动的将希望加入会话目录服务的计算机或者组加到里面去。
为了确保会话目录服务是开启状态的,用户可以在Services里双击Terminal Services Session Directory Properties 然后点选Start。
另一个组件就是 Terminal Services Connection Management ,这个工具与网络负载平衡服务一起工作,用来确保用户可以重新连接到原来的会话上。整个过程分成下面两步:
1. 当用户登录到终端服务群集时,终端服务器将会收到一个初始用户登录请求,并且向会话目录服务器发送一个查询。
2. 会话目录服务通过自己的数据库检查用户名,然后发送检查结果到请求服务器:如果用户没有断开的会话,登录将继续驻留在初始连接的服务器;而如果用户在其他的服务器上有断开的会话,那么客户端会话将会传递到那台服务器并继续登录。
NLB的准备工作
要想使用NLB, 我们必须实现做好下面的准备,首先我们要有一个用于负载平衡的网络适配器,同时在启用了网络负载平衡的适配器上只安装TCP/IP协议族,而不要添加例如IPX等协议,对于划分了子网的网络环境来说,所有的NLB群集主机都必须放在同一个子网中,从而确保群集用户可以访问到这些服务器。
一切就绪后,我们就可以开始配置终端服务的网络负载平衡功能了,我们分3步来实现这个功能:
第一步: 创建一个终端服务群集
要想创建一个终端服务群集,我们首先打开将要加入群集的组织单元的组策略对象,在Computer Configuration中的Administrative Templates中的Windows Components中的Terminal Services中的Session Directory上,点选Join Session Directory 设置,在Session Directory Server 设置中,键入正在运行终端服务会话目录服务的服务器名称,点击 Session Directory Cluster Name 设置在 Session Directory Cluster Name上键入终端服务所属群集的名称。需要注意的是你需要彻底的对组策略的任意一个改变进行测试,之后才可以将这些改变应用到你的生产环境中。
第二步:安装 网络负载平衡组件
NLB 必须被安装在用于RDP连接的网络适配器上,安装NLB组件和安装其他Windows组件没有什么区别,用户点击Start中的 Control Panel后, 双击 Add or Remove Programs.然后在Windows 组件中选择Network Load Balancing 按照向导完成安装就可以了。
第三步:创建一个网络负载平衡群集
要想配置一个网络负载平衡群集,用户必须要配置三种类型的参数,第一是主机参数,这个参数用来定位网络负载平衡群集中的每一台主机;第二种是群集参数,这个参数应用于整个网络负载平衡群集当中;最后一种是节点规则,它主要是用于控制群集的功能性。默认的,一个节点规则用于平衡服务器间所有的TCP/IP数据交换。如果希望在终端服务环境中使用规则,用户需要修改这些默认的规则。
下面我们来看具体的配置,首先点击Start, Control Panel,然后双击Administrative Tools 打开网络负载平衡管理器(当然你也可以通过Nlbmgr命令在命令行窗口开启这个管理器),右击Network Load Balancing Clusters选择New Cluster,在Host中,键入主机的名称,这里连接到的主机将是新的群集中的一部分,完成后选择Connect. 选择好你希望群集使用的接口后,点击Next。
下面我们要来配置主机参数(Host Parameters), 在Priority (Unique host identifier)中键入一个值,这个参数将为每一个主机指定一个唯一的ID。拥有最小优先级数值的主机将会处理群集环境中所有没有被节点规则覆盖的通讯,你也可以通过Network Load Balancing Properties 对话框中的Port rules 页签来忽略这些优先级的设置,并且为特定的节点序列提供负载平衡。设置完成后选择Next继续。
在 Cluster IP Addresses 中点击 Add 键入群集的 IP地址,这个地址将会被群集中的任意一个主机共享,点击Next继续。在配置Cluster Parameters 中,键入IP地址和子网掩码,这些设置在整个群集的终端服务中必须是一致的,而一个完整的网络名称在终端服务的NLB中是不需要的。
在Cluster operation mode 中,点击Unicast 指定一个MAC地址用于群集服务操作使用。在unicast mode下,群集的MAC 地址将会被分配到计算机的网络适配器上,而网卡内建的MAC地址将不被使用。点击Next继续。
之后我们还要进行Port Rules 的配置,通过 Edit 选项来修改默认的节点规则。具体配置如下:
在Port Range 中将序列指定为 3389 到 3389 ,这样新的规则将仅用于RDP通讯。在Protocols 中选择 TCP 作为TCP/IP协议族中特定的协议来应用于节点的规则。这样只有特定协议的网络通讯才会收到规则的影响。通讯也不会受到默认主机处理的节点规则的影响。在Filtering mode 下,通过选择 Multiple host ,我们可以指定群集中的多个主机用于这个处理节点规则的网络通讯。在Affinity (这个功能只应用于多主机筛选模式)中,如果你计划使用会话目录,那么选择None ,反之选择 Single 。
配置节点规则的Load weight 。这个参数也只应用于多主机筛选模式中,当使用这种模式时,这个参数用来指定其关联的节点规则所能负荷的负载平衡网络通讯的相对数量。允许的数值的范围在0到100之间,如果不希望某台主机负载任何的网络通讯,就可以将这个值设置为0。使用这个参数,我们可以为群集中的每一台主机设置不同的负载值,如果想平均分配这些负载,那么可以使用Equal来代替Load weight参数,同时这两种参数也可以联合使用,当选择了Equal时,NLB将会自动计算每台主机的负载平衡。
至此,所有的配置就已经完成了,我们可以测试使用终端服务群集的网络负载平衡了。其实网络负载平衡是企业网络中非常普遍的一项应用,合理的应用这一功能不仅可以使企业的网络设备重新焕发活力,更能够通过组合使原本性能较低的产品达到更高的性能,从而为用户提供更加称职的服务。在众多的负载平衡产品之中,微软的网络负载平衡(NLB)一直是网络管理员获得更高的性能和更高的可用性的一种低成本的选择。虽然微软的NLB没有其它专用负载平衡程序的功能强大,但是其作为操作系统自带的功能这一得天独厚的优势,还是会征服众多企业的心。此次Windows Server 2008的发布相信将会使这一功能更加完善。