Domain-Name-System

尋找具有自動故障轉移和角色切換功能的 DNS 託管服務提供商

  • May 30, 2011

我需要使用兩個 SQL Server 實例和鏡像設置自動故障轉移。有幾個 DNS 主機(例如 DNS Made Easy 和 Netriplex)提供自動故障轉移。它們每分鐘都在監視您的伺服器實例,如果主伺服器出現故障,則域名解析為輔助伺服器的 IP。

我的問題是,在自動故障轉移的情況下,我還需要切換伺服器角色,而我目前的 DNS 託管服務提供商 (DNS Made Easy) 不支持這一點。

換句話說:假設我有兩台數據庫伺服器 - A 和 B。A 是主伺服器,B 只是在 A 出現故障的情況下待命。當 A 宕機時,B 接管並成為新的主伺服器。當 A 恢復時,它是新的輔助伺服器,並一直待命,直到 B 發生故障。當 B 發生故障時,A 接管並再次成為主伺服器。

有沒有提供這種功能的 DNS 主機?

謝謝,

阿德里安

我不認為 DNS 是這種故障轉移的合適機制。根據我的經驗,數據庫故障轉移通常由以下方式處理:

  • A) 在不同伺服器之間遷移浮動 IP 地址的集群軟體(同時還根據需要自動監控和遷移服務),或
  • B) 一個負載均衡器,在不同的伺服器前提供一個虛擬 IP 地址(在多主節點的情況下)。

為此使用 DNS 的問題是,DNS 查找可以在最終使用者和您的伺服器之間的多個級別記憶體。因此,即使您立即更改 DNS 條目,也可能需要幾個小時才能將更改傳播給最終使用者,並且您的服務將在這段時間內關閉。

對不起,但不,你不能那樣做。

**SQL 伺服器通常不直接暴露在 Internet 上,**因此公共 DNS 和 SQL 伺服器一起是一個非常罕見的組合。因此,您將找不到任何具有 SQL Server 自動執行狀況檢查的 DNS 主機。

原則上,如果 SQL Server 可以面向 Internet,則您可以將其保護到一定程度。但即便如此; 您確定這就是您想要的嗎,您是否考慮過與 SQL Server 中的緩衝區溢出漏洞相關的所有可能的安全風險?我不知道你的架構的細節,但乍一看這個設計似乎是錯誤的。

其次, SQL Server 是一個有狀態的東西。如果主 SQL Server 在長時間執行ALTER TABLE或事務的中間崩潰,那麼備份伺服器處於什麼狀態就不清楚了。處理 SQL Server 的故障轉移通常不太可能自動化,您可能需要DBA 使伺服器恢復到一致狀態。我當然不會信任不了解我的應用程序域的外部 DNS 主機來正確處理數據庫故障轉移和數據完整性。

最後, DNS 故障轉移可能需要很長時間才能傳播。DNS 記憶體,好吧,記憶體查詢結果,即使您將 DNS TTL 設置得低,現實生活中的轉換時間也可能相當長

引用自:https://serverfault.com/questions/274960