將 Windows Server 2003 上的 Exchange 2007 遷移至 Windows Server 2008 上的 Exchange 2007 SP1

 

上次修改主題的時間: 2008-05-23

作者:Scott Schnoll

Microsoft Exchange Server 2007 Service Pack 1 (SP1) 包含 Exchange 2007 量產發行 (RTM) 版本的許多新功能和改良。其中一個全新改良是支援最近已量產發行的 Windows Server 2008 作業系統。雖然 Exchange 2007 RTM 版本無法安裝在 Windows Server 2008 上,但是支援在 Windows Server 2008 上安裝 Exchange 2007 SP1。下表摘要說明 Exchange 2007 RTM 和 SP1 的作業系統支援。

 

Exchange Server 2007 產品版本 Windows Server 2003 支援 Windows Server 2008 支援

Exchange 2007 RTM

Windows Server 2003 SP1 或更新版本

Windows Server 2003 R2

不支援

Exchange 2007 SP1

Windows Server 2003 SP2

Windows Server 2008 RTM

如需 Microsoft Exchange (包含舊版本) 和 Windows Server 2008 的相關資訊,請參閱 Exchange 團隊部落格文章 Exchange Server 和 Windows Server 2008 (英文)。

note附註:
UNRESOLVED_TOKEN_VAL(exBlog) 

因為您無法將作業系統從 Windows Server 2003 就地升級至 Windows Server 2008,所以在將執行 Exchange 2007 的電腦遷移至 Windows Server 2008 作業系統時請小心規劃。您必須建置新的伺服器並遷移資料,或保留資料並重新建置現有的伺服器。

如果組織已建立和維護伺服器組建文件,而且變更管理記錄和記錄檔,則建議您在本主題詳述的程序期間參照那些資料。如果組織未建立和維護這些資料,則強烈建議您建立和維護這些資料。

Mission Impossible: In-Place Upgrading Microsoft Exchange Server 2007 from Windows Server 2003 to Windows Server 2008 (英文) 這篇 Exchange 團隊部落格文章所述,如果電腦上安裝的是 Exchange 2007 (RTM 或 SP1),作業系統就無法進行就地升級。這個問題存在許多技術性的原因。將摘要說明如下:

  • 您無法拿一部在 Windows Server 2003 上執行的現有 Exchange 2007 伺服器 (RTM 或 SP1),然後將作業系統就地升級至 Windows Server 2008。

  • 因為 Windows Server 2008 容錯移轉叢集進行了重大變更,所以不支援將具有叢集信箱伺服器的容錯移轉叢集從 Windows Server 2003 輪流升級至 Windows Server 2008。

  • 當您升級獨立伺服器時,不支援將作業系統升級為 Windows Server 2008,然後將 Exchange 2007 升級為 SP1。也無法先將 Exchange 2007 升級為 SP1,再將作業系統升級為 Windows Server 2008。

  • 在各個作業系統中,不支援使用安裝程式的任一伺服器復原功能。您無法使用 Setup /m:RecoverServer 或 Setup /RecoverCMS 來變更 Exchange 伺服器使用的作業系統。例如,您無法在 Windows Server 2008 上使用 Setup /m:RecoverServer,來復原在 Windows Server 2003 上執行的 Exchange 伺服器。

有兩種支援的程序可將執行 Exchange 2007 或 Exchange 2007 SP1 的電腦從 Windows Server 2003 遷移至 Windows Server 2008:安裝新的伺服器並遷移資料,或重新重頭建置現有的伺服器並遷移或還原資料。

此程序包含先建置新的伺服器或叢集,再使用資料遷移機制 (如信箱移動和公用資料夾複寫) 將資料從舊伺服器遷移至新伺服器。移動信箱一般表示不需要手動修改使用者的電腦郵件設定檔。然而,在某些環境中,不會使用移動信箱程序,而使用資料庫可攜性,可能可以減少使用者的停機時間。例如,如果包含資料庫的存放裝置可以與原始伺服器中斷連線,再重新連線至新伺服器,則資料庫可攜性的速度可能會比移動信箱作業快,而且停機時間也較短。最後,每個組織都必須自行決定最符合它們需求的資料遷移程序。

若是獨立伺服器,則此程序會保留現有的資料、移除任何協力廠商應用程式、解除安裝 Exchange、解除安裝 Windows PowerShell、將 Windows Server 2003 升級至 Windows Server 2008、安裝 Windows Server 2008 的 PowerShell 和其他必要條件、安裝 Exchange 2007 SP1、使用資料庫可攜性或備份和還原來遷移資料、重新設定伺服器,最後重新安裝協力廠商應用程式。

在此程序中,保留資料的方式是取決於擁有的伺服器數。在多個信箱伺服器環境中,您可以先將所有信箱和資料移至另一部伺服器,再解除安裝 Exchange。在單一伺服器環境中,您可以先停用所有信箱,再解除安裝 Exchange。

若是叢集信箱伺服器,則此程序會包含先從叢集的被動節點解除安裝 Exchange 和 Windows PowerShell,再從叢集收回該節點。收回節點之後,您可以執行 Windows Server 2008 的全新安裝,並安裝必要條件,然後建立含有該節點的新容錯移轉叢集。

