๐ง Proxmox VE ้ซๅฏ็จ(HA)ๆถๆงๅฎๆดๆๅ:Quorum、Fencing、Corosync、Failover ๆทฑๅ ฅ่งฃๆ
Proxmox VE(PVE)ๆไพไผๆฅญ็ด็้ซๅฏ็จ(High Availability, HA)ๅ่ฝ,ๅฏ็ขบไฟ็ถๆไธ็ฏ้ปๆ ้ๆ,่ๆฌๆฉๆๅฎนๅจ่ฝ่ชๅๅๆๅฐๅ ถไป็ฏ้ป็นผ็บ้ไฝ。 ๆฌๆๅๅฐๅพๆถๆง、้่จ、ๆ ้ๅตๆธฌ、Quorum ่จ็ฎ、Fencing、Failover ๆฉๅถ,ไธๆฌกๅฎๆดๆทฑๅ ฅ่งฃๆ。
ๆญค็ฏๆฏไผๆฅญ็ด HA ๅปบ็ฝฎ็ๅฎๆดๆๅญธ,ๆถต่: Corosync、Quorum、HA Manager、Fencing、Watchdog、Failover Logic、ๅข้ๅปบ่ญฐๆถๆง่ๅธธ่ฆ่ชคๅ。
๐ ไธ、Proxmox HA ๆถๆง็ธฝ่ฆฝ
PVE HA ๆถๆง็ฑไธๅๅๅคงๆ ธๅฟ็ตๆ:
| ๅ ไปถ | ๅ่ฝ |
|---|---|
| Corosync | ๅข้้่จ、็ฏ้ป็ๆ ๅๆญฅ、Quorum ่จ็ฎ |
| pve-ha-manager | HA ็ฎก็ๅจ,ๆฑบๅฎ Failover ๅไฝ |
| Watchdog | ่ชๅ้ๅๆญปๆ็็ฏ้ป,้ฟๅ ่ ฆ่ฃ(Split Brain) |
| Fencing | ๅผทๅถ้้ข็ฐๅธธ็ฏ้ป็ขบไฟ่ณๆไธ่ดๆง |
้ไบๅ ไปถๅฝขๆ「ๅคๆท → ้้ข → ็งป่ฝ → ้ๅ」็ HA ๅทฅไฝๆต็จ。
๐ ไบ、Corosync:PVE Cluster ็ๆ ธๅฟ
Corosync ๆไพไปฅไธๅ่ฝ:
- ๐ ๅข้็ฏ้ป้็ๅฟ่ทณ้่จ(Heartbeat)
- ๐ก ็ๆ ๅๆญฅ(Membership)
- ๐งฎ Quorum ๆ็ฅจ่จ็ฎ
ๆฅ็ Corosync ็ๆ :
pvecm status
่ผธๅบ็ฏไพ:
Quorum information
------------------
Date: Sun Dec 7
Quorum provider: corosync_votequorum
Ring ID: 1/224
Nodes: 3
Node ID: 0x00000002
Ring members: 0x00000001 0x00000002 0x00000003
่ณๅฐ้่ฆไธๅ็ฏ้ปๆๅฏๅฝขๆ็ๆญฃ็ฉฉๅฎ็ Quorum。
๐ ไธ、Quorum ่จ็ฎ:ๅข้ๆฏๅฆๅฏๆ็บ้ไฝ็้้ต
Quorum(ๆณๅฎ็ฅจๆธ)ๆฑบๅฎๅข้ๆฏๅฆๆๆฌ้ฒ่ก HA ๅไฝ:
| ็ฏ้ปๆธ | ้่ฆ็ Quorum |
|---|---|
| 3 | 2 |
| 4 | 3 |
| 5 | 3 |
ๅฆๆ Quorum ไธ่ถณ:
- ๅข้็กๆณ็งป่ฝ VM
- HA ๅๆญข้ไฝ
- ้ฟๅ Split Brain ๆ,ๆๆๅญๆพๆผๅ ฑไบซๅฒๅญ็ VM ้ฝๆๆซๅๆไฝ
ๆ้่ฆ่งๅฟต: ❗ **ๅ ฉ็ฏ้ปๅข้็กๆณ่ช็ถๅฝขๆ Quorum,้่ฆ็ฌฌไธๅ Vote(QDevice ๆ Witness)。**
๐ ๅ、Fencing(้้ขๆฉๅถ):้ฟๅ Split Brain ็็ตๅฐๅฟ ่ฆๅ่ฝ
Fencing ็จๆผ「ๅผทๅถ้้ขๅทฒๅคฑๅป้่จไฝ้ๅจ้ไฝ็็ฏ้ป」。 ็ผบๅฐ Fencing ็ๅข้ๅฏ่ฝๆ้ ๆ:
- ๅ ฉๅ็ฏ้ปๅๆๅท่ก VM(Split Brain)
- ่ณๆๆฏๆ(็นๅฅๆฏ Ceph / ZFS)
- Failover ็กๆณๅคๆท็ๅฏฆ็ๆณ
๐ฆ PVE ไฝฟ็จ Watchdog ไฝ็บ้ ่จญ Fencing
lsmod | grep -i watchdog
Watchdog ็ฑ Kernel ่งธ็ผ,็ถ็ฏ้ป็กๆณๅๆๆๆๅผทๅถ Reboot, ็ขบไฟ่ฉฒ็ฏ้ปไธๆ่ๅข้ๅ ถไป็ฏ้ป็ซถ็ญ่ณๆบ。
้่ฆๆ้: ๐ ่ฅ BIOS ๆ Watchdog ่จญๅฎ,ๅๅฟ ๅ็จ。
๐ ไบ、HA Manager(pve-ha-manager)่ก็บ้่ผฏ
PVE HA ็ๅคๆทๆต็จๅฆไธ:
- Corosync ๅตๆธฌ็ฏ้ปๅคฑ่ฏ
- ๆชขๆฅ Quorum ๆฏๅฆๆๆ
- ็ฑ Watchdog Fencing ๅฐ่ฉฒ็ฏ้ป้ๅ(้้ข)
- HA Manager ๆฑบๅฎ VM ๆฏๅฆ้่ฆ็งป่ฝ
- ๆผๅ ถๅฎ็ฏ้ป้ๆฐๅๅ VM
๐ฉ ๆฅ็ HA ่ณๆบ
ha-manager status
VM ่จญๅฎ็บ HA:
ha-manager add vm:101
๐ ๅ ญ、Failover ๅฆไฝ้ไฝ?(ๅฎๆดๆต็จ)
1. ็ฏ้ป A ๆๆ → ๅฟ่ทณไธญๆท
Corosync ๆจ่จ็ฏ้ป A ็บ offline。
2. Watchdog ้ฒ่ก Fencing
ๅผทๅถ้ๅ A,้ฟๅ Split Brain。
3. HA Manager ๅท่ก็งป่ฝ
ๆชขๆฅ:
- ๆฏๅฆๆ Quorum
- ้ฃๅ็ฏ้ปๆ้ฉๅๆฅๆ(CPU、RAM、HA Group)
4. VM ่ชๅๆผ็ฏ้ป B ๆ C ๅๅ
Failover ่ๆไพ VM ็ Disk ๅๅๆ้่ๅฎ。
๐ ไธ、HA Group:ๆงๅถ VM ่ขซๅ้ ๅฐๅชไบ็ฏ้ป
ๅปบ็ซ HA Group
ha-manager groupadd prodgroup --nodes pve01,pve02,pve03 --restricted=0
ๅ ๅ ฅ VM:
ha-manager set vm:101 --group prodgroup
- restricted=1:VM ๅ ่ฝๅจ group ๆๅฎ็ฏ้ป้ไฝ
- restricted=0:VM ๅฏๅจไปปๆ็ฏ้ปๆฅ็ฎก
๐ ๅ ซ、ไผๆฅญๅปบ่ญฐๆถๆง(ๅฟ ็)
๐ฉ 1. ไธ็ฏ้ปๅข้(ๆๆจๆบ)
- PVE x 3
- ๅ ฑไบซๅฒๅญ(Ceph / ZFS / NFS)
- ้็ถฒๅก:Management + Corosync
⚠️ ไธๅปบ่ญฐๆ Corosync ๆพๅจ่ VM ๅ็ถฒๆฎต。
๐ฆ 2. ไบ็ฏ้ปๅข้(ไผๆฅญ็ด)
- ๆด้ซ Quorum ็ฉฉๅฎๅบฆ
- ๆดๅฅฝ็ HA ๅๆฃ่ๆ่ฝ
๐ฅ 3. ๅ ฉ็ฏ้ปๅข้(้ขจ้ช้ซ,้ QDevice)
ๅ ฉ็ฏ้ปๅฟ ้ ๅ QDevice(็ฌฌไธ็ฅจ)ๆ่ฝ้ฟๅ Split Brain。
๐ ไน、ๅธธ่ฆ้ฏ่ชค่้ท้ฑ(้ๅธธ้่ฆ)
❌ ้ฏ่ชค 1:ๅ ฉ็ฏ้ป็ก QDevice ๅฐฑ็ดๆฅไธ็ท
้ๆฏๆๆ Split Brain ๅ้ก็ๆ นๆบ。
❌ ้ฏ่ชค 2:้้ Watchdog(Fencing)
ๆ่ฎๅข้็กๆณๆญฃ็ขบ Failover。
❌ ้ฏ่ชค 3:Corosync ็จไธ่ฌ LAN(ๅปถ้ฒไธ็ฉฉ)
ๅปบ่ญฐไฝฟ็จ็จ็ซ็ๅฟ่ทณ็ถฒๆฎต。
❌ ้ฏ่ชค 4:ๅ ฑไบซๅฒๅญๆ่ฝไธ่ถณ,Failover ่ถ ๆ ข
HA Flow ๆๆๅๆฑบๆผๅฒๅญ I/O。
๐ ๅ、็ต่ช:Proxmox HA ๆฏไผๆฅญๅฏ้ ๆถๆง็ๆ ธๅฟ
Proxmox ็ HA ๆถๆงไธๅ ็ฐกๆฝๆ็จ,ไน็ดๆฅๆก็จไผๆฅญ็ดๅข้ๆ่ก(Corosync + Fencing)。 ๅช่ฆๆญฃ็ขบ่ฆๅ็ถฒ่ทฏ、Quorum、Watchdog ่ๅ ฑไบซๅฒๅญ,ๅฐฑ่ฝๅปบ็ฝฎ็ฉฉๅฎๅฏ้ ็่ๆฌๅๅนณๅฐ。
ๅพ็บๅฆ้ๆดๆทฑๅ ฅ็ๅฏฆไฝ: ไบ็ฏ้ป HA、Ceph HA、้ Corosync ็ถฒ่ทฏ、QDevice ้ ็ฝฎ、้้ขๆธฌ่ฉฆ ไน่ฝๅๅฉๆฐๅฏซๅฎๆด้ฒ้็ฏ。
๐ ๅปถไผธ้ฑ่ฎ
- ๐ฆ Proxmox ZFS vs LVM-Thin ๅฒๅญๆฏ่ผ
- ๐ Proxmox VE ็ถฒ่ทฏๆถๆงๅฎๆดๆๅ
- ๐ Linux Log / SIEM / Fail2Ban ๆดๅๆๅ
๐ฌ ๆญก่ฟๅจไธๆน็่จไบคๆต!
ไฝ ๅจๅปบ็ฝฎ PVE Cluster ๆ HA ๆ้ๅฐไป้บผๆๆฐ?ๆญก่ฟ็่จ,ๆๆๅๅฉไฝ ไธ่ตทๅๆ!
— WWFandy・Proxmox Cluster ๆ่ก็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