Sql-Server

從舊的 AlwaysOn 可用性組遷移到新的 AG 集群但保留 IP 地址

  • January 20, 2022

我們希望將伺服器 2012R2 上的 SQL Server 2012 遷移到伺服器 2016 上的 SQL Server 2019 並保留 IP 地址但更改主機名。

我無法從應用程式碼中更改偵聽器的名稱和 IP 地址。我們有 10 TB 的數據。我們一直在使用單個可用性組。

現在的情況 :

LISTENER : SQLLSN : 10.10.12.12

SQL_OLD1 - 10.10.12.2
SQL_OLD2 - 10.10.12.3
SQL_OLD3 - 10.10.12.4


Windows Server 2016 - SQL Server 2019

SQL_NEW1 - 10.10.12.5
SQL_NEW2 - 10.10.12.6
SQL_NEW3 - 10.10.12.7

遷移後:

LISTENER : SQLLSN : 10.10.12.12

SQL_NEW1 - 10.10.12.2
SQL_NEW2 - 10.10.12.3
SQL_NEW3 - 10.10.12.4

任何資訊和建議將不勝感激。

由於它們都在同一個子網中,因此當您切換時,只需從舊集群中刪除 AG 偵聽器,並將具有相同名稱和 IP 的偵聽器添加到新集群。

無需更改新節點的 IP 地址以匹配舊伺服器的 IP 地址。應用程序應僅連接到 AG 偵聽器 IP。

所以你最終得到:

LISTENER : SQLLSN : 10.10.12.12

SQL_NEW1 - 10.10.12.5
SQL_NEW2 - 10.10.12.6
SQL_NEW3 - 10.10.12.7

由於評論中沒有格式,我將計劃粘貼在這裡:

首先將一個新 sql 加入集群並使其完全同步,然後我將刪除一個舊節點以使其具有這樣的效果:

  • SQL_OLD1 - 主要
  • SQL_OLD2
  • SQL_NEW1

然後加入第二個新的並使其同步:

  • SQL_OLD1 - 主要
  • SQL_OLD2
  • SQL_NEW1
  • SQL_NEW2

此時,您可以將故障轉移到新節點之一當故障轉移完成後,刪除舊 sql 之一:

  • SQL_OLD1
  • SQL_NEW1 - 主要
  • SQL_NEW2

加入最後一個新的 sql server 並刪除舊的

  • SQL_NEW1 - 主要
  • SQL_NEW2
  • SQL_NEW3

僅此而已。

您也可以一次添加所有節點,但複製時會產生不必要的成本。所以這就是為什麼我會參加這次更長的旅行。

希望對你有幫助

引用自:https://dba.stackexchange.com/questions/306276