Sql-Server

將生產 SQL Server(可用性組)從一個數據中心遷移到另一個 - 問題

  • May 28, 2018

我們在數據中心 1 (dc1) 中將兩個 SQL 伺服器合併到可用性組中:

dc1 server 1: SQL Server 2012 SP3 on Windows Server 2016 
dc1 server 2: SQL Server 2012 SP3 on Windows Server 2012 R2

和 Azure 中的非同步副本

azure server 3: SQL Server 2012 SP4 on Windows Server 2012 R2

我們有一個新的數據中心 (dc2),我們需要將生產 SQL 可用性組遷移到

The end goal is to have two SQL Server 2017 machines 
(server 4 and server 5)  in new data center (dc2) on Windows Servers 2016, combined in AG

成功遷移到dc2後(伺服器4,dc1中的伺服器1和伺服器2將被放棄,生產db切換為伺服器4和5後,我們不需要將伺服器1和2作為副本保留在AG中

我們有以下問題:

  1. 如果將伺服器 4 和伺服器 5 部署在 dc2 作為 SQL Server 2017,並將它們作為輔助伺服器添加到現有的 AG 中,儘管 SQL Server 和 Windows 版本不同,它們是否會與主伺服器(伺服器 1)保持同步而沒有任何問題?
  2. 將伺服器 4 和伺服器 5 添加到 AG,然後手動故障轉移到伺服器 4 成為新的主伺服器(當我們準備切換應用程序以使用伺服器 4/偵聽器新 IP 作為生產時)工作正常嗎?然後伺服器 4 和伺服器 5 將同步,伺服器 1、2 和 3 將中斷並停止同步?我的理解正確嗎?
  3. 在停機時間短的情況下,將生產從 dc1 遷移到 dc2 是否有更好的選擇?
  4. 可以將伺服器 4 和伺服器 5 部署為 dc2 中的虛擬機嗎?還是買專用的物理機更好?我們希望將來從伺服器 4 到伺服器 5 的潛在自動故障轉移能夠完美執行。虛擬化 SQL Server 是否會引入自動故障轉移功能的潛在問題?

(作為主要問題的一部分,您有很多子問題..將直接回答您的問題…)

如果將伺服器 4 和伺服器 5 部署在 dc2 作為 SQL Server 2017,並將它們作為輔助伺服器添加到現有的 AG 中,儘管 SQL Server 和 Windows 版本不同,它們是否會與主伺服器(伺服器 1)保持同步而沒有任何問題?

是的,他們會……但是你會限制副本的數量 - 與自動故障轉移同步:

SQL Server 2012 AG 限制:1 個主副本,4 個輔助副本,其中 2 個副本可以是同步的。

所以實際上,如果您要在目前拓撲中添加額外的副本,您將只能添加 1 台伺服器(DC1 中有 2 台、1 台雲和 DC2 中有 1 台(伺服器 45) - 這將生成 4 個副本這是最大值)。

然後,您可以在 DC2 中預先準備伺服器 5 以進行登錄。因此,當您切換到伺服器 4 時,您可以輕鬆地將伺服器 5 dbs 加入 AOAG,而無需對數據庫進行完整和日誌備份。

將伺服器 4 和伺服器 5 添加到 AG,然後手動故障轉移到伺服器 4 成為新的主伺服器(當我們準備切換應用程序以使用伺服器 4/偵聽器新 IP 作為生產時)工作正常嗎?然後伺服器 4 和伺服器 5 將同步,伺服器 1、2 和 3 將中斷並停止同步?我的理解正確嗎?

請參閱我的答案 1。一旦故障轉移到 2017,您將無法切換回 2012。請記住,如果偵聽器將具有相同的舊 IP。您可以在技術上添加第二個偵聽器(作為客戶端訪問點),並且您的 AG 對這兩個偵聽器具有 OR 依賴關係。這樣,一旦你解散了你的老聽眾,你的 AG 就不會下線。

在停機時間短的情況下,將生產從 dc1 遷移到 dc2 是否有更好的選擇?

您應該探索在 DC1 和 DC2 之間設置鏡像,將 AlwaysON 位分開。這樣,您只需從 DC1 切換到 DC2 並將您的應用程序指向 DC2 中的新偵聽器。由於 DC1 和 DC2 都是解耦的,並且故障轉移和故障恢復(指向舊的 DC1)將更易於管理,因此這將更加直接且易於回滾。

這也是一次升級(2012 –> 2017)。我在這裡的答案中寫了非常詳細的步驟。

可以將伺服器 4 和伺服器 5 部署為 dc2 中的虛擬機嗎?還是買專用的物理機更好?我們希望將來從伺服器 4 到伺服器 5 的潛在自動故障轉移能夠完美執行。虛擬化 SQL Server 是否會引入自動故障轉移功能的潛在問題?

我強烈建議進行1-1比賽。如果舊伺服器是物理伺服器,請使用具有相同或更多資源(CPU、RAM 和磁碟(匹配掛載點、文件夾佈局等))的物理伺服器。物理與虛擬是一場完全不同的辯論,涉及許多方面,它不適合目前的問題範圍。

***注意:***如果您仍有疑問,我強烈建議您聘請專業人士,因為如果您不進行試執行端到端遷移測試,您可能會遇到問題。

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