傳輸伺服器的負載平衡及容錯

 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上次修改主題的時間: 2007-10-22

本主題針對使用 Microsoft Exchange Server 2007 傳輸伺服器進行的郵件路由,說明負載平衡機制及容錯選項。在 Exchange 2007 中,郵件路由的負載平衡及容錯選項會自動出現,以增加傳輸伺服器的可用性,達到 Exchange 組織中有效的郵件流程及傳遞。

Exchange 2007 路由會使用決定性演算法來選取最低成本的路由路徑,以透過此路徑將郵件路由傳送至遠端 Active Directory 站台、傳送連接器及遠端路由群組。如需如何計算最低成本路由路徑的相關資訊,請參閱了解 Active Directory 站台型路由

在選擇了最低成本路由路徑之後,負載平衡及容錯機制將有助於數個不同的郵件路由案例。Exchange 2007 所有提供負載平衡及容錯的郵件路由案例都遵循共同方法。如果有多個傳輸伺服器可用,則會使用循環配置負載平衡。例如,當有多個 Hub Transport Server 存在於遠端 Active Directory 站台時,循環配置負載平衡會決定路由路徑。當選取的伺服器無法使用時,會藉由連接至優先的伺服器清單中的下一個可用伺服器,來完成容錯。

note附註:
如果有多條路由路徑具有相同的總成本,則 Exchange 2007 不會沿著這些路徑來進行負載平衡。Exchange 2007 一律會選擇一條路由路徑,並沿著該路由路徑來路由傳送所有郵件。此一致的決定性路由可讓您更容易地疑難排解郵件流程問題。

支援負載平衡及容錯的郵件路由案例。

本節說明 Exchange 2007 路由會提供負載平衡及容錯的下列郵件路由案例:

  • 同一 Active Directory 站台的傳送連接器上指定了多個來源傳輸伺服器的郵件轉送
  • 從 Hub Transport Server 到 Edge Transport Server 的郵件轉送
  • 從 Edge Transport Server 到 Hub Transport Server 的郵件轉送
  • 到遠端 Active Directory 站台的郵件轉送
  • 從 Mailbox Server 到 Hub Transport Server 的郵件轉送
  • 從 Hub Transport Server 經過 Microsoft Exchange Server 2003 路由群組連接器的郵件轉送
  • 到協力廠商簡易郵件傳送通訊協定 (SMTP) 伺服器的郵件轉送
note附註:
Exchange 2007 絕不會在不同路由路徑之間進行負載平衡。路由路徑由 IP 站台連結、連接器及路由群組連接器組成。然而,在大多數情況中,Exchange 2007 會在連接器及路由群組連接器的不同來源伺服器或目標伺服器之間進行負載平衡,但是有幾個例外存在。例如,當傳送連接器的來源伺服器位於不同的 Active Directory 站台時,Exchange 2007 即不會進行負載平衡。

同一 Active Directory 站台的傳送連接器上指定了多個來源傳輸伺服器的郵件轉送

本節說明的負載平衡機制同時適用於 Edge Transport Server 及 Hub Transport Server 上針對外寄郵件設定的各種連接器,例如 SMTP 連接器、外部連接器及路由群組連接器。

在連接器上指定多個來源傳輸伺服器時,連線會分散給多個來源伺服器,以用循環配置方式達到負載平衡。當該連接器無法使用某個來源伺服器時,就會容錯移轉至下一個替代來源伺服器以達到容錯。

在下圖中,傳送連接器 C1 設定為使用 Hub Transport Server A 及 Hub Transport Server B 作為來源伺服器。當 Hub Transport Server C 路由傳送郵件至傳送連接器 C1 時,會在 Hub Transport Server A 與 Hub Transport Server B 之間進行郵件分散的負載平衡。

同一 Active Directory 站台的傳送連接器上多個來源傳輸伺服器

傳送連接器上的許多來源傳輸伺服器

如果轉送郵件的伺服器也設定為所選連接器的來源傳輸伺服器,則不會進行負載平衡。在這樣的情況下,鄰近本機伺服器會比鄰近本機 Active Directory 站台更佔優勢,而一律使用本機伺服器來路由傳送郵件。在此圖中,如果 Hub Transport Server C 也設定為傳送連接器 C1 上的來源傳輸伺服器,則從 Hub Transport Server C 轉送的郵件會透過傳送連接器 C1 來路由傳送,而不是負載平衡至 Hub Transport Server A 與 Hub Transport Server B。

從 Hub Transport Server 到 Edge Transport Server 的郵件轉送

當有多個 Edge Transport Server 訂閱單一 Active Directory 站台時,會新增所有這些 Edge Transport Server 作為每個 Edge Transport Server 上單一輸入傳送連接器的來源伺服器。Edge Transport Server 之間達到負載平衡的方式非常類似在同一傳送連接器上多個 Hub Transport Server 之間處理負載平衡的方式。

送往網際網路的郵件會先路由傳送至 Edge Transport Server 訂閱的 Active Directory 站台。該站台中的接收 Hub Transport Server 接著會將郵件轉送至傳送接收器 (已設定為使用 DNS 位址解析) 上,其中一個被列為來源傳輸伺服器的 Edge Transport Server。連線要求會在訂閱的 Edge Transport 伺服器之間進行負載平衡。如果選取的伺服器無法使用,則會嘗試連接至下一個主控傳送連接器 (已設定為使用 DNS 位址解析) 的 Edge Transport Server。

note附註:
站台間轉送一律是在 Hub Transport Server 之間進行。遠端 Active Directory 站台的 Hub Transport Server 不會直接轉送至向另一個 Active Directory 站台訂閱的 Edge Transport Server。

Edge Transport Server 的手動容錯移轉

建議您使多個 Edge Transport Server 訂閱 Active Directory 站台,以在其中一個 Edge Transport Server 離線時,提供自動容錯及容錯移轉。如果您只能使一個 Edge Transport Server 訂閱 Active Directory,則在 Edge Transport Server 離線時,您必須手動介入,以透過另一個 Active Directory 站台重新路由傳送要送至網際網路的郵件。

如同下圖所示,如果 Edge Transport Server 1 離線,您可以在站台 1 的 Active Directory 目錄服務中手動停用 Edge Transport Server 1 上設定的 * 連接器。站台 1 中等候傳送至 Edge Transport Server 1 的電子郵件會自動使用連接器選擇演算法,透過其餘也有 Edge Transport Server 來訂閱的 Active Directory 站台之一,來重新提交、分類及重新路由。

在此圖中,郵件會重新路由傳送 Active Directory 站台 2 以透過 Edge Transport Server 2 路由傳送。當 Edge Transport Server 1 恢復可用時,您必須重新啟用其在 Active Directory 站台 1 中的 * 連接器,才能透過 Edge Transport Server 1 路由傳送站台 1 中要送至網際網路的電子郵件。

Edge Transport Server 的手動容錯移轉

Edge 手動容錯移轉

從 Edge Transport Server 到 Hub Transport Server 的郵件轉送

使 Edge Transport Server 訂閱 Active Directory 站台時,Edge Transport Server 上會自動建立及設定傳送連接器。此傳送連接器會將郵件傳送至該 Edge Transport Server 訂閱之 Active Directory 站台中的 Hub Transport Server。此傳送連接器會設定為在位址空間中使用 -- 預留位置。輸入傳送連接器位址空間中的 -- 預留位置代表 Exchange 組織的授權及內部轉送公認網域。建立 Edge 訂閱時,於 Active Directory 站台部署的 Hub Transport Server 會列為連接器的智慧主機。負載平衡及容錯是在輸入傳送連接器的智慧主機清單中所列的 Hub Transport Server 之間進行。

note附註:
如果建立 Edge 訂閱之後,又在 Active Directory 站台部署其他的 Hub Transport Server,則這些 Hub Transport Server 不會參與 EdgeSync 同步處理程序。然而,新的 Hub Transport Server 會新增至輸入傳送連接器的智慧主機清單中。如需相關資訊,請參閱EdgeSync 及傳送連接器

到遠端 Active Directory 站台的郵件轉送

當單一 Active Directory 站台中部署多個 Hub Transport Server 時,會以循環配置方式指定其他 Active Directory 站台到那些 Hub Transport Server 的連線優先順序。當某個 Active Directory 站台中的 Hub Transport Server 將收件者的位置解析為另一個 Active Directory 站台中的 Mailbox Server 時,則會傳回遠端站台中 Hub Transport Server 的優先順序清單。如果 Active Directory 站台中的 Hub Transport Server 無法使用,則會嘗試連線至優先順序清單上的其他 Hub Transport Server。這可在 Active Directory 站台中提供容錯。

例如,當 Active Directory 站台 A 中的 Hub Transport Server A 將郵件轉送至 Active Directory 站台 B 中的 Mailbox Server 時,Hub Transport Server A 會從 Active Directory 站台 B 收到 Hub Transport Server 的優先順序清單,例如 Hub Transport Server 1、Hub Transport Server 2 及 Hub Transport Server 3。Hub Transport Server A 如果無法連接至 Hub Transport Server 1,便會嘗試連接至 Hub Transport Server 2。它如果無法連接至 Hub Transport Server 2,便會嘗試連接至 Hub Transport Server 3,依此類推。

如果 Active Directory 站台 A 中的 Hub Transport Server B 也必須將郵件轉送至 Active Directory 站台 B,則會調整 Hub Transport Server 的優先順序清單,以納入位於 Active Directory 站台 B 的伺服器。例如,在遠端 Active Directory 站台 B 中,Hub Transport Server B 的 Hub Transport Server 優先順序清單可能會是 Hub Transport Server 2、Hub Transport Server 3 及 Hub Transport Server 1。每當建立其他連線便會進行這樣的調整,以平衡站台中所有 Hub Transport Server 的負載。

從 Mailbox Server 到 Hub Transport Server 的郵件轉送

在此案例中,Active Directory 站台中已部署多個 Hub Transport Server。如果 Hub Transport Server 與 Mailbox Server 位在相同位置,則該 Hub Transport Server 一律優先於同一站台中的其他 Hub Transport Server。這表示  Microsoft Exchange 郵件提交服務一律會通知本機 Hub Transport Server。如果沒有 Hub Transport Server 與 Mailbox Server 位在相同位置,或如果本機 Mailbox Server 上的 Hub Transport Server 無法使用,則會以循環配置方式使用同一 Active Directory 站台中的其他 Hub Transport Server。

從 Hub Transport Server 跨越 Exchange 2003 路由群組連接器的郵件轉送

如果路由群組連接器是設定為使用多個 Exchange 傳輸伺服器,則 Exchange 2007 路由會使用本主題稍早的<同一 Active Directory 站台的傳送連接器上指定了多個來源傳輸伺服器的郵件轉送>一節中所述的負載平衡及容錯機制。

到協力廠商 SMTP 伺服器的郵件轉送

如果 SMTP 傳送連接器設定為使用多個智慧主機,則連線要求會在智慧主機之間進行負載平衡。如果智慧主機無法使用,則會嘗試連線至另一個在連接器上設定的智慧主機,來提供容錯。

不會發生負載平衡及容錯的案例

本節說明 Exchange 2007 傳輸伺服器不會提供負載平衡及容錯支援的下列郵件路由案例:

  • 不同 Active Directory 站台中的來源傳輸伺服器
  • 多個具有相同成本的連接器
  • 通訊群組擴充伺服器
  • 備援的最低成本路由路徑或中樞站台

不同 Active Directory 站台中的來源傳輸伺服器

如果正在用來路由傳送電子郵件的傳送連接器的來源傳輸伺服器位於不同的遠端 Active Directory 站台,則郵件不會在這些 Active Directory 站台之間進行負載平衡。反而,會選擇一個 Active Directory 站台,並將郵件轉送至該站台。具有最低成本的 Active Directory 站台會優先選用。如果所有 Active Directory 站台都具有相同成本,則會選擇來源傳輸伺服器清單中第一個列出的來源傳輸伺服器的 Active Directory 站台。

下圖顯示當針對傳送連接器設定來自多個 Active Directory 站台的來源傳輸伺服器時的郵件路由行為。在此圖中,郵件會從 Active Directory 站台 3 路由傳送至外部收件者。連接器 C1 被選為位址空間最接近的連接器。連接器 C1 的來源傳輸伺服器有 Active Directory 站台 1 及 Active Directory 站台 2 中的 Hub Transport Server。如果第一個列出的來源傳輸伺服器位於 Active Directory 站台 1,則來自 Active Directory 站台 3 的所有郵件都會路由傳送至 Active Directory 站台 1。Active Directory 站台 1 中的任何 Hub Transport Server 都可以接收郵件,然後使用本機 Active Directory 站台負載平衡來分散郵件,以在 Hub Transport Server A 與 Hub Transport Server B 之間進行轉送。

來自傳送連接器上設定的不同 Active Directory 站台的來源傳輸伺服器

不同 AD 站台中的來源傳輸伺服器

不支援在 Active Directory 站台之間進行負載平衡,因為 Exchange 2007 一律會使用決定性路由,而且一律都只會選取一個 Active Directory 站台來路由傳送郵件。

多個具有相同成本的連接器

如果有多個相同成本的連接器可以用來路由傳送郵件,則郵件不會在那些連接器之間進行負載平衡。Exchange 2007 路由會使用了解 Active Directory 站台型路由中所述的選擇演算法,當機立斷選擇一個連接器。

通訊群組擴充伺服器

您可以設定通訊群組來使用特定的擴充伺服器。如果您指定擴充伺服器,則所有寄給通訊群組的郵件都會路由傳送指定的擴充伺服器。擴充伺服器會展開群組成員資格、解析每一個收件者,然後路由傳送郵件。不支援在多個擴充伺服器之間進行負載平衡。如果擴充伺服器無法使用,則郵件會在失敗時置於佇列,而佇列會轉成重試狀態。

備援的最低成本路由路徑或中樞站台

在 Exchange 2007 根據了解 Active Directory 站台型路由中所述的準則,計算了最低成本路由路徑並選擇了路由路徑之後,除非組態資料變更,否則 Exchange 2007 路由不會重新計算路由路徑。如果無法使用此決定性路由路徑來建立連線,則 Exchange 2007 路由不會嘗試計算替代的路由路徑。在此情況下,郵件會在失敗時置於佇列並重新路由傳送。

下圖顯示在這個案例的 Active Directory 站台拓撲中,郵件路由如何進行。

從 Active Directory 站台 1 傳送至 Active Directory 站台 4 的郵件有兩個可用路徑,每一條路徑都會產生相同成本。然而,因為 Active Directory 站台 2 的英數字元名稱順序低於 Active Directory 站台 3,所以會選擇路徑站台 1-站台 2-站台 4。

備援的最低成本路由路徑或中樞站台

多餘的最低成本路徑或中樞站台

在此拓撲中,Active Directory 站台 2 同時也設定為 Hub Transport Server 站台。此組態會強迫郵件傳遞透過該站台來轉送,因為該站台位在所選取的最低成本路由路徑上。如果要從站台 1 傳送至站台 4 的郵件因故無法從站台 1 轉送至站台 2,例如站台 1 與站台 2 之間的網路連線失敗,則所有郵件都會留在站台 1 的佇列。

如果站台 2 不是 Hub Transport Server 站台,郵件會直接從站台 1 傳遞至站台 4。直接轉送不受站台 1 與站台 2 之間的網路連線影響。只要有從站台 1 到站台 4 的網路層路由,直接轉送便可運作。站台間之 Exchange 拓撲的網路層定義了電腦彼此用來傳送資料的路徑。然而,在此圖中,因為站台 2 中有 Hub Transport Server,所以從站台 1 到站台 4 的郵件都必須透過站台 2 來轉送。在此案例中,Exchange 2007 不會支援切換至相同成本的替代路由路徑,但會依賴站台之間的 IP 網路層備援及容錯來進行郵件轉送。網路層應該要能從實體連結失敗中恢復,並提供目的地的備援替代路徑。

SMTP 連線管理

本節說明如何在 Exchange 2007 的負載平衡及容錯的內容中進行 SMTP 連線管理。Hub Transport Server 會使用 SMTP 向遠端伺服器提出連線要求。遠端伺服器可能是不同 Active Directory 站台中的 Hub Transport Server、智慧主機或是 Edge Transport Server。

例如,如果有 60 封郵件排在佇列中等候轉送至遠端 Active Directory 站台,而該站台有三個 Hub Transport Server,則提出連線的 Exchange 傳輸元件會將郵件轉送負載平均分給所有那些伺服器。它會對每個伺服器各建立一個連線,並使用每個連線各轉送大約 20 封郵件。轉送率視網路頻寬及郵件大小而定。

每個連線轉送的郵件數是無法設定的。然而,在傳輸伺服器上有兩個組態設定可以限制每個佇列的連線數上限:MaxPerDomainOutboundConnectionsMaxOutboundConnectionsMaxPerDomainOutboundConnections 限制每個佇列可以建立的連線數。MaxOutboundConnections 則限制伺服器可以建立的輸出連線總數。您可以使用 Exchange 管理命令介面中的 Set-TransportServer 指令程式,或是 Exchange 管理主控台中的傳輸伺服器內容頁,來設定這些設定。

如需相關資訊,請參閱下列主題:

相關資訊

如需相關資訊,請參閱下列資源:

若要確保您目前閱讀的是最新資訊,並尋找其他的 Exchange Server 2007 說明文件,請造訪 Exchange Server 技術資源中心.