Exchange Server 2013引入了一項稱爲管理可用性的新功能,該功能是一種具備自我恢復功能的內置監控系統。託管可用性可用來模擬最終用戶操做的連續測試,以檢測Exchange組件或其依賴項的可能問題。若是測試失敗,它會執行漸進的簡單恢復操做,以使受影響的組件處於健康狀態。它使用特殊類型的郵箱(稱爲監控郵箱或健康郵箱)來模擬最終用戶的各類測試。算法
監控郵箱的生命週期徹底由託管可用性組件完成。數據庫
管理可用性的功能由在每一個Exchange Server 2013角色上運行的Microsoft Exchange運行情況管理器服務實現。服務器
Microsoft Exchange Health Manager服務負責建立和維護監視郵箱架構
咱們來看下Health Manager如何建立它們!dom
MS Exchange Health Manager服務在兩個進程中運行,MSExchangeHMHost.exe和MSExchangeHMWorker.exe。ide
HM工做進程在啓動時檢查監視郵箱的可用性,並根據須要建立監視郵箱。測試
從Exchange Server 2013 CU1開始,將在域Exchange服務器所在的如下容器下建立監視郵箱的賬戶:命令行
<ADdomain> \ Microsoft Exchange系統對象\監控郵箱3d
HM工做進程用於檢測和建立監視郵箱的邏輯,取決於安裝的Exchange累積更新版本(CU)。server
如下邏輯適用於在RTM到累積更新CU5之間的Exchange Server 2013服務器建立監視郵箱:
每一個郵箱數據庫副本有一個監視郵箱,以及全部CAS服務器的一個監視郵箱。
如下是監視在託管CAS和郵箱角色的Exchange Server 2013 SP1服務器上建立的郵箱的示例:
[PS] C:\> Get-Mailbox -Monitoring | ft displayname,whencreated
DisplayName WhenCreated
HealthMailbox b285a119be6649b3a89574f078e947f5 11/10/2014 9:07:29 AM HealthMailbox 60d8a8d1285e41bfa5ce1ef1fb93d14e 11/10/2014 9:上午07:36
數據庫建立的監視郵箱的顯示名稱,包含郵箱數據庫的GUID。
CAS服務器建立的監視郵箱的顯示名稱,包含爲其Exchange服務器的GUID。
如下邏輯用於爲Exchange Server 2013累積更新CU6及更高版本建立監視郵箱:
在郵箱角色上的每一個郵箱數據庫有一個監視郵箱,以及每一個CAS服務器有十個監視郵箱。
如下命名約定用於爲數據庫建立的監視郵箱的顯示名稱:
「HealthMailbox-」+服務器的主機名+「 - 」+數據庫名稱。
在啓動時,HM進程檢查服務器上存在的數據庫的名稱,而後檢查是否存在具備顯示名稱的監視郵箱,如上所述。若是找不到特定數據庫的監視郵箱,則會建立新的監視郵箱。這意味着,若是將DB1重命名爲DB2,HM worker將在下次啓動時爲DB2建立新的監視郵箱。
如下命名約定用於爲CAS服務器建立的監視郵箱的顯示名稱:
「HealthMailbox-」+ CAS服務器的主機名+「 - 001」到「010」。
好比說咱們只有一臺運行Exchange 2013 CU6或更新版本的Exchange服務器(服務器名爲EXCH1)同時承載CAS和郵箱角色,而且只有一個郵箱數據庫,將建立11個監控郵箱。
HM 工做進程負責維護Monitoring郵箱的密碼。HM工做進程使用複雜算法生成用於監視郵箱的密碼。
監視郵箱的密碼在如下條件下重置:
正在建立新的運行情況郵箱
HM 工做進程沒法獲取監視郵箱的現有密碼的任何其餘方案
如下是有關管理與監控郵箱以及郵箱自己相關聯的用戶賬戶的一些最佳作法:
如何列出監控郵箱
Get-Mailbox命令提供了特殊參數「-Monitoring」以僅列出監視郵箱。
例如:
列出組織中存在的全部監視郵箱:
Get-Mailbox -Monitoring
列出數據庫中存在的監視郵箱:
Get-Mailbox -Monitoring -Database <數據庫名稱>
可是,上面列出的郵箱可能與對應的數據庫的服務器無關。如建立邏輯中所述,客戶端訪問服務器或郵箱數據庫的名稱對於搜索關聯的監視郵箱和建立監視郵箱很是重要。
使用如下命令列出與特定服務器關聯的監視郵箱:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like「 - <servername> - 」}
例:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like「 -exch2- 」} | ft name,displayname,database
使用如下命令列出與特定數據庫關聯的監視郵箱:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like「* - <數據庫名稱>」}
例:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like「* -db2exch2」} | ft name,displayname,database,servername
如下是一些用於監控郵箱的故障排錯方法。
如何從新建立監控郵箱(不考慮按期維護!)
郵箱數據庫刪除不會清除與監控郵箱關聯的AD用戶賬戶。這可能會致使單獨的AD用戶賬戶。發生這種狀況是由於監視郵箱容器上繼承的拒絕權限。
若是有太多的單獨的監視郵箱賬戶,你可能須要從新建立它們。
步驟:
1)確保存在「監控郵箱」容器
打開Active Directory用戶和計算機
單擊「查看」並選擇「高級功能」
瀏覽到Microsoft Exchange系統對象
驗證是否存在「Monitoring Mailboxes」容器。
例:
若是缺乏Monitoring Mailboxes容器:
確保安裝了Exchange Server 2013 CU1或更高版本。
在安裝了Exchange Server 2013版本的狀況下執行PrepareAD以便從新擴展架構。
2)在全部Exchange Server 2013服務器上中止「Microsoft Exchange Server Health Manager」服務。
3)打開Exchange命令行管理程序並使用如下命令禁用現有的健康郵箱:
Get-Mailbox -Monitoring | Disable-Mailbox
4)返回Active Directory用戶和計算機,右鍵單擊域並搜索「HealthMailbox」
5)刪除健康郵箱用戶賬戶。
6)等待AD複製或強制AD複製。
7)在全部Exchange Server 2013服務器上啓動「Microsoft Exchange Server Health Manager」。