對所有伺服器角色而言,將伺服器角色從 Windows Server 2003 移至 Windows Server 2008 的程序都類似,但是每個伺服器角色還是有其獨有的特定工作。下列各節會詳述將每個伺服器角色移至 Windows Server 2008 的程序。

遷移個別伺服器角色時,角色的遷移順序十分重要,特別是除非您已在組織中部署 Exchange 2007 SP1,否則遷移至 Windows Server 2008 一律會包含從 Exchange 2007 RTM 轉換至 Exchange 2007 SP1。因此,您必須使用在環境中部署 SP1 的相同順序來遷移伺服器角色:Client Access、Hub Transport、Edge Transport、Unified Messaging,最後是 Mailbox。

因此,規劃 Windows Server 2008 部署時,必須考量到 Exchange 2007 SP1 需求。在某部電腦上部署 Exchange 2007 SP1 與 Windows Server 2008,可能會影響或驅使在其他電腦上部署 Exchange 2007 SP1 與 Windows Server 2008。下列各節會說明原因。

所有參與 EdgeSync 程序的傳輸伺服器必須執行相同版本的 Exchange 2007 (例如,全部都是 RTM 或全部都是 SP1)。因此,將第一部 Hub Transport Server 遷移至 Windows Server 2008 之後,您必須升級相同 Active Directory 站台中的其他所有 Hub Transport Server,以及 Active Directory 站台訂閱的所有 Edge Transport Server,而期限是參與 EdgeSync 程序的任何傳輸伺服器第一次升級至 Exchange 2007 SP1 的 15 天內。但這不表示這些伺服器也必須遷移至 Windows Server 2008。然而,這表示它們必須升級至 Exchange 2007 SP1。

Exchange 2007 的某些功能不具有跨作業系統支援,即,待命連續複寫 (SCR) 以及單一副本叢集 (SCC) 和叢集連續複寫 (CCR) 環境中的容錯移轉叢集管理:

  • 使用 SCR 時,SCR 來源電腦和其所有 SCR 目標電腦都必須執行相同的作業系統。因此,遷移現有的 SCR 來源或目標電腦之前,必須先停用要遷移之電腦的 SCR。

  • Windows Server 2008 代表完全中斷舊版 Windows Server 中所含的叢集 API。由於叢集服務不允許您使用叢集管理工具,從遠端管理跨越不同作業系統的容錯移轉叢集,因此您不能使用 Exchange 管理工具從遠端管理跨越不同作業系統的容錯移轉叢集。例如,您無法執行下列動作:

    • 從執行 Windows Server 2003 或 Windows XP 的電腦管理在 Windows Server 2008 上執行的叢集信箱伺服器。

    • 從執行 Windows Server 2008 的電腦管理在 Windows Server 2003 上執行的叢集信箱伺服器。

    除了先前的限制以外,您也不能在同一部電腦上安裝不同作業系統版本的叢集管理工具。因此,如果您是在 Exchange 環境中執行多種用戶端和伺服器作業系統,可能必須使用替代方法 (例如遠端桌面通訊協定工具) 來管理部分或全部的 Exchange 伺服器。

note附註:
寫作這篇文章時,Windows Vista 還沒有可用的遠端伺服器管理工具。這些工具必須安裝在 Windows Vista 上,才能遠端管理執行 Windows Server 2008 的容錯移轉叢集。

本主題的程序討論如何將個別伺服器角色從 Windows Server 2003 上的 Exchange 2007 (RTM 或 SP1) 遷移至 Windows Server 2008 上的 Exchange 2007 SP1。如需如何將單一伺服器環境從 Windows Server 2003 遷移至 Windows Server 2008 的詳細資訊,請參閱本主題後面的<單一伺服器環境的程序>一節。

Client Access Server 會將它們的組態資料儲存在多個位置。

  • Active Directory 是用來儲存與可用性服務、Exchange ActiveSync 和 Outlook Web Access 虛擬目錄相關的組態資訊。

  • 網際網路資訊服務 (IIS) Metabase 也會儲存 Exchange ActiveSync、自動探索和 Exchange Web 服務的組態資訊。

  • 本機組態檔 (如 Web.config 檔案和 Windows 登錄) 是用來儲存與 Outlook Web Access、IMAP、POP3、可用性服務和 Exchange ActiveSync 相關的組態資料,以及 Exchange 安裝程式使用的資訊。

因為您無法以程式設計方式將組態設定從某部 Client Access Server 遷移至另一部 Client Access Server,所以 Client Access Server 的遷移程序主要是手動程序。然而,若要自動化大部分的組態設定收集程序,您可以使用稱為 ExportCASConfig.ps1 的 Exchange 管理命令介面指令碼。您可以從下面的 Exchange 團隊部落格文章中下載此指令碼:曾經想要匯出 CAS 角色設定嗎? (英文)。

note附註:
UNRESOLVED_TOKEN_VAL(exBlog)

ExportCASConfig.ps1 可以用來匯出 Outlook Web Access、Exchange ActiveSync、整合通訊、Web 服務、離線通訊錄、POP3 和 IMAP4 的虛擬目錄資訊。也可以匯出 Client Access Server 的安裝和指令碼路徑設定。此指令碼會將收集的資訊匯出至 XML 檔案,而在您於新建置的 Client Access Server 上手動重新建立擷取的設定時,可以參照該檔案。

使用下列步驟,可以將 Client Access Server 從執行 Windows Server 2003 的伺服器遷移至執行 Windows Server 2008 的新伺服器。

