保留上面的试验条件,我们来作一个基于 ISA 的负载均衡。一般情况下我们都使用硬件来作负载均衡,负载均衡器好像能够看得出哪个服务器的负载比较重,它会把客户的连接投向负载较轻的服务器,基于软件的负载均衡肯定没有硬件的那样智能,然而效果也是很明显的。依照上面的试验条件我们来作一个网站的负载均衡,试验场景如下:
clip_p_w_picpath002
在北京的 DMZ 区域有两个 WEB 服务器,我们通过 ISA 来作个负载均衡,为了让试验的效果更加明显,我们把这两个网站的内容写成不一样的,这样我们就可以看出实验效果了。
实现负载均衡的原理大概是把 DMZ 的两个网站合成一个 Web 场,而发布的时候是发布这个 Web 场,当有用户正常访问公司的 WEB 服务器的时候 ISA 会接受这个请求,并转向 Web 场, Web 场提供了 2 中负载均衡,在下面我有详细的解释。
搭建这两个网站我就不细讲了,我们首先在 ISA 上创建出这个 WEB 场在工具箱中,新建一个服务器场
clip_p_w_picpath004
输入这个服务器场的名字
clip_p_w_picpath005
向这个场中添加服务器,把我们创建的 2 WEB 服务器器的 IP 地址添进去
clip_p_w_picpath006
clip_p_w_picpath007
clip_p_w_picpath008
ISA 会每隔一段时间就会检查每个服务器的连通性,我们来选择默认,在我这个例子中 ISA 则会发送 Http://192.168.1.10/ Http://192.168.1.11/
clip_p_w_picpath009
clip_p_w_picpath011
我们在监视中的连接性验证程序中可以看到这个场中的 2 个网站,如果有一个场的右下脚不是绿色的对勾,那就表示这个服务不可到达。
接下来我们创建发布策略,
clip_p_w_picpath012
输入发布的名称
clip_p_w_picpath013
选择允许
clip_p_w_picpath014
我们要发布一个 WEB 场,
clip_p_w_picpath015
不使用加密连接
clip_p_w_picpath016
输入内部站点的名称,这个名称不重要重要的是它一定能解析成 DMZ 区域的两个 WEB 站点如果是在工作组环境下,可以通过 HOST 文件来解决,如果是域环境下则需建立 2 A 记录分别解析成两个网站的 IP
clip_p_w_picpath017
clip_p_w_picpath018
选择我们刚才创建的 WEB 场, ISA 提供了两种方式来实现负载均衡,一个是基于 Cookie 的、一个是基于源 IP
clip_p_w_picpath019
在许多情况下,为使负载平衡有效,客户端与接收和响应客户端请求的 Web 服务器之间必须保持关联。否则,一系列的客户端请求和 Web 场响应将由不同的 Web 服务器处理,从而忽略请求的上下文。例如, Outlook Web Access 是一个需要客户端关联的应用程序,因为 Outlook Web Access 服务器要为连接的客户端维护上下文。
需要关联还表现在网上购物方案中,其中客户端在 Web 服务器上设置购物车。如果不保持关联,则在客户端会话的某个点,客户端的请求可能会被定向到其他不知道该购物车的 Web 服务器。
客户端关联类型
ISA 服务器提供了两类客户端关联:
会话关联
基于 IP 地址的关联
会话关联
会话关联使用 cookie 标识客户端,并通过特定 Web 服务器维护其关联。此功能需要可以接受 HTTP cookie 的浏览器。所有符合 HTTP 1.1 的浏览器和部分版本的 HTTP 1.0 浏览器都支持 cookie 。客户端计算机上的浏览器关闭之前,会话关联将一直保持。
使用会话关联时,如果 Web 服务器(如 Web Server 1 )断开了服务,则与其关联的客户端将由 ISA 服务器定向至其他服务器(如 Web Server 2 )。发生此情况时, Web 会话的上下文将丢失。当 Web Server 1 再次可用时,与 Web Server 2 的客户端关联仍将保持下去,直到会话结束。客户端关闭浏览器时,会话将结束。对于基于会话的关联,重新启动服务器不会导致再次丢失关联。
建议尽可能使用会话关联,它可以在 Web 服务器重新启动时提供更可靠的客户端关联。这有时被称为客户端粘着。这在您即将耗尽 Web 服务器资源的情况下尤为有用。
建议您使用会话关联实现 Outlook Web Access Windows SharePoint Services 访问负载平衡,这两者均使用 Internet Explorer ,且都支持 HTTP cookie
基于 IP 地址的关联
使用基于 IP 地址的关联时,如果 ISA 服务器接收到请求,它可以根据客户端的 IP 地址决定场中处理该请求的服务器。每个源自该 IP 地址的请求将被发送到同一 Web 服务器,从而保持关联。
使用基于 IP 地址的关联时,如果 Web 服务器断开服务,则与之关联的客户端将被 ISA 服务器定向至其他服务器。发生此情况时, Web 会话的上下文将丢失。同样,当 Web 服务器重新启动时,这些客户端请求将被重新定向至原始的 Web 服务器,上下文将再次丢失。
与会话关联相比,基于 IP 地址的关联比会话关联的优势在于:它可以支持并不完全符合 HTTP 1.1 的客户端(不支持 HTTP cookie 的客户端),如某些移动设备。
在您通过 HTTP Outlook 访问负载平衡 RPC 时,也必须使用基于 IP 地址的关联。 Outlook 不支持 HTTP cookie ,因此无法使用会话关联。
注意
如果客户端计算机在网络地址转换 (NAT) 设备之后,则 IP 地址关联将不能工作,因为 NAT 设备会使用其他 IP 地址替换客户端的 IP 地址, ISA 服务器只能够看到该地址。
如果您使用位于其他防火墙后面的 ISA Server 2006 发布一个服务器场,则必须使用会话关联或 IP 地址关联,并验证是否已配置前端防火墙以将原始客户端的 IP 地址传递到 ISA 服务器。
clip_p_w_picpath020
输入公共站点名称,发布整个网站
使用没有身份验证的监听器
clip_p_w_picpath021
clip_p_w_picpath022
ISA 不对用户进行身份验证,我们发不是一个普通的网站允许匿名访问
所有用户都可以访问
clip_p_w_picpath023
完成了以后点击应用,我们来测试一下首先在外网的机器上测试一下
clip_p_w_picpath025
我们看到的是 SERVER2 的网页
接下来在分公司上海的内网测试一下,首先我们应保证 ××× 能连接到北京
clip_p_w_picpath027
我们看到的是 SERVER1 的网站
接下来我们把 SERVER1 WEB 站点停止,来模仿服务器 DOWN 机了,我们看看能不能把会话转到 Server2 上边去
clip_p_w_picpath029
在打开 server1 网站的机器上刷新网页,页面跳至 server2 的页面。
clip_p_w_picpath031