【前言】
脱机通讯簿(OAB)是缓存到Outlook客户端本地的通讯簿集副本,以便Microsoft Outlook用户在与服务器断开连接时可以访问通讯簿。OAB还对减轻Exchange服务器上的工作负载起着重要作用,因为用户在使用outlook缓存模式时,客户端将优先查询本地OAB,当脱机地址簿出现故障时,会导致用户无法进行组织内联系人的更新而带来巨大的通信故障,本文将探讨如何在一个大型组织内建立脱机地址簿的高可用和负载均衡。
【正文】
OAB生成中的更改
1、哪个服务器将生成OAB?
在以前的所有Exchange版本中,OAB是由特定的Exchange服务器生成的,可以根据其Server属性进行查看。
ExchangeServer2010中的OAB:
Get-OfflineAddressBook"DefaultOfflineAddressBook"|flname,server
Name:DefaultOfflineAddressBook
Server:MBX1
在安装第一台Exchange邮箱服务器时,安装程序会将其指定为默认OAB的生成服务器,若根据需要创建新的OAB时则必须指定OAB生成服务器。毫无疑问,此方法的缺点在于只为OAB生成配置了一台服务器,存在单点故障风险,如果此服务器长期不可用,则会影响OAB生成。
在Exchange2013中,OAB由托管特殊类型的仲裁邮箱(称为组织邮箱)所在的后端服务器生成而不再由Server参数绑定。这意味着只要组织邮箱还能正常工作,则OAB就能正常生成,不管你就这个组织邮箱迁移到其他服务器,或者是激活了它所在的数据库副本。
ExchangeServer2013中的OAB:
Get-OfflineAddressBook "DefaultOfflineAddressBook(Ex2013)" | fl name,server
Name:DefaultOfflineAddressBook(Ex2012)
Server:
2、哪个组件将生成OAB?
在Exchange2013之前的版本OAB是由Microsoft Exchange邮箱助理服务生成和制定OAB的生成计划,即,OAB将在OAB属性上配置的计划时间启动,无论服务器上的工作负载如何。
在Exchange2013中,OABGeneratorAssistant(在MicrosoftExchange邮箱助理服务下运行的邮箱助理)会生成OAB。与多数其他邮箱助理服务一样,OABGEnerationAssistant会根据服务器上的工作负载运行或暂停。
3、OAB文件存储在什么位置?
在以前的Exchange版本中,邮箱服务器生成的OAB位于%ExchangeInstallPath%\ExchangeOAB文件夹中。该文件夹是共享的,因此CAS可检索OAB文件,然后分发到Outlook客户端。
在Exchange2013中,生成的OAB文件先存储在组织邮箱中,稍后会复制到%ExchangeInstallPath%\ClientAccess\OAB\文件夹,这也是使得Exchange2013的OAB恢复更方便的根本原因。
4、OAB分发中的变化
Exchange2007和2010支持两种OAB分发方法:Web分发和公用文件夹分发。Exchange2013只支持Web分发方法。
Exchange2007/2010CAS提取在各自邮箱服务器上生成的OAB文件,并在本地存储这些文件。CAS角色上的Microsoft Exchange文件分发服务执行提取OAB文件的任务。
5、下面是从客户端进行OAB下载的流程:
(1)Outlook从自动发现接收OAB URL并到达CAS服务器,CAS对用户进行身份验证,并从本地磁盘提供OAB文件。
此方法的一些缺点:
如果CAS本地没有OAB文件,则OAB下载将失败;
如果CAS上的文件分发服务运行不正常,则客户端会收到旧OAB文件,或者换句话说,不会收到更新;
在Exchange2013中,OAB文件未本地存储在CAS上。CAS2013将所有OAB下载请求代理到相关的Exchange2013邮箱服务器。体系结构中进行此更改后,会从CAS角色中移除MicrosoftExchange文件分发服务。
(2)在Exchange2013中,下面是OAB下载的流程, 此新的工作流克服了旧OAB下载工作流的缺点.
Outlook从自动发现接收OABURL,并通过OABURL到达指定的CAS2013。
CAS服务器执行以下操作:
对OAB执行初始身份验证;
查询Active Directory并确定离请求用户最近的组织邮箱;
再次查询Active Directory,以确定托管组织邮箱的邮箱数据库;
查询活动管理器,确定其上的邮箱数据库处于活动状态(已装载)的邮箱服务器。
将请求代理到步骤4中标识的邮箱服务器。
检索OAB文件并将它们传递到客户端。
6、组织邮箱
组织邮箱是随Exchange2013引入的新类型的仲裁邮箱。具有Organization Capability OABGen持续功能的仲裁邮箱称为组织邮箱,它在OAB生成、存储和分发中发挥着至关重要的作用。托管组织邮箱的每个ExchangeServer2013邮箱角色都将生成环境中定义的所有Exchange 2013 OAB。OAB先在组织邮箱中生成,稍后复制到磁盘。
使用以下命令可标识组织邮箱:
Get-Mailbox –Arbitration |where {$_.PersistedCapabilities-like"*oab*"}
7、我们将上述的技术关键点合并起来,结合企业的实际生产环境,可以得到如下的一个OAB的工作流程:
工作环境:
MBX1和MBX2是Exchange2013邮箱服务器,组成了同一个DAG,CAS1是一台Exchange 2013前端服务器;
组织邮箱位于邮箱数据库DB1上,DB1在MBX1和MBX2上具有副本,DB1当前在MBX1上处于活动状态。
OAB的生成:
MBX1上的Microsoft Exchange邮箱助理服务将生成OAB;
OAB将先在组织邮箱中生成,稍后复制到MBX1的磁盘,此时,MBX2在OAB生成中不发挥任何作用,
Outlook客户端尝试下载OAB,并通过OAB URL到达CAS1;
CAS1查询活动管理器,它发现托管组织邮箱的数据库(DB1)在MBX1上处于活动状态;
CAS1将OAB下载请求代理到MBX1,并将文件提供回客户端;
此时,MBX1由于电源故障不可用,DB1在服务器MBX2上激活;
CAS1收到OAB下载的另一请求,它再次查询活动管理器,这一次将请求代理到MBX2,因为DB1现在于MBX2上处于活动状态;
MBX2将组织邮箱中存在的OAB文件提取到磁盘,以确保向客户端提供最新文件。
MBX1再次联机,但DB1在MBX2上仍处于活动状态;
在下一OAB生成工作周期,MBX2上的Microsoft Exchange邮箱助理服务将生成OAB。