遷移 Exchange 郵箱并保證郵箱安全是一項(xiàng)很棘手的業(yè)務(wù),尤其是跨林或在域服務(wù)器之間遷移郵箱。
虛擬化的 Exchange
問:我們想要在群集化的 Hyper-V 服務(wù)器上部署 Exchange 2010 消息傳送解決方案,并計(jì)劃通過數(shù)據(jù)庫(kù)可用性分組 (DAG) 來保護(hù)郵箱數(shù)據(jù)庫(kù)。我們注意到在 TechNet 文檔的 Exchange 2010 要求部分有以下說明,因此想聽聽你們的看法:
“Microsoft 不支持將 Exchange 高可用性解決方案(數(shù)據(jù)庫(kù)可用性分組 [DAG])與基于虛擬機(jī)監(jiān)控程序的群集、高可用性或遷移解決方案結(jié)合使用。只有在硬件虛擬化環(huán)境沒有采用群集化的根服務(wù)器時(shí),這種環(huán)境才支持 DAG?!?/strong>
答:正如以上內(nèi)容所述,將 Exchange 2010 DAG 與虛擬化高可用性 (HA) 結(jié)合使用不受支持。您必須使用應(yīng)用程序級(jí) HA 或虛擬化 HA。對(duì)于 Exchange 2010,我們推薦使用應(yīng)用程序級(jí) HA。
如果您只有群集化的根服務(wù)器并需要使用 DAG,則可以將 DAG 成員存儲(chǔ)在群集化的 Hyper-V 根服務(wù)器上 - 只要您禁用了各個(gè)虛擬 DAG 成員服務(wù)器的所有虛擬化 HA。在您閱讀此內(nèi)容時(shí),TechNet 文檔應(yīng)當(dāng)已做更新,反映了這種新的支持方式。
負(fù)載平衡 Exchange
問:我們當(dāng)前正在設(shè)計(jì)新的 Exchange 2010 基礎(chǔ)結(jié)構(gòu),已經(jīng)決定使用硬件負(fù)載平衡器來提供高可用性,并且在 CAS 陣列中的客戶端訪問服務(wù)器之間分配負(fù)載。為了減少 CAS 服務(wù)器上的 SSL 工作負(fù)載,并充分利用相關(guān)方法(如 Cookie 和 SSL-ID),我們需要將 SSL 工作負(fù)載轉(zhuǎn)移到硬件負(fù)載平衡器上。
我們知道為 Outlook Web Access (OWA)、Outlook Anywhere (OA) 和 Exchange Web Services (EWS) 轉(zhuǎn)移 SSL 工作負(fù)載是可行的,但 Exchange ActiveSync (EAS) 是否支持此類操作呢?我這么問是因?yàn)槲抑廊?/strong>如何在 Exchange Server 2007 中為 Outlook Web Access 配置 SSL 減負(fù)功能中所述,此項(xiàng)功能在 Exchange 2007 中是不受支持的。
答:實(shí)際上,對(duì)于 Exchange 2007 和 Exchange 2010,為 EAS 轉(zhuǎn)移 SSL 工作負(fù)載都是受支持的。Exchange 2007 文檔從未進(jìn)行更新以反映此支持。
請(qǐng)記住,此項(xiàng)支持僅適用于入口(對(duì)于 CAS 服務(wù)器,是在面向 Internet 的站點(diǎn)中),而不適用于 CAS 到 CAS 代理的情況。
跨林遷移
問:我們當(dāng)前正準(zhǔn)備執(zhí)行從 Exchange 2003 到 Exchange 2010 的跨林遷移。我們已經(jīng)建立了一個(gè)模擬生產(chǎn)環(huán)境的實(shí)驗(yàn)室環(huán)境,以確保事情像預(yù)期的那樣順利進(jìn)行。
首先,我們按照 Exchange 2010 TechNet 文檔(在 Shell 中使用 Prepare-MoveRequest.ps1 腳本為跨林遷移準(zhǔn)備郵箱)中的說明,準(zhǔn)備了包含有效 Active Directory 對(duì)象的目標(biāo)林。腳本運(yùn)行成功,我們能夠看到目標(biāo)林中創(chuàng)建了 AD 對(duì)象,但是當(dāng)我們嘗試使用以下命令遷移原始郵箱時(shí),收到了如圖 1 所示的錯(cuò)誤消息:
New-MoveRequest -Identity 'cotestuser1@contoso.com -RemoteLegacy -TargetDatabaseMDB01 -RemoteGlobalCatalog 'DC1.contoso.com' -RemoteCredential $Cred -TargetDeliveryDomain 'fabrikam.com'
圖 1 跨林郵箱遷移錯(cuò)誤
您知道是什么原因?qū)е铝舜隋e(cuò)誤嗎?
答:真得很巧 - 剛剛幾個(gè)月前,我在執(zhí)行從 Exchange 2003 到 Exchange 2010 的跨林遷移時(shí)也碰到了這個(gè)問題。在 Dmitri Gavrilov(Exchange 產(chǎn)品組 Exchange 郵箱團(tuán)隊(duì)的首席開發(fā)主管)的幫助下,我發(fā)現(xiàn)這是因?yàn)樵趦蓚€(gè) Active Directory 林之間沒有 NetBIOS 解析。
使用 New-MoveRequest cmdlet 進(jìn)行跨林郵箱遷移時(shí),目標(biāo)林中運(yùn)行命令的 Exchange 2010 服務(wù)器必須能夠使用其 NetBIOS 名稱訪問 Exchange 2003 組織中的源郵箱服務(wù)器。這是因?yàn)?New-MoveRequest cmdlet 會(huì)嘗試使用服務(wù)器 LegacyDN 連接到源服務(wù)器,而該 LegacyDN 通常只包含 NetBIOS 名稱。因此,您必須設(shè)置 WINS 或使用主機(jī)文件來消除此錯(cuò)誤消息。
病急亂投醫(yī)
問:我曾經(jīng)在多處了解到,使用硬件負(fù)載平衡器提供 HA,以及在內(nèi)部網(wǎng)絡(luò)上的所有客戶端訪問服務(wù)器之間進(jìn)行 Outlook 客戶端負(fù)載分配時(shí),必須打開以下端口,以便 Outlook 連接能夠正常運(yùn)行:TCP 終結(jié)點(diǎn)映射器 (TCP - 143) 和動(dòng)態(tài) RPC 范圍的 TCP/UDP -1024-65535。是這樣嗎?我認(rèn)為 Exchange 2010 不支持用戶數(shù)據(jù)報(bào)協(xié)議 (UDP)。
答:您說對(duì)了。Exchange 2010 不再支持 UDP。其實(shí)您不必打開 UDP,僅僅 TCP 就夠了。這對(duì)于 Outlook 2003 也同樣適用,盡管 Outlook 最開始嘗試使用 UDP 通知。如果它看到 Exchange 服務(wù)器不響應(yīng) UDP,會(huì)轉(zhuǎn)而使用 TCP 來輪詢 Exchange 服務(wù)器。問題在于,處于聯(lián)機(jī)模式的 Outlook 2003 客戶端每 60 秒才輪詢一次,這就會(huì)導(dǎo)致以下問題:
- 外發(fā)電子郵件在發(fā)件箱里最長(zhǎng)會(huì)滯留一分鐘。
- 新的電子郵件最長(zhǎng)會(huì)相隔一分鐘才到達(dá)收件箱。
- 從文件夾中刪除的項(xiàng)最長(zhǎng)需要一分鐘才會(huì)從文件夾中消失。
- 從一個(gè)文件夾移動(dòng)到另一個(gè)文件夾的項(xiàng)最長(zhǎng)需要一分鐘才會(huì)從原始文件夾中消失。
如果您的 Outlook 2003 客戶端處于聯(lián)機(jī)模式,需要按照以下知識(shí)庫(kù)文章中所述的步驟修復(fù)這個(gè)問題:如果您使用的是 Exchange 2010 郵箱,則在 Outlook 2003 中,需要花費(fèi)很長(zhǎng)時(shí)間收發(fā)電子郵件消息。
郵箱保護(hù)
問:我目前正在設(shè)計(jì) Exchange 2010 基礎(chǔ)結(jié)構(gòu)。其中一個(gè)要求就是要在所有級(jí)別上具備 HA,因此我們會(huì)使用 DAG 和客戶端訪問服務(wù)器(用一個(gè)客戶端訪問陣列和一個(gè)冗余硬件負(fù)載平衡器)保護(hù)郵箱數(shù)據(jù)庫(kù)。
我們還計(jì)劃使用 Forefront Threat Management Gateway (TMG) 陣列將客戶端訪問服務(wù)器發(fā)布到 Internet。關(guān)于如何以適當(dāng)?shù)姆绞綄?CAS 服務(wù)器發(fā)布到 Internet,我不太確定。我們是否只需將 ISA Web 發(fā)布規(guī)則指向內(nèi)部網(wǎng)絡(luò)上的硬件負(fù)載平衡器,然后讓硬件負(fù)載平衡器在 CAS 服務(wù)器之間分配客戶端流量就可以了?
答:?jiǎn)柕煤谩N襾碜鰝€(gè)解釋。使用 TMG(此處也可以是 UAG)發(fā)布 Exchange 2010 CAS 服務(wù)器時(shí),可以使用 TMG 自帶的 Web 服務(wù)器場(chǎng)的負(fù)載平衡功能。不要只將 Web 發(fā)布規(guī)則指向內(nèi)部網(wǎng)絡(luò)上的硬件負(fù)載平衡器。
在一個(gè)典型的場(chǎng)景中,當(dāng) TMG 接收到客戶端請(qǐng)求時(shí),會(huì)將 IP 頭中的源 IP 地址字段更改為其內(nèi)部接口中配置的 IP 地址。這意味著所有從 TMG 通過代理傳遞到硬件負(fù)載平衡器的客戶端請(qǐng)求都顯示為來自同一客戶端 IP。這會(huì)使 HLB 將所有客戶端請(qǐng)求發(fā)送給同一個(gè) CAS 服務(wù)器,而不是將它們分散到 Exchange 2010 CAS 陣列中不同的 CAS 服務(wù)器上。
可能有人會(huì)說,您只需將代理請(qǐng)求行為由“使請(qǐng)求顯示為來自 ISA 服務(wù)器計(jì)算機(jī)”改成“使請(qǐng)求顯示為來自初始客戶端”就可以了(如圖 2 中所示),但是沒那么簡(jiǎn)單。如果您這么做,就需要在每臺(tái) CAS 服務(wù)器上將 TMG 設(shè)置為默認(rèn)網(wǎng)關(guān)(或使用靜態(tài)路由,請(qǐng)參見圖 2),這會(huì)帶來其他問題。無(wú)論如何,大多數(shù)企業(yè)還使用了 NAT,這意味著源 IP 會(huì)顯示為來自同一客戶端(NAT 設(shè)備的 IP 地址),即使您在 CAS 服務(wù)器上將 TMG 設(shè)置為默認(rèn)網(wǎng)關(guān)也是如此。
圖 2 TMG 代理請(qǐng)求行為
盡管 TMG 提供了一層額外的安全保護(hù),使您能夠在客戶端通過代理傳遞到 CAS 服務(wù)器之前預(yù)先對(duì)這些客戶端進(jìn)行身份驗(yàn)證,但還應(yīng)注意:在相關(guān)性方面,TMG Web 服務(wù)器場(chǎng)負(fù)載平衡功能具有與 Windows 網(wǎng)絡(luò)負(fù)載平衡相同的局限性。它實(shí)際上使用了 Windows NLB 組件,這意味著您被局限到了基于 IP 的源相關(guān)性,而無(wú)法使用相關(guān)性方法(如 Cookie 或 SSL-ID)。
遷移中的郵箱
問:我們已經(jīng)在包含一個(gè)根域和多個(gè)子域的 Active Directory 林中部署了 Exchange 2010。在每個(gè)子域中都有 Exchange 2010 服務(wù)器,有時(shí)候我們需要在不同域的郵箱服務(wù)器之間遷移郵箱。我們盡量使用 Exchange 命令行管理程序命令。
我們還要使用 New-MoveRequest cmdlet 在子域之間遷移郵箱,但是當(dāng)我們這么做時(shí),我們看不到其他域中的郵箱。命令可以順利完成,但是未列出郵箱。而且,因?yàn)橥ㄟ^ Exchange 命令行管理程序無(wú)法看到郵箱,我們?cè)趪L試遷移郵箱時(shí)會(huì)收到錯(cuò)誤提示。您知道發(fā)生了什么嗎?
答:使用 Exchange 2010 命令行管理程序時(shí),默認(rèn)的收件人范圍設(shè)置為域級(jí)。這意味著當(dāng)運(yùn)行像 Get-Mailbox cmdlet 這樣的命令時(shí),只會(huì)列出本地的收件箱。要將收件人范圍更改為整個(gè)林,您必須運(yùn)行以下命令(參見圖 3):Set-ADServerSettings -ViewEntireForest:$true
圖 3 更改默認(rèn)收件人范圍