首页 > 代码库 > Exchange Server 2013系列之六:客户端访问服务器角色高可用性概述

Exchange Server 2013系列之六:客户端访问服务器角色高可用性概述

客户端访问服务器角色的高可性就是常说的负载平衡技术,负载平衡的两种主要用途:当一个 Active Directory 站点中的某个客户端访问服务器出现故障时,负载平衡可以降低该故障造成的影响;此外,负载平衡可确保每个客户端访问服务器上的负载分配均匀。

Exchange Server 2013负载平衡体系较之早期版本发生了改变,Exchange 2010 协议要求相关性,例如客户端计算机上运行的 Outlook、移动设备上运行的 Microsoft Exchange ActiveSync、Microsoft Office Outlook Web App、Exchange Web 服务或其他客户端应用程序。相关性可确保所有来自客户端的请求都发送到同一个客户端访问服务器。因此需要用到七层负载平衡设备,也称为应用层负载平衡,使用复杂的规则来确保某个客户端的所有请求到达同一个CAS角色,如果某个客户端的所有请求因需要相关性的协议而无法到达同一个CAS角色,则用户体验会受到影响。也就是类似于身份验证、代理、重定向、客户端协议、API接口等功能是在CAS和HUB角色上的。

但是在Exchange 2013中,客户端访问服务器角色为轻量型无状态的代理服务器,前端客户端访问服务器角色只负责身份验证、代理和重定向,而其他的一些功能由后端的邮箱服务器角色承担,这样前端CAS就变的非常简单。也就是说,由于对邮箱的所有处理都是在邮箱服务器上进行的,因此客户端访问服务器数组中的哪个客户端访问服务器接收客户端请求无关紧要,充当客户端与邮箱服务器之间的连接的代理。邮箱服务器处理客户端与活动邮箱数据库之间的所有连接。 功能上的这种更改意味着负载平衡器级别不再需要会话相关性。 这允许使用负载平衡技术(如 DNS 轮循机制)提供的简单技术平衡到客户端访问服务器的入站连接。 还允许硬件负载平衡设备显著支持更多并发连接。

image

那么下图是Exchange 2013前端的协议体系,在这个图中可以看到前端只是将相应的协议定向(代理)到后端,由后端服务器进行处理。

image

客户端访问服务器角色的高可用性方案:

Exchange 2010 协议要求相关性,要求要么使用源IP相关性的Windows 网络负载平衡技术或者是使用硬件负责平衡设备,

WNLB的使用限制:

1. 不能与DAG服务器同用,原因是NLB与故障转移群集不能在一台计算机上同时存在。

2. WNLB 只支持源 IP 相关性,当源 IP 池较小时,这不是有效的解决方案。 当源 IP 池来自远程网络子网或组织在使用网络地址转换时,可能会发生这种情况。

3. 性能上,不建议超过8个NLB节点。

4. WNLB 不会检测服务中断。 WNLB 只按 IP 地址检测服务器中断。 这就是说,如果一个特定 Web 服务(如 Outlook Web App)出现故障,但服务器仍在运行,则 WNLB 不会检测到该故障,并且仍会将请求路由到该客户端访问服务器。 需要手动干预来从负载平衡池中删除出现中断的客户端访问服务器。

    硬件负载平衡设备则性能上高于WNLB,硬件负载平衡器支持非常高的通信吞吐量,并且可以配置为以多种方式平衡负载。 大多数硬件负载平衡器供应商都有关于其产品与 Exchange 2010 一同运行的情况的详细文档。 配置硬件负载平衡器最简单的方法是创建一个关于负载平衡器将应用的相关性方法的回退列表。例如,负载平衡器会首先尝试基于 cookie 的相关性,然后尝试 SSL 会话 ID,再然后尝试源 IP 相关性。

PS: 关于Cookie:当用户在浏览网站的时候,Cookie 会根据用户的所输入的文字或是一些选择,并纪录下来。当下次用户再访问该业务时, 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者。 cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

    使用现有 cookie 或 HTTP 头是标识客户端并将其与特定客户端访问服务器关联的最可靠的方法。 这些 cookie 和 HTTP 头是由客户端或服务器将其作为通信协议的一部分创建的。 这一选项也不需要负载平衡器修改通信,从而有助于优化性能。 将客户端会话与客户端访问服务器关联的第二个可靠的方法是使用负载平衡器创建的 cookie。 负载平衡器将 HTTP cookie 添加到客户端/服务器协议会话中,然后用此 cookie 来确定应该由哪个客户端访问服务器处理传入请求。基于 SSL 会话 ID 的负载平衡比源 IP 相关性提供的内容更为详细,并且使您能够拆分来自不同客户端的通信,即使这些客户端来自同一个 IP 地址也是如此。 SSL 会话 ID 负载平衡的另一个优点是使您能够在不对 SSL 通信进行解密的情况下实现负载平衡。 当使用客户端证书身份验证时和当结束客户端访问服务器的 SSL 连接时,这个优点就发挥作用了。提供客户端与客户端访问服务器之间的相关性最常用的方法是使用源 IP 相关性。 负载平衡器会检查客户端的 IP 地址,并将来自特定源 IP 的所有通信都发送到特定客户端访问服务器。 这是 WNLB 支持的唯一的相关性类型。 最后一种相关性是无相关性。 不使用相关性时,来自客户端的每个请求都会随机分配给一个客户端访问服务器。 对于需要相关性的协议或者相关性有助于改善其性能的协议,我们不建议使用此选项。 下表是一些负载平衡技术的对比:

image

Exchange 2013 仍然支持使用硬件负载平衡器,不同于Exchange 2010的是,不需要为每个 Exchange 协议配置会话相关性,如果条件允许,还是建议使用硬件设备,它可以检测特定客户端访问服务器何时不可用,并将其从要处理入站连接的一组服务器中删除。如果企业中没有现成的硬件设备,WNLB也是一个不错的选择,使用WNLB,就需要容忍它的一些限制。

本文出自 “杜飞” 博客,请务必保留此出处http://dufei.blog.51cto.com/382644/1433273