全部產品
Search
文件中心

ApsaraDB RDS:自動或手動主備切換

更新時間:Oct 18, 2024

RDS SQL Server支援高可用主備切換功能。當主執行個體發生故障或不可用時(例如作業系統錯誤、硬體故障等),系統會自動觸發主備切換,主執行個體和備執行個體將進行互換,切換後執行個體地址保持不變,應用程式會自動連接到新的主執行個體(原備執行個體),從而保障業務的連續性和高可用性。此外,您還可以手動切換主備執行個體,應對系統升級、維護或故障排查等情況。

前提條件

執行個體系列為高可用系列或叢集系列。

說明
  • 叢集系列執行個體只支援自動切換,不支援手動切換。叢集系列執行個體未直接開放手動主備切換功能,如有需求,請聯絡阿里雲技術支援人員。

  • 基礎系列執行個體、SQL Server唯讀執行個體採用單節點架構,沒有備節點,因此不涉及主備執行個體的切換。

功能介紹

  • 自動切換:執行個體預設開啟自動切換,當主執行個體出現故障無法訪問時,會自動切換到備執行個體。主備切換的觸發時機,請參見主備切換原因

  • 手動切換:即使自動切換是開啟狀態,您也可以手動進行主備切換。手動切換可用於容災演練或多可用性區域情境下的就近串連等需求。

說明

主備執行個體的資料會即時同步,您只能訪問主執行個體,備執行個體僅作為備份形式存在,不提供業務訪問。

功能限制

Serverless執行個體不支援手動切換主備。系統會在Serverless執行個體出現故障無法訪問時,自動切換主備。

注意事項

SQL Server的主備同步機制可以保證使用者資料庫的全量同步,但不對ALTER LOGIN配置進行全量同步。當前僅支援對ALTER LOGIN中的SIDlogin_name以及password參數進行同步,其他參數取系統預設值。更多資訊,請參見ALTER LOGIN (Transact-SQL)

影響

  • 主備執行個體切換過程中通常會出現不超過30秒的服務不可用,請確保您的應用程式具有自動重連機制。

    如果您的應用程式使用的是較早版本的Druid組件進行資料庫連接管理,可能會遇到資料庫連接斷開後不會自動重連恢複的問題,建議您將Druid升級到1.1.16或之後版本,以避免此問題。

  • 如果執行個體下掛載有隻讀執行個體,那麼主備執行個體切換後,唯讀執行個體的資料會有幾分鐘的延遲,因為需要重建複製鏈路、同步增量資料等。

  • 主備切換不會導致執行個體串連地址變更,但後台對應的IP地址可能會變化。使用執行個體串連地址時,主備切換不會對您的應用正常運行造成影響。更多詳情,請參見如何查看或修改串連地址和連接埠

  • 當執行個體發生故障時,切換時間可能會延長。

影響

  • 主備執行個體切換過程中通常會出現不超過30秒的服務不可用,請確保您的應用程式具有自動重連機制。

    如果您的應用程式使用的是較早版本的Druid組件進行資料庫連接管理,可能會遇到資料庫連接斷開後不會自動重連恢複的問題,建議您將Druid升級到1.1.16或之後版本,以避免此問題。

  • 如果執行個體下掛載有隻讀執行個體,那麼主備執行個體切換後,唯讀執行個體的資料會有幾分鐘的延遲,因為需要重建複製鏈路、同步增量資料等。

  • 主備切換不會導致執行個體串連地址變更,但後台對應的IP地址可能會變化。使用執行個體串連地址時,主備切換不會對您的應用正常運行造成影響。

  • 當執行個體發生故障時,切換時間可能會延長。

手動切換主備執行個體

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,選擇服務可用工時

  3. 實例可用工時地區,單擊主備庫切換

  4. 選擇切換時間,然後單擊確定

    說明

    在主備執行個體切換期間,有很多操作無法執行,例如管理資料庫和帳號、切換網路類型等,建議您選擇在設定時間內切換當前設定

臨時關閉主備自動切換

使用情境

自動切換預設為開啟,主執行個體出現故障會自動切換到備執行個體,在遇到如下情形時您可以選擇臨時關閉主備自動切換:

  • 大促活動等,不希望主備切換影響系統可用性。

  • 重要應用系統升級等,不希望主備切換引入其他變數。

  • 重大事件或者穩定保障期,不希望主備切換影響系統穩定性。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,選擇服務可用工時

  3. 實例可用工時地區,單擊自動切換主備

    說明

    如果看不到自動切換主備按鈕,請再次確認本文的前提條件。

  4. 選擇臨時關閉,並設定臨時關閉截止時間,然後單擊確定

    說明
    • 到達臨時關閉截止時間後,執行個體恢複為自動進行主備切換。

    • 預設為臨時關閉1天,最長可設定為7天后的23:59:59。

設定完畢後,您可以在服務可用工時頁面查看臨時關閉主備自動切換的截止時間。

查看主備切換日誌

說明

僅SQL Server 2008 R2(本地SSD盤)執行個體支援查看主備切換日誌。

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中,選擇服務可用工時

  3. 主備切換日誌地區,調整查詢時間範圍,查看主備切換日誌。

    image.png

常見問題

  • Q:主備切換後,是否需要手動切換回主執行個體?

    A:不需要,主備執行個體的資料完全一致,主備切換後原備執行個體被選舉成為新的主執行個體,無需進行額外操作。

  • Q:主備切換後,超過十分鐘,執行個體狀態仍未恢複運行中,可能是什麼原因?如何處理?

    A:RDS在發生異常觸發高可用切換時,應用端長串連可能無法感知到串連狀態變化,如果沒有設定socket逾時時間,應用程式會一直等待資料庫返回結果,通常會等到幾百秒後才會斷連,期間資料庫的部分串連無法正常工作,SQL會出現大量執行異常。為了避免無效串連,建議配置connectTimeoutsocketTimeout,防止出現網路錯誤時一直等待的情況,從而縮短故障時間。

    逾時配置值需要根據業務負載和使用方式進行評估,線上事務情境中建議connectTimeout配置為1~2秒,socketTimeout配置為60~90秒,此配置僅供參考。

相關API

API

描述

切換主備執行個體

切換RDS主備執行個體。

設定主備自動切換

開啟或關閉RDS執行個體主備自動切換。

查詢主備切換設定

查看RDS執行個體主備自動切換設定。