容錯移轉叢集網域移轉

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

本文提供將 Windows Server 容錯移轉叢集從一個網域移至另一個網域的概觀。

為什麼要在網域之間移轉

有數個案例需要將叢集從一個網域移轉至另一個網域。

  • 公司 A 與公司 B 合併,且必須將所有叢集移至公司 A 網域
  • 叢集於主要資料中心中建置,並運至遠端位置
  • 叢集已建置為工作群組叢集,現在需要成為網域的一部分
  • 叢集已建置為網域叢集,現在需要成為工作群組的一部分
  • 叢集正從公司的一個區域移至另一個區域,且是不同的子網域

如果不支援基礎應用程式作業,Microsoft 不會為嘗試將資源從一個網域移至另一個網域的系統管理員提供支援。 例如,Microsoft 不會為嘗試將 Microsoft Exchange 伺服器從一個網域移至另一個網域的系統管理員提供支援。

警告

建議您在移動叢集之前,先對叢集中的所有共用儲存體執行完整備份。

Windows Server 2016 (含) 以前版本

在 Windows Server 2016 和較舊版本中,叢集服務沒有從一個網域移至另一個網域的功能。 這是因為對於 Active Directory 網域服務和建立的虛擬名稱的依存性增加。

選項。

為了進行此類移動,共有兩個選項。

第一個選項涉及終結叢集,並在新的網域中重建叢集。

An animation of the steps to destroy a cluster, move nodes to a new domain, and recreate the cluster in a new domain.

如動畫所示,此選項具有破壞性,步驟如下:

  1. 終結叢集。
  2. 將節點的網域成員資格變更為新網域。
  3. 在更新的網域中,將叢集重新建立為新的叢集。 這之後可能需要重新建立所有資源。

第二個選項較不具破壞性,但需要額外的硬體,因為新的叢集必須在新網域中建置。 叢集位於新網域後,請執行叢集移轉精靈來移轉資源。 叢集移轉精靈不會移轉資料,因此在新增叢集支援後需要如儲存體移轉服務等另一個工具。

An animation of the steps to create a new cluster in a new domain using the Cluster Migration Wizard, including decommissioning the old cluster.

如動畫所示,此選項不具破壞性,但需要已移除之現有叢集的不同硬體或節點。

  1. 在新網域中建立新的叢集,同時仍可使用舊的叢集。
  2. 使用 [叢集設定精靈] 將所有資源移轉至新叢集。 提醒,叢集設定精靈不會複製資料,需要分開完成複製動作。
  3. 解除或終結舊的叢集。

在這兩個選項中,新叢集都必須安裝所有叢集感知應用程式 、更新驅動程式並進行測試,以確保功能正常。 如果需要移動資料,則會增加完成此程序所需的時間。

Windows Server 2019

在 Windows Server 2019 中,我們導入了跨叢集網域移轉功能。 如先前所述,由於不再需要重建,因此可以輕鬆地執行這些案例。

從一個網域移動叢集是一個直接進行的程序,可使用兩個 PowerShell Cmdlet 完成:

  • New-ClusterNameAccount – 在 Active Directory 中建立叢集帳戶名稱

  • Remove-ClusterNameAccount – 從 Active Directory 移除叢集名稱帳戶

    注意

    Cmdlet Remove-ClusterNameAccount 可能無法成功執行。 如果您遇到問題,請依照 Windows Server 2016 和較舊版本中的步驟進行。 Microsoft 已察覺此問題。

此程序是將叢集從一個網域變更為工作群組,然後變更回新的網域。 不需要終結叢集、重建叢集或安裝應用程式。 例如:

An animation demonstrating how a cluster is migrated from the previous domain to a new domain.

將叢集移轉至新網域

在下列步驟中,叢集正從 Contoso.com 網域移至新的 Fabrikam.com 網域。 叢集名稱為 CLUSCLUS 並具有名為 FS-CLUSCLUS 的檔案伺服器角色。

  1. 在叢集中的所有伺服器上,建立具有相同名稱和密碼的本機系統管理員帳戶。 這可能需要在伺服器在網域之間移動時登入。

  2. 使用具有叢集名稱物件 (CNO)、虛擬電腦物件 (VCO) 的 Active Directory 權限的網域使用者或系統管理員帳戶登入第一部伺服器、存取叢集,然後開啟PowerShell。

  3. 請確保所有叢集網路名稱資源處於離線狀態,並執行下列命令來移除叢集可能擁有的 Active Directory 物件。

    Remove-ClusterNameAccount -Cluster CLUSCLUS -DeleteComputerObjects
    
  4. 使用 Active Directory 使用者和電腦來確保已移除與所有叢集名稱關聯的 CNO 和 VCO 電腦物件。

    注意

    停止叢集中所有伺服器上的叢集服務,並將服務啟動類型設定為 [手動],讓叢集服務在伺服器因網域變更而重新啟動時不會啟動。

    Stop-Service -Name ClusSvc
    
    Set-Service -Name ClusSvc -StartupType Manual
    
  5. 將伺服器的網域成員資格變更為工作群組、重新啟動伺服器、將伺服器加入新網域,然後再次重新啟動。

  6. 伺服器在新網域之後,請使用具有 Active Directory 權限的網域使用者或系統管理員帳戶登入伺服器來建立物件、存取叢集,以及開啟 PowerShell。 啟動叢集服務,並將叢集服務設回 [自動]。

    Start-Service -Name ClusSvc
    
    Set-Service -Name ClusSvc -StartupType Automatic
    
  7. 讓叢集名稱和所有其他叢集網路名稱資源進入上線狀態。

    Start-ClusterResource -Name "Cluster Name"
    
    Start-ClusterResource -Name FS-CLUSCLUS
    
  8. 將叢集變更為與關聯 Active Directory 物件之新網域的一部分。 下列命令會重新建立 Active Directory 中的名稱物件,而且網路名稱資源必須處於線上狀態:

    New-ClusterNameAccount -Name ClusterName -Domain NewDomainName.com -UpgradeVCOs
    

    注意

    如果您沒有任何其他群組具有網路名稱,例如只有虛擬機器的 Hyper-V 叢集,則不需要 -UpgradeVCOs 參數。

  9. 使用 Active Directory 使用者和電腦來檢查新的網域,並確保已建立關聯的電腦物件。 如果有,則讓群組中的其餘資源上線。

    Start-ClusterGroup -Name "Cluster Group"
    
    Start-ClusterGroup -Name FS-CLUSCLUS
    

已知問題

如果您使用新的 USB 見證功能,因必須使用 Kerberos 進行驗證的檔案共用見證類型的緣故,您無法將叢集新增至新的網域。 在將叢集新增至網域前,請將見證變更為 none。 完成此步驟之後,請重新建立 USB 見證。 您將會看到此錯誤:

New-ClusternameAccount : Cluster name account cannot be created. This cluster contains a file share witness with invalid permissions for a cluster of type AdministrativeAccesssPoint ActiveDirectoryAndDns. To proceed, delete the file share witness. After this you can create the cluster name account and recreate the file share witness. The new file share witness will be automatically created with valid permissions.