叢集將多台伺服器以單一系統影像對外服務。HA 叢集專注於故障時的服務持續性,常見形式為「雙機熱備」:
依資料同步機制分為:

三大關鍵技術:
auto_failback on 讓修復後的主節點重新接管資源。| 選項 | 核心機制 | 特點 |
|---|---|---|
| 資料複寫 | 捕獲源庫變更 → 寫入變更表 → 應用至目標庫 | 邏輯級複寫,支援異構,延遲較低 |
| 日誌傳送 | 整份交易日誌傳至備庫 → 前滾重放 | 物理級同步,RPO 接近零,備庫唯讀 |
| 暫掛 I/O (分割鏡像) | 暫停主庫 I/O → 快速分割鏡像 → 掛載備庫 | 儲存層面瞬間複製,對主庫影響極短 |

| 角色 | 主機名 | IP | 備註 |
|---|---|---|---|
| Primary | Primary | 192.168.168.131 | 主 DB2、掛載共享存儲 |
| Standby | Standby | 192.168.168.135 | 備 DB2、待命 |
| NFS Server | Nfsserver | 192.168.168.129 | 提供 /database 共享目錄 |
| Cluster VIP | - | 192.168.168.100 | 客戶端連接入口 |
心跳連線:串口 /dev/ttyS0 直連雙節點。
ping 驗證。cat < /dev/ttyS0 (Standby) 接收 echo "test" > /dev/ttyS0 (Primary)。/etc/exports 開放 /database rw,Client mount Nfsserver:/database /database。db2ha1、同實例名 db2ha1。Primary CREATE DATABASE HADB ON /database,Standby CATALOG DATABASE HADB ON /database。# 依賴套件
yum install perl-TimeDate perl-MailTools
# 安裝 RPM (依序)
rpm -ivh heartbeat-pils-* heartbeat-stonith-* heartbeat-*
# 複製範本
cp /usr/share/doc/packages/heartbeat/{ha.cf,authkeys,haresources} /etc/ha.d/
auth 1 / 1 crc,chmod 600。serial /dev/ttyS0
auto_failback on
node Primary
node Standby
use_logd yes
crm yes
Primary 192.168.168.100 Filesystem::Nfsserver:/database::/database::nfs::rw,hard db2::db2ha1
轉換為 CRM XML:haresources2cib.py。scp 複製 /etc/ha.d/* 及 /var/lib/heartbeat/crm/cib.xml。/etc/init.d/heartbeat start # 先 Primary,再 Standby
crm_mon -i5 # 監控叢集狀態

測試故障切換:停止 Primary heartbeat,觀察 VIP、NFS 掛載、DB2 服務自動移至 Standby;重啟 Primary 後資源自動回切 (auto_failback)。
INSERT INTO test VALUES('msg01','Hello Cluster')。SELECT * FROM test,資料完整呈現。
/etc/hosts 與 uname -n 一致性;關閉防火牆 service iptables stop 測試。ha.cf 改 bcast eth1。/etc/init.d/ 或 /etc/ha.d/resource.d/ 對應腳本邏輯。共享存儲雙機熱備部署簡單、成本較低,適合單機房高可用需求。非同步方案雖投資較大,但消除單點存儲風險,支援異地災備,詳細配置見第 3 章 HADR 實作。