note附註:
如果要遷移至 Windows Server 2008 的 Client Access Server 是屬於 Windows 網路負載平衡 (NLB) 叢集的一部分,則建議您在執行遷移程序時,先暫時從 NLB 叢集移除它們。在遷移期間,NLB 叢集會在相同 NLB 叢集中同時具有 Windows Server 2003 和 Windows Server 2008 節點。只有在進行升級安裝時才支援此混合模式部署,而且不應該用於延長的部署時段。如需如何將 NLB 叢集從 Windows Server 2003 升級至 Windows Server 2008 的相關資訊,請參閱 Upgrading an existing Network Load Balancing Cluster (英文)。
  1. 收集並記錄所有自訂組態設定。這是兩階段程序,一部分自動 (階段 1) 而一部分手動 (階段 2)。

    1. 下載並執行 ExportCASConfig.ps1 指令碼,以將上面所述的組態資訊收集至 XML 檔案。

    2. 檢查 Web.config 檔案和 Windows 登錄中的資訊,並在其中記錄資訊,以手動收集此指令碼未收集的其餘組態設定。此外,您必須手動收集並記錄在匯出程序期間未收集到的 IIS 組態和設定 (如需要 SSL 設定、網站繫結、憑證和憑證對應以及 HTTP 重新導向)。

  2. 建置並設定執行 Exchange 2007 SP1 和 Windows Server 2008 的新 Client Access Server。如需安裝 Client Access server role 的詳細步驟,請參閱部署伺服器角色。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。

  3. 在新伺服器上執行 ExportCASConfig.ps1 指令碼,以將其組態資訊收集至第二個 XML 檔案。

  4. 使用 Windows Server 2003 和 Windows Server 2008 所含的 Microsoft WinDiff (Windiff.exe),來比較這兩個 XML 檔案。WinDiff 會比較檔案或目錄,並以圖形方式顯示結果。例如,以紅色強調顯示某個檔案中比較檔案所沒有的資訊,而以黃色強調顯示某個檔案中與比較檔案不同的資訊,以此類推。如需使用 WinDiff 的相關資訊,請參閱 Microsoft 知識庫文章 159214 如何使用 Windiff.exe 公用程式。比較從每個系統擷取的組態檔,可以更輕易地分辨變更和遺失的設定,然後再將它們手動重新設定於新伺服器上。

  5. 在您手動重新設定所收集組態資訊的設定之後,必須在新的伺服器上手動重新設定指令碼未擷取的其餘設定,包含‎:

    • Web.config 檔案中的資訊

    • SSL 設定

    • 網站繫結

    • 憑證和憑證對應,以及

    • HTTP 重新導向

    您可以使用 Windiff 來比較原始和新伺服器上的 Web.config 檔案。

    如果原始伺服器上之 SSL 憑證的私密金鑰標示為可匯出,則可以匯出憑證,再將它們匯入至新伺服器。如需從 IIS 6.0 匯出憑證的詳細步驟,請參閱匯出伺服器憑證 (IIS 6.0) (英文)。如需將憑證匯入 IIS 7.0 的詳細步驟,請參閱 IIS 7.0:匯入伺服器憑證 (英文)。

    手動收集任何其餘自訂設定,然後在新的伺服器上重新建立這些設定。

  6. Active Directory 複寫將新的伺服器和其組態設定複寫至組織之後,就可以解除安裝原始伺服器中的 Client Access server role。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007

Hub Transport server role 的遷移處理程序是其中一種最簡單的伺服器角色遷移。您必須手動收集和記錄兩個組態元素,然後在新伺服器上重新建立它們:接收連接器和 Edge 訂閱。接收連接器和 Edge 訂閱不可以在系統之間進行遷移。因此,必須手動重新建立它們。此外,如果您解除委任的 Hub Transport Server 是指定為任何傳送連接器或任何外部連接器的來源傳輸伺服器,則請從連接器的 [來源伺服器] 清單移除舊的 Hub Transport Server 名稱,並將新的 Hub Transport Server 新增至 [來源伺服器] 清單。您可以使用下列命令來收集傳送連接器資訊:

Get-SendConnector |  where { $_.SourceTransportServers -match <NameofHubTransportServer> }

使用下列步驟,可以執行遷移程序:

  1. 安裝執行 Exchange 2007 SP1 和 Windows Server 2008 的新 Exchange 2007 Hub Transport Server。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。如需在 Windows Server 2008 上安裝 Hub Transport server role 的詳細步驟,請參閱部署伺服器角色

  2. 新的 Hub Transport Server 會包含兩個接收連接器:用戶端連接器和預設連接器。

    1. 在新的 Hub Transport Server 上,必須重新建立對原始 Hub Transport Server 上之用戶端連接器和預設連接器進行的所有自訂變更。

    2. 在新的 Hub Transport Server 上,也必須手動重新建立在原始 Hub Transport Server 上建立的任何自訂連接器。

  3. 在新的伺服器上執行 EdgeSync 程序,以向新 Hub Transport Server 訂閱 Edge Transport Server。您必須向原始訂閱 Edge Transport Server 的相同 Active Directory 站台訂閱 Edge Transport Server。您不需要先移除原始的 Edge 訂閱。訂閱程序會覆寫現有的 Edge 訂閱。若要訂閱 Edge Transport Server,請執行下列動作:

    1. 匯出 Edge Transport Server 上的新 XML 檔案

    2. 在新的 Hub Transport Server 上匯入 XML 檔案。

    如需 EdgeSync 程序的相關資訊,請參閱向 Exchange 組織訂閱 Edge Transport Server

  4. 視需要重新設定任何傳送連接器。如需重新設定傳送連接器的詳細步驟,請參閱如何修改傳送連接器的組態

  5. 設定並訂閱新的 Hub Transport Server 之後,您可以移除原始 Hub Transport Server 中的 Edge 訂閱,然後解除安裝 Hub Transport server role。如需移除 Edge 訂閱的詳細步驟,請參閱如何移除 Edge 訂閱。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007

