High Availability And Disaster Recovery

2023-04-09

在追求數位韌性的時代,先來回顧一下 IT 日常生活大家琅琅上口的 HA 以及 DR,還有備份、備援、抄寫以及容錯分別代表的意涵,最後枚舉 Microsoft 所提供的各式 Solutions 😁

logo

說明

High Availability (HA) 的目標在於最小化服務的 Downtime (停機時間),並且藉由 Redundancy (備援) 以及 Failover (容錯) 的技術來達成。

Redundancy 是以備援的系統元件,在主系統元件異常時,可以使用備援系統元件提供服務,包含硬體上 (伺服器、儲存裝置與網路) 的備援,技術的名詞包含 Cluster (叢集) 或者是 Standby (預備) Mode;軟體上則是使用 Virtualization (虛擬化)或者 Containerization (容器化) 的方式在不同的硬體上執行相同的 Application Instance (應用程式實體)。

Failover 在系統元件問題發生時,具備自動切換至備援系統元件的功能,稱為容錯移轉。在方式上包含 Active-Passive Failover,主系統元件平時負責所有的服務需求,保持主動狀態,在問題發生時才交棒給備援系統元件,平時備援系統元件保持在被動狀態。另一種方式則是 Active-Active Failover,主系統元件與備援系統元件平時就同時分擔所有的服務需求,當問題發生時由正常的系統元件繼續提供服務。

為了達成 HA 的 Redundancy 以及 Failover,會使用到 Health Checks 機制以及確保元件之間的資料與設定 synchronization (同步化)。

Disaster Recovery (DR) 的目標在於降低災難發生時資料損失的程度 (Recovery Point Object) 以及減少服務的 Downtime,並且藉由 Backup (備份) 以及 Replication (抄寫) 的技術來達成。

Backups 是將資料儲存至不同的裝置,例如磁帶、磁碟或雲端儲存空間,技術的名稱包含:

  • Full Backups (完整備份): 完整備份目前的所有資料,並作為其他備份的基礎點。
  • Differential Backups (差異備份): 備份來自於上一次完整備份後差異的資料內容。
  • Incremental Backups (增量備份): 備份來自於上一次完整備份及增量備份後差異的資料內容。
  • Log Backups (交易紀錄備份): 關聯式資料庫常見的備份方式,藉由備份對資料庫操作的紀錄來達到備份與復原資料的功能。

Backups 需要確保備份資料的安全性,例如使用加密的方式進行備份資料的保護。

Replication 是將資料以 real-time (即時) 或近乎即時的方式複製到不同的地點,在層度上分為: Database Replication, Server Replication 以及 Site Replication

Solutions

Exhaustive List High Availability or Disaster Recovery Solustions about Windows Server, SQL Server and IIS in format

High Availability Solutions

Windows Server

SQL Server

  • Always On Availability Groups
  • Failover Cluster Instances (FCI)

SQL Server High Availability 高可用性架構解決方案

SQL Server Always On Availability Group 可用性群組安裝筆記

AlwaysOn Failover Cluster Instance, FCI (SQL Server Cluster)

IIS

  • Web Farm Framework (WFF)
  • Application Request Routing (ARR)

IIS Work With Application Request Routing, ARR

Disaster Recovery Solutions

Windows Server

SQL Server

  • Database Mirroring
  • Log Shipping
  • Backup and Restore
  • Geo-Replication for Azure SQL Database

SQL Server Log Shipping

IIS

  • Backup and Restore of IIS Configuration
  • Web Deploy
  • Azure Traffic Manager