High Availability And Disaster Recovery
2023-04-09
在追求數位韌性的時代,先來回顧一下 IT 日常生活大家琅琅上口的 HA 以及 DR,還有備份、備援、抄寫以及容錯分別代表的意涵,最後枚舉 Microsoft 所提供的各式 Solutions 😁
說明
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
- Failover Clustering
- Network Load Balancing (NLB)
- Hyper-V Replica
- Storage Replica
- Scale-Out File Server
- Storage Spaces Direct (S2D)
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
- Backup and Restore
- Hyper-V Replica
- Storage Replica
- Azure Site Recovery
SQL Server
- Database Mirroring
- Log Shipping
- Backup and Restore
- Geo-Replication for Azure SQL Database
IIS
- Backup and Restore of IIS Configuration
- Web Deploy
- Azure Traffic Manager