SQL Server High Availability 高可用性架構解決方案
2020-12-19
筆記 SQL Server 高可用性架構解決方案以及相關技術名詞,包含可用性群組、容錯移轉叢集以及資料庫鏡像與交易紀錄傳送等各種方式介紹與比較 🧣
Technology terms
RTO, Recovery Time Objective
災難復原時,至可提供服務狀態所需要的時間
RPO, Recovery Point Objective
災難復原時,損失的資料量
WRT, Work Recovery Time
從 RTO 完成提供之可服務狀態至完全恢復至災難前的狀態所需時間,包含了 WorkBacklog 以及 Lost Data 的復原作業
WSFC, Windows Server Failover Cluster
Failover Cluster 或稱為 容錯移轉叢集是由各叢集伺服器 (Node) 經由實體纜線及軟體所連接,形成一個當其中節點失效後,其他接點接續失效節點服務的容錯機制,同時此機制是建立於伺服器的作業系統層級。
WSFC 也是高可用性架構的前提,不論是使用 HA Solution 中的 FCI 或者 AG 都必須仰賴 WSFC 來進行。
CSV, Cluster Shared Volumes
CSV 或稱叢集共用磁碟區,可讓容錯移轉叢集中的多節點,同時對 NTFS 磁碟區相同 LUN 具有讀寫權限。因此叢集角色可在 Node 間快速容錯移並助於簡化容錯移轉 LUN 管理問題。
Failover Clustering in Windows Server
HA Solution
Business continuity and database recovery - SQL Server
Always On SQL Server Failover Cluster Instance (FCI)
可用性的範疇為資料庫執行個體,在 Storage 上必須藉由 SAN 或者 SMB 讓不同的 Instance 共享。當錯誤發生時,由其他的節點接續存取相同的 Storage 提供服務。
Always On SQL Server Always On Availability Group (AG)
可用性群組的範疇為資料庫本身,Storage 則取決於各 Node 的方式,各 Node 各自保有專門的複本,因此在可用性上是利用抄寫的方式讓各節點達到內容的一致。當錯誤發生時,主動移轉到其他節點,鏡像技術的接班者。
Database Mirror 鏡像
分為高可用模式、高保護模式以及高效率模式,其中高可用模式可以作為 HA Solution,在高可用模式需要額外的鏡像見證伺服器 (Mirror Witness) 來自動容錯移轉,未來可能會被 AG 取代,不在受支援。
Mode | Description |
---|---|
高可用 | 資料不會遺失,需要鏡像見證,自動進行容錯移轉 |
高保護 | 資料不會遺失,不需要鏡像見證,需要手動進行容錯移轉 |
高效率 | 資料可能發生遺失 |
Log Shipping
藉由將交易紀錄檔以固定間隔時間的方式傳送到備用的資料庫伺服器,無法作為 HA Solution,但可以輔助作為 DR 或者資料庫 Snapshot 的技術。
Always On solutionComparision
Solutions | Pros | Cons | Scenario |
---|---|---|---|
FCI | Instance Level | ||
AG | |||
Mirror |
參考資料
Windows Server Failover Clustering with SQL Server
Failover Clustering and Always On Availability Groups (SQL Server)
What is an Always On availability group
Always On availability groups: a high-availability and disaster-recovery solution