除了 RPC 客户端访问服务之外,Exchange 2010 还向 Exchange 组织引入了一个新的逻辑结构:客户端访问服务器阵列(Client Access Server Array)。当在某个 Active Directory 站点中定义了客户端访问服务器阵

   除了 RPC 客户端访问服务之外,Exchange 2010 还向 Exchange 组织引入了一个新的逻辑结构:客户端访问服务器阵列(Client Access Server Array)。当在某个 Active Directory 站点中定义了客户端访问服务器阵列时,阵列会在该 Active Directory 站点中充当所有客户端连接的单个联系点。一个客户端访问服务器阵列可以包括一个或许多客户端访问服务器,因此可以做冗余解决方案。

在某个 Active Directory 站点中定义了客户端访问服务器阵列之后,该 Active Directory 站点中的所有客户端访问服务器都会自动成为客户端访问服务器阵列的一部分。

每个 Active Directory 站点都可以有一个客户端访问服务器阵列,客户端访问服务器阵列本身不提供负载平衡,仍然需要单独的负载平衡解决方案。最简单的软负载均衡解决方案就是 Windows Server 自带的网络负载平衡(NLB)。


一、为什么要使用 CAS 阵列

客户端访问服务器阵列除了可以是高可用性的一部分之外,还有另外一个很重要的原因建议创建客户端访问服务器阵列,即使在组织中只有一个客户端访问服务器也是如此。因为创建客户端访问服务器阵列后,客户端会通过客户端访问服务器阵列的虚拟名称进行连接,而不是直接连接到单个客户端访问服务器的完全限定域名 (FQDN)。如果需要在 Active Directory 站点中更换一个客户端访问服务器或添加另一个客户端访问服务器,则不必在客户端上更新配置文件。

下面来介绍创建客户端访问服务器阵列的方法。


二、安装及配置 NLB

1.安装 NLB 组件

分别在 CAS 服务器上,打开 PowerShell,执行下面2条命令:

1
2
Import-Module ServerManager
Add-WindowsFeature NLB
2.配置 NLB 组件

网上的详细的步骤很多,根据向导一步步做下来肯定没问题,或者参考官方文档:新建网络负载平衡群集

3.配置 DNS 对 CAS 阵列的群集 FQDN 进行解析

这一步不要忽略了,在 DNS 里创建一条A记录,指向群集IP地址。


三、创建 CAS 阵列

其实很简单,1条命令搞定:

New-ClientAccessArray -FQDN <FQDN_of_array> -site <SiteName>

例如:

New-ClientAccessArray -Name "CASArray.contoso.com" -FQDN "CASArray.contoso.com" -Site "Default-First-Site-Name"


四、为客户端访问服务申请证书

网上的详细的步骤很多,不多说了。有个经验性的建议,一次多写几个“使用者备用名称”,CAS 阵列的 FQDN、公网 OWA 域名等都放进去,免得每次都要更新证书。


五、更新数据库 RpcClientAccessServer 属性

这一步很重要。CAS 阵列创建完成后,每个新的数据库都会指向该 CAS 阵列的 FQDN,但是老的数据库不会,所以需要更新。命令如下:

Set-MailboxDatabase "DB_Name" –RpcClientAccessServer CASArray.contoso.com

批量更新所有数据库:

Get-MailboxDatabase | Set-MailboxDatabase -RpcClientAccessServer CASArray.contoso.com


特别提醒:

为什么在配置 Outlook MAPI 客户端时,服务器里的名称本来是填的 CAS 阵列的 FQDN,一检查姓名就变回了特定的 CAS 服务器名,就是这个原因。

更新数据库 RpcClientAccessServer 属性的方法也适用于将用户重定向到好的 CAS 服务器。