Mailbox Server 的遷移程序包含移動信箱或使用資料庫可攜性移動信箱資料、擷取和遷移自訂組態設定及公用資料夾內容、移動離線通訊錄 (OAB) 產生程序,以及移除原始 Mailbox Server 中的 Exchange 2007。

note附註:
不可以在伺服器之間遷移內容索引。完成遷移程序之後,會在新伺服器上重新製作資料庫的索引。

使用下列步驟,可以執行此遷移程序:

  1. 安裝執行 Exchange 2007 SP1 和 Windows Server 2008 的新 Exchange 2007 Mailbox Server 或叢集信箱伺服器。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。如需在 Windows Server 2008 上安裝 Mailbox server role 或叢集信箱伺服器的詳細步驟,請參閱下列主題:

  2. 使用用於舊伺服器上的任何自訂設定,來設定新的伺服器。您可以使用 Exchange Server Best Practices Analyzer 工具來收集伺服器的各種組態設定。此外,還可以在 Exchange 管理命令介面中使用下列命令,來收集伺服器組態設定:

    Get-ExchangeAdministrator OriginalServerName | FL
    Get-MailboxServer OriginalServerName | FL
    Get-ExchangeServer OriginalServerName | FL
    Get-StorageGroup -Server OriginalServerName | FL
    Get-MailboxDatabase -Server OriginalServerName | FL
    Get-PublicFolderDatabase -Server OriginalServerName | FL
    

    您也可以執行下列命令,將下列每個命令的輸出重新導向至單一檔案:

    Get-ExchangeAdministrator OriginalServerName | FL > C:\OriginalServerName.txt
    Get-MailboxServer OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-ExchangeServer OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-StorageGroup -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-MailboxDatabase -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-PublicFolderDatabase -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    
  3. 如果原始伺服器包含公用資料夾資料庫,則可以將公用資料夾移至新的伺服器。如需將公用資料夾複本從某部伺服器移至另一部伺服器的相關資訊,請參閱如何從一個公用資料夾資料庫中將公用資料夾內容移到另一個公用資料夾資料庫

  4. 將離線通訊錄 (OAB) 產生處理程序移動到新的伺服器。如需這樣做的詳細步驟,請參閱如何將離線通訊錄產生處理程序移至另一部伺服器

  5. 遷移公用資料夾和 OAB 產生程序之後,就可以選擇信箱資料庫遷移方法。

    1. 您可以使用移動信箱工作,將所有信箱移至新的伺服器。如需如何移動信箱的相關資訊,請參閱移動信箱

    2. 也可以使用資料庫可攜性,將信箱資料庫從舊的伺服器移至新的伺服器。如需如何使用資料庫可攜性的相關資訊,請參閱資料庫可攜性

    如果啟用原始 Mailbox Server 上的任何儲存群組進行本機連續複寫 (LCR) 或 SCR,則應該先停用 LCR/SCR,再使用移動信箱或資料庫可攜性將所有信箱移至新的 Mailbox Server。

  6. 信箱移至新的伺服器之後,就可以針對新伺服器上的一或多個儲存群組啟用 LCR 或 SCR。然而,請注意當使用 SCR 時,所有 SCR 目標上的作業系統都必須符合 SCR 來源上的作業系統。因為新的 Mailbox Server 現在執行 Windows Server 2008,所以新 Mailbox Server 上之儲存群組使用的任何 SCR 目標都必須執行 Windows Server 2008。

  7. 若要淘汰原始伺服器,請先確認所有資料 (包含信箱、公用資料夾、OAB 產生和任何協力廠商應用程式) 都已順利遷移至新的伺服器。確認完成之後,就可以解除安裝 Exchange。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007。如需解除安裝混合組織中之第一部 Exchange 2007 伺服器的相關資訊,請參閱如何移除共存案例中的第一部 Exchange 2007 伺服器

Edge Transport Server 的遷移程序是目前最簡單的伺服器角色遷移。Edge Transport server role 將它的組態資訊儲存在 Windows Server 2003 的 Active Directory 應用程式模式 (ADAM) 以及 Windows Server 2008 的 Active Directory 輕量型目錄服務 (AD LDS) 中。Exchange 2007 和 Exchange 2007 SP1 包含稱為 ExportEdgeConfig.ps1 和 ImportEdgeConfig.ps1 的指令碼,可以用來匯出某部伺服器之 ADAM 執行個體的 Edge Transport Server 組態設定,再將那些設定分別匯入另一部 Edge Transport Server 的 ADAM 執行個體。這些指令碼已經過完整測試,而且支援在不同的作業系統使用。例如,指令碼可以用來從 Windows Server 2003 上的 Exchange 2007 遷移至 Windows Server 2008 上的 Exchange 2007 SP1。如需這些指令碼的相關資訊,請參閱使用 Edge Transport Server 複製的組態

