程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Exchange脫機地址簿的生成工作流

Exchange脫機地址簿的生成工作流

編輯:關於C#
 

脫機通訊簿(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。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved