- Mục tiêu
Triển khai hệ thống ảo hóa Proxmox VE với:
02 Host Proxmox
01 QDevice (Witness)
01 time server
Local Storage sử dụng ZFS Mirror
ZFS Replication
High Availability (HA)
Tự động Failover VM khi Host gặp sự cố
Mô hình phù hợp cho doanh nghiệp SMB cần tính sẵn sàng cao với chi phí thấp. - Kiến trúc hệ thống
2.1. Nguyên lý hoạt động
Table Of Content
a. HA – FailOver
- Các VM được tạo trên node1 và lưu trữ tại Local_stoarge của node1
- Các file vm sẽ được snapshot và đồng bộ (Replication) sang Local_stoarge của node2, ta cấu hình đồng bộ theo chu kỳ (VD: 15 phut/ lần), lần đầu snapshot full, các lần tiếp theo chỉ đồng bộ những dữ liệu mới sang node2
=> node2 đã có sẵn các file VM - Trong cluster gồm có : node1 + node2 + witness
- Ở trạng thái bình thường: node1 + node2 + witness tạo ra 3 phiếu bầu
- Cluster chỉ hoạt động được khi có từ 2 phiếu bầu trở lên
- Khi node1 chết chỉ còn node2 + witness, lúc này sẽ còn phiếu bầu
- Do node2 có tính năng run VM do đó cluster sẽ quyết đinh Run các VM trên node2, cụ thể là các file VM có sẵn trê node2 được bật lên
- Dữ liệu sẽ được tiếp tục chạy theo trạng thái của file VM trên node2 kể từ lần cuối cùng được đồng bộ
- Cuối cùng các VM được hoạt động trở lại trên node2.
b. HA – FailBack
- Khi node1 được khôi phục
- Trong bài LAB này, không cấu hình tự động các VM quay lại bật trên node1, node1 khôi phục. Các vm vẫn run trên node2
- Ta cần migration thủ công các vm từ node2 vê node1, các file VM sẽ được ghi đè từ file vm tại node2 sang node1
- Dữ liệu sẽ được tiếp tục chạy theo trạng thái cuối cùng của VM trên node2
2.2 Phần cứng
- Node1: Server Dell 730XL – 40 x Intel(R) Xeon(R) CPU E5-2640 v4 @ 2.40GHz (2 Sockets) – Ram 32Gb – SSD 120Gb – 2x HDD SAS 300GB
- Node2: Server superMicro – 8 x Intel(R) Xeon(R) CPU E3-1285 v3 @ 3.60GHz (1 Socket) – RAM 16Gb – SSD 256Gb – SSD 120Gb
- Witness: VM – CPU 4Core – Ram 4G – HDD 30Gb
- Timeserver: VM – CPU 4Core – Ram 4G – HDD 30Gb
- Một vài hình ảnh về phần cứng

2.3. Thành phần
PVE1
- • Management IP: 10.19.10.21
• Replication IP: 10.19.12.21
PVE2
- • Management IP: 10.19.10.22
• Replication IP: 10.19.12.22
QDevice (Witness)
- • IP: 10.19.10.20
• Hệ điều hành: Ubuntu Server
Timeserver
- • IP: 10.19.10.233
• Hệ điều hành: Ubuntu Server
2.3. Thiết kế mạng và lưu trữ
a.Mạng Management + Corosync
- Subnet:10.19.10.0/24
Chức Năng:
-
Quản trị Web GUI
SSH
- Corosync
- Kết nối tới QDevice
PVE1:10.19.10.21
PVE2:10.19.10.22
Witness: 10.19.10.20
Timeserver: 10.19.10.233
b.Mạng Replication + Migration
Subnet:10.19.12.0/24
Chức năng:
ZFS Replication
Live Migration
PVE1:10.19.12.31
PVE2:10.19.12.32
c.Thiết kế Storage
Disk 1: Cài Proxmox VE
Disk 2 + Disk 3: ZFS Mirror – là datastorage
2.4. Nguyên lý hoạt động
– Các máy VM sẽ được triển khai trên Node1 hoặc Node2
– File VM sẽ được lưu trữ tại Local_ZFS của mỗi node
-
– Mỗi VM
Cấu hình HA:
node1:main – node2: BK – Witness
node1:BK – node2: main – Witness
Cấu hình Replication: file VM từ NODE_main sẽ được snaphsot và đồng bộ lên node_BK theo chu kỳ mà ta cấu hình
– Cơ chế HA dựa theo cơ chê phiếu bầu
Node_main: 1 phiếu
Node_BK: 1 phiếu
Witness: 1phiếu
Bình thường VM chạy trên Node_main
Khi có sự cố Node_main chết thì còn lại 2 phiêu bầu node_bk và Witness: khi ấy witness sẽ chỉ định node_BK run file VM đang có trên Local_ZFS
Chú ý: do file VM được đồng bộ theo khoảng thời gian nên file VM đc đồng bộ sẽ không đầy đủ dữ liệu như VM đang chạy trên Node_main, do đó ta ssẽ mất khoảng dữ liệu chưa được đồng bộ khi Node_main chết.



2 node này chạy trên cùng 1host hay các host khác nhau anh nhỉ?