使用下列步驟,可以執行遷移程序:

  1. 安裝執行 Exchange 2007 SP1 和 Windows Server 2008 的新 Exchange 2007 Edge Transpor Server。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。如需在 Windows Server 2008 上安裝 Edge Transport server role 的詳細步驟,請參閱部署伺服器角色。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。

  2. 使用先前所述的匯出和匯入指令碼,執行複製設定程序。如需執行複製組態程序的詳細步驟,請參閱如何利用複製組態工作來設定 Edge Transport Server role

    important重要事項:
    複製組態程序不會檢查或遷移任何自訂權限設定。您必須在新的 Edge Transport Server 上手動收集和重新建立這些設定。此外,複製組態程序不會複製伺服器的 Edge 訂閱設定。也不會複製 Microsoft Exchange EdgeSync 服務所使用的憑證。您必須個別執行每個新 Edge Transport Server 的 EdgeSync 處理程序。EdgeSync 服務會覆寫所複製組態資訊及 EdgeSync 複寫資訊中所含的任何設定。
  3. 從原始 Edge Transport Server 匯出組態資訊時,不會將傳輸組態物件寫入至 XML 檔案。因此,不會將此物件的組態資訊複製至新的 Edge Transport Server。此傳輸組態物件的設定會為 Edge Transport Server 直義全伺服器的電子郵件傳輸設定。在您將中繼 XML 檔匯入到目標伺服器後,傳輸組態物件的設定將會具備預設值。若要還原新 Edge Transport Server 上的傳輸組態物件設定,則必須在匯入程序完成之後,遵循下列步驟進行設定:

    1. 針對原始伺服器執行 Get-TransportConfig 指令程式,以收集傳輸組態設定。

    2. 在新伺服器上執行 Set-TransportConfig 指令程式,以在新伺服器上重新建立原始伺服器的設定。

  4. 適當地更新網域名稱系統 (DNS) 記錄。例如,您應該從郵件交換者 (MX) 記錄移除原始 Edge Transport Server 的 IP 位址,並將新 Edge Transport Server 的 IP 位址新增至 MX 記錄。

  5. 確認所有郵件佇列都是空的。如果任何佇列包含郵件,則應該先清空佇列,再繼續進行此程序。您可以使用下列命令來判斷每個郵件佇列中的郵件數:

    Get-Queue -Server OriginalServerName | fl Identity,MessageCount
    

    MessageCount 的值為 0 表示佇列是空的。如果任何佇列包含必須傳遞的郵件,則可以使用 Set-ReceiveConnector 指令程式停用伺服器上的所有接收連接器,以清空佇列。這樣可以防止伺服器接受新的連線。如需停用接收連接器的詳細步驟,請參閱如何啟用或停用接收連接器。停用所有接收連接器之後,請等待佇列清空。

  6. 使用 Remove-EdgeSubscription 指令程式,從 Hub Transport Server 移除它所訂閱的 Edge 訂閱。如需移除 Edge 訂閱的詳細步驟,請參閱如何移除 Edge 訂閱

  7. 在新的伺服器上執行 EdgeSync 程序,以建立從 Active Directory 到新 Edge Transport Server 之 Active Directory 輕量型目錄服務執行個體的收件者和組態資訊的單向複寫。如需 EdgeSync 程序的相關資訊,請參閱向 Exchange 組織訂閱 Edge Transport Server

  8. 設定並訂閱新的 Edge Transport Server 之後,您可以解除安裝原始伺服器中的 Edge Transport server role。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007

Unified Messaging (UM) Server 的遷移程序包含將提示發行端點從原始伺服器移至新的伺服器。其他 UM 組態設定 (如針對擁有 UM 功能之使用者錄製的名稱和個人問候語) 會分別儲存在 Active Directory 和使用者信箱中。因此,您不需要遷移此資料。

撥號對應表和自動化服務員的自訂問候語會發行至 UM 提示發行端點,而撥號對應表中的每部 UM 伺服器會從中取得它自己的副本。撥號對應表的提示發行端點預設是在加入撥號對應表的第一部 UM 伺服器上。您可以使用 Exchange 管理命令介面來判斷提示發行端點的位置。例如,如果您的撥號對應表稱為 DialPlan1,則可以在 Exchange 管理命令介面中執行下列命令,以判斷提示發行端點的路徑:

$dp = Get-UMDialPlan DialPlan1
$dp.PromptPublishingPoint

輸出會是通用命名慣例 (UNC) 路徑,內含加入 DialPlan1 之第一部 UM 伺服器的網域全名。例如,如果加入 DialPlan1 的第一部 UM 伺服器命名為 UMSVR1,而且位在 fabrikam.com 網域中,則輸出如下:

\\umsvr1.fabrikam.com\ExchangeUM

如果 UMSVR1 在遷移之後還是要繼續提供 UM 服務,則可以將它們保留原狀。然而,如果您想要解除委任 UMSVR1,而且必須繼續更新自訂撥號對應表和自動化服務員提示,則必須將提示發行端點移到別的位置。新位置不需要是 UM 伺服器,但需要是每次發行提示時都可以使用的電腦。假設您想要將提示發行端點移至 newserv.fabrikam.com。執行下列步驟即可完成:

  1. 建置並設定執行 Exchange 2007 SP1 和 Windows Server 2008 的新 Unified Messaging Server。如需安裝 Unified Messaging server role 的詳細步驟,請參閱部署伺服器角色。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。

  2. 設定要加入現有 Unified Messaging Server 所屬之撥號對應表的新 Unified Messaging Server。

  3. 使用下列命令,將舊提示發行端點下的所有項目複製至新提示發行端點:

    xcopy \\umsvr1\ExchangeUM \\newserv\ExchangeUM /s /e
    
  4. 在新的 Unified Messaging Server 上,執行會強制立即複製檔案的 Update-FileDistributionService 指令程式。

  5. 更新撥號對應表組態,以參照新的發行端點:

    $dp = Get-UMDialPlan MyDP
    $dp.PromptPublishingPoint = \\newserv.fabrikam.com\ExchangeUM
    $dp | Set-UMDialPlan
    
  6. Active Directory 複寫將這項變更複寫至組織之後,就可以解除安裝原始伺服器中的 Unified Messaging server role。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007

雖然先前移動五個伺服器角色的程序適用於多伺服器環境,但是它們很明顯地不適用於只有一部執行 Exchange 2007 (安裝 Hub Transport、Client Access 和 Mailbox server role) 的電腦環境,以及沒有用來建置新伺服器之硬體的環境。因此,在單一伺服器環境中,您必須保留現有的資料,然後重新重頭建置現有的伺服器。

important重要事項:
本文的單一伺服器環境指的是執行多個伺服器角色的單一成員伺服器。如果您的單一伺服器環境是執行多個伺服器角色的目錄伺服器,而且是環境中的唯一目錄伺服器,則不應該執行 Windows Server 2008 的全新安裝。而是應該執行作業系統的就地升級,這樣才會保留目錄伺服器設定和資料。如需如何將 Active Directory 從 Windows Server 2003 升級至 Windows Server 2008 的相關資訊,請參閱 Active Directory 網域服務 (英文)。
在此程序期間,如果使用者帳戶資訊遺失,則可以根據信箱資料庫中的使用者資訊,在 Active Directory 中重新建立帳戶。如需如何根據信箱資料庫中的資訊建立使用者帳戶的相關資訊,請參閱如何使用信箱資料庫中的信箱資訊產生 Active Directory 帳戶
此外,本文的單一伺服器環境未含任何 Edge Transport Server。如果您的單一伺服器環境包含 Edge Transport Server,則應該在遷移多角色伺服器之後遷移 Edge Transport Server。如需 Edge Transport server role 遷移程序,請參閱本文前面的<Edge Transport server role>。

將在 Windows Server 2003 上執行 Exchange 2007 的電腦遷移至 Windows Server 2008 上的 Exchange 2007 SP1,基本上需要您重新設定新的伺服器,但是使用資料庫可攜性可讓您輕鬆將信箱資料從原始伺服器遷移至新的重新建置伺服器。

下面是將內含 Client Access、Hub Transport、Mailbox 和 Unified Messaging server role 的單一伺服器環境從 Windows Server 2003 遷移至 Windows Server 2008 的程序:

  1. 使用 Windows 備份 (也稱為 NTBackup.exe),製作完整的系統備份。如果伺服器裝載公用資料夾資料庫,則務必製作公用資料夾資料庫和其記錄檔的離線副本,因為在此程序的後面會將它們複製至新重新建置的伺服器。

  2. 盡量收集現有伺服器的組態資訊。您可以在 Exchange 管理命令介面中使用下列命令,來收集伺服器組態設定:

    Get-ExchangeAdministrator OriginalServerName | FL
    Get-MailboxServer OriginalServerName | FL
    Get-ExchangeServer OriginalServerName | FL
    Get-StorageGroup -Server OriginalServerName | FL
    Get-MailboxDatabase -Server OriginalServerName | FL
    Get-PublicFolderDatabase -Server OriginalServerName | FL
    Get-SendConnector |  where { $_.SourceTransportServers -match <NameofHubTransportServer> } | FL
    

    您也可以執行下列命令,將下列每個命令的輸出重新導向至單一檔案:

    Get-ExchangeAdministrator OriginalServerName | FL > C:\OriginalServerName.txt
    Get-MailboxServer OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-ExchangeServer OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-StorageGroup -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-MailboxDatabase -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-PublicFolderDatabase -Server OriginalServerName | FL >> C:\ OriginalServerName.txt
    Get-SendConnector |  where { $_.SourceTransportServers -match <NameofHubTransportServer> } | FL >> C:\ OriginalServerName.txt
    

    若要自動化大部分的 Client Access server role 組態設定收集程序,則可以使用稱為 ExportCASConfig.ps1 的 Exchange 管理命令介面指令碼。您可以從下面的 Exchange 團隊部落格文章中下載此指令碼:曾經想要匯出 CAS 角色設定嗎? (英文)。

    您也應該檢查 Web.config 檔案和 Windows 登錄中的資訊,並在其中記錄資訊,以手動收集 ExportCASConfig.ps1 未收集的其餘組態設定。此外,您必須手動收集未收集的 IIS 組態和設定 (如需要 SSL 設定、網站繫結、憑證和憑證對應以及 HTTP 重新導向)。

    如果伺服器執行 Unified Messaging server role,則建議您將現有提示發行端點下的所有檔案複製至安全位置。例如,使用下列命令將伺服器 Server1 之現有提示發行端點下的所有檔案複製至伺服器 Server2 的 UMSave 共用中:

    xcopy \\Server1\ExchangeUM \\Server2\UMSave /s /e
    
  3. 完成伺服器組態資訊的收集之後,請將內含所收集之組態設定的所有檔案 (例如 OriginalServerName.txt) 複製至安全位置。

  4. 如果伺服器的任何儲存群組啟用 LCR,則必須先予以停用,再執行下列命令重新建置伺服器:

    Get-StorageGroup -Server <ServerName> | Disable-StorageGroupCopy -Confirm:$False
    
  5. 停用伺服器上信箱資料庫中的所有使用者信箱。您可以藉由在 Exchange 管理命令介面中執行下列命令以執行此作業:

    Get-Mailbox -Server <ServerName> | Disable-Mailbox -Confirm:$False
    
  6. 如果伺服器包含公用資料夾資料庫,請執行下列命令移除公用資料夾資料庫:

    Get-PublicFolder -Server <ServerName> "\" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server <ServerName> -Recurse -ErrorAction:SilentlyContinue
    Get-PublicFolder -Server <ServerName> "\Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server <ServerName> -Recurse -ErrorAction:SilentlyContinue
    
  7. 執行下列命令,以缷載所有信箱資料庫,然後停止 Microsoft Exchange Information Store 服務 (和任何相依服務):

    Get-MailboxDatabase -Server <ServerName> | Dismount-Database -Confirm:$False
    net stop msexchangeis /y
    
  8. Microsoft Exchange Information Store 服務停止 之後,將內含信箱資料庫和記錄檔的儲存群組資料夾複製至安全位置。接著將內含公用資料夾資料庫和其記錄檔的儲存群組複製至安全位置。

  9. 根據應用程式廠商的移除指示,解除安裝所有 Exchange 整合應用程式。如果需要 Microsoft Exchange Information Store 服務才能移除 Exchange 整合應用程式,則可以使用 net start msexchangeis 重新啟動此服務。

  10. 從伺服器中解除安裝 Exchange。如需解除安裝 Exchange 2007 的詳細步驟,請參閱如何從伺服器完全移除 Exchange 2007

  11. Exchange 安裝程式完成移除程序之後,請重新啟動電腦,然後使用具有本機系統管理權限的帳戶登入電腦。

  12. 如果想要執行作業系統的就地升級,則必須先從伺服器中解除安裝 Windows PowerShell。若要做這樣的處理:

    1. 開啟 Windows [控制台],並瀏覽至 [新增或移除程式]。

    2. 核取 [顯示更新] 核取方塊。

    3. 捲動已安裝的應用程式和更新清單,並選取 [Update for Windows Server 2003 (KB926139)] 這個更新,然後按一下 [移除]。

    note附註:
    如果 [Update for Windows Server 2003 (KB926139)] 這個項目不存在,則可能表示已在安裝 Windows PowerShell 之後安裝 Windows Server 2003 Service Pack 2。在此事件中,您必須先解除安裝 Windows Server 2003 Service Pack 2,才能解除安裝 Windows PowerShell。
    note附註:
    在您將 Windows Server 2003 就地升級至 Windows Server 2008 之前,可能還必須安裝其他應用程式或 Windows 元件。在安裝 Windows Server 2008 期間會執行相容性檢查,以建議您是否必須移除其他應用程式或元件。
  13. 此時,您可以繼續進行作業系統的就地升級,也可以重新格式化磁碟機,並執行 Windows Server 2008 的全新安裝。建議您執行 Windows Server 2008 的全新安裝,而不要執行就地升級。不過這兩種案例皆支援。

    note附註:
    如果執行全新安裝,則建議新的伺服器使用原始伺服器名稱。此外,如果原始伺服器的公用資料夾資料庫會還原至新伺服器,則必須使用原始伺服器名稱建置新伺服器,否則會無法在新伺服器上重新提供公用資料夾資料庫。
  14. 安裝 Windows Server 2008 之後,就可以安裝在 Windows Server 2008 上執行 Exchange 2007 SP1 的必要條件。如需安裝每個伺服器角色之必要條件的詳細步驟,請參閱如何在 Windows Server 2008 或 Windows Vista 上安裝 Exchange 2007 SP1 與 SP2 必要條件

  15. 安裝在 Windows Server 2008 上執行 Exchange 2007 SP1 的必要條件之後,就可以安裝 Exchange 2007 伺服器角色。如需安裝一或多個伺服器角色的詳細步驟,請參閱部署伺服器角色。也建議您瀏覽 Microsoft Update,以下載新伺服器的所有重要或建議更新。

  16. 安裝必要伺服器角色並重新啟動系統之後,就可以繼續重新設定每個伺服器角色的設定,以及繼續將資料庫放回生產環境中。重新建立組態設定時,請確定參照在此程序的步驟 2 中建立的 OriginalServerName.txt 檔案。

    Client Access server role:

    1. 在新伺服器上執行 ExportCASConfig.ps1 指令碼,以將其組態資訊收集至第二個 XML 檔案。

    2. 使用 Windows Server 2003 和 Windows Server 2008 所含的 Microsoft WinDiff (Windiff.exe),來比較這兩個 XML 檔案。如需如何使用 WinDiff 的相關資訊,請參閱 Microsoft 知識庫文章 159214 如何使用 Windiff.exe 公用程式。比較從每個系統擷取的組態檔,可以更輕易地分辨變更和遺失的設定,然後再將它們手動重新設定於新伺服器上。

    3. 在您手動重新設定所收集組態資訊的設定之後,必須在新的伺服器上手動重新設定指令碼未擷取的其餘設定,包含 Web.config 檔案、SSL 設定、網站繫結、憑證和憑證對應以及 HTTP 重新導向的資訊。

    4. 如果原始伺服器上之 SSL 憑證的私密金鑰標示為可匯出,則可以匯出憑證,再將它們匯入至新伺服器。如需從 IIS 6.0 匯出憑證的詳細步驟,請參閱匯出伺服器憑證 (IIS 6.0) (英文)。如需將憑證匯入 IIS 7.0 的詳細步驟,請參閱 IIS 7.0:匯入伺服器憑證 (英文)。

    Hub Transport server role:

    1. 在新的 Hub Transport Server 上,必須重新建立對原始 Hub Transport Server 上之用戶端連接器和預設連接器進行的所有自訂變更。

    2. 在新的 Hub Transport Server 上,也必須手動重新建立在原始 Hub Transport Server 上建立的任何自訂連接器。

    3. 視需要重新設定任何傳送連接器。如需重新設定傳送連接器的詳細步驟,請參閱如何修改傳送連接器的組態

    Mailbox server role:

    1. 視需要重新設定儲存群組,讓它們符合原始伺服器使用的儲存群組。

    2. 使用資料庫可攜性,將信箱資料庫遷移至新的生產環境。如需資料庫可攜性的相關資訊,請參閱資料庫可攜性

    3. 所有信箱資料庫在使用資料庫可攜性遷移之後應該先進行裝載,才能將使用者重新連線至他們的信箱。您可以使用 Mount-Database 指令程式裝載信箱資料庫。如需 Mount-Database 指令程式的相關資訊,請參閱 Mount-Database

    4. 重新連線每個信箱資料庫上的所有信箱。您可以使用 Exchange 管理命令介面取得特定資料庫的中斷連線統計資料,然後將那些結果管線輸出至 Connect-Mailbox 指令程式。例如,重新連線的所有信箱若都是儲存在伺服器 Server01 之儲存群組 SG1 的信箱資料庫 MBX1 上:

      Get-MailboxStatistics | Where {$_.DisconnectDate -ne $null} | Connect-Mailbox -Database "Server01\SG1\MBX1"
      
    5. 使用原始 Mailbox Server 上使用的相同儲存群組和資料庫名稱以及路徑,建立新的儲存群組和公用資料夾資料庫。建立新的公用資料夾資料庫之後,請先予以卸載,然後刪除公用資料夾儲存群組和資料庫資料夾中的所有檔案。請將原始公用資料夾資料庫和記錄檔複製至公用資料夾資料庫的適當儲存群組和資料庫位置。

    6. 將公用資料夾資料庫和記錄檔複製至適當目的資料夾之後,可以使用 Mount-Database 指令程式來裝載資料庫。

    Unified Messaging server role:

    1. 視需要重新建立撥號對應表,並設定要加入新撥號對應表的伺服器。

    2. 將提示發行端點的所有檔案從安全位置複製至 UM 伺服器的 ExchangeUM 共用中。例如,使用下列命令將現有提示發行端點的所有檔案從 Server2 的 UMSave 複製至新重新建置的 Server1:

      xcopy \\Server2\UMSave \\Server1\ExchangeUM /s /e
      
    3. 在新的 Unified Messaging Server 上,執行會強制立即複製檔案的 Update-FileDistributionService 指令程式。

    4. 更新撥號對應表組態,以參照新的發行端點。例如,如果 domain.com 中的 Server1 包含提示發行端點,請執行下列命令:

      $dp = Get-UMDialPlan MyDP
      $dp.PromptPublishingPoint = \\server1.domain.com\ExchangeUM
      $dp | Set-UMDialPlan
      
  17. 在新的伺服器上重新建立每個伺服器角色之後,而在將伺服器放回生產環境之前,建議您執行下列動作:

    1. 執行 Exchange Server Best Practices Analyzer 工具,並檢查任何組態警告或錯誤。

    2. 建立伺服器的完全且完整備份。

    note附註:
    Windows Server 2008 中的 Windows Server Backup 不再支援 Exchange 感知備份或還原。與舊版的 Windows 備份不同,您無法使用 Windows Server Backup 來製作或還原 Exchange 的資料流備份。若要備份和還原 Windows Server 2008 上的 Exchange 2007 SP1,您必須使用支援 Exchange 2007 之磁碟區陰影複製服務 (VSS) 編寫器的 Exchange 感知應用程式,例如,Microsoft System Center Data Protection Manager、協力廠商 Exchange 感知 VSS 型應用程式或協力廠商 Exchange 感知應用程式,以在 Exchange 伺服器上本機使用資料流備份 API,於 Exchange 伺服器上本機製作備份。

c3bb668a-52ea-48e3-9baf-651eeeb86f99 Scott Schnoll - 首席技術文件作者,Microsoft Exchange Server

 
顯示: