🔍 Tổng quan
Trong môi trường virtual hóa với Proxmox VE (PVE), việc triển khai Cluster cho phép bạn quản lý đồng thời nhiều server vật lý để tăng tính sẵn sàng và khả năng mở rộng của hệ thống. Tuy nhiên, sẽ có lúc bạn cần gỡ bỏ một node ra khỏi cluster vì nhiều lý do: nâng cấp phần cứng, thay đổi kiến trúc hệ thống, hoặc đơn giản là tái cấu trúc hạ tầng.

Việc gỡ bỏ node ra khỏi cluster Proxmox VE không thể thực hiện một cách tùy tiện. Nếu làm sai quy trình, bạn có thể gây ra lỗi nghiêm trọng về quorum, corosync, làm cluster bị treo, không start được máy ảo, hoặc hiển thị sai trên WebGUI.
Bài viết này sẽ hướng dẫn bạn cách loại bỏ một node ra khỏi Proxmox Cluster một cách chính xác, an toàn và sạch sẽ, phù hợp với phiên bản Proxmox VE từ 6 trở lên.
✅ Ưu điểm khi gỡ đúng cách
- Tránh làm hỏng cấu trúc cluster hoặc mất quorum.
- Giữ nguyên trạng thái ổn định cho các node còn lại.
- Đảm bảo node cũ có thể tái sử dụng hoặc join vào cluster khác.
- Tránh lỗi hiển thị node “ma” trên WebGUI.
❌ Nhược điểm (nếu làm sai quy trình)
- Cluster mất quorum → không start được VM/LXC.
- Node bị xóa không thể join lại cluster.
- Node vẫn xuất hiện trên interface WebGUI.
- Mất dữ liệu nếu chưa migrate/sao lưu đúng cách.
🔄 So sánh: Gỡ thủ công vs Gỡ đúng quy trình
Tiêu chí | Gỡ thủ công (sai cách) | Gỡ theo quy trình chuẩn |
---|---|---|
Quản lý WebGUI | Vẫn thấy node cũ (ghost) | Interface sạch sẽ, đúng thực tế |
Quorum Cluster | Có thể bị mất | Đảm bảo duy trì quorum |
Khả năng tái sử dụng | Có thể lỗi khi join lại | Có thể tái gia nhập hoặc dùng độc lập |
An toàn dữ liệu | Dễ mất VM/container | Dữ liệu được migrate/sao lưu đầy đủ |
🧭 Quy trình gỡ node ra khỏi Proxmox Cluster (Chuẩn)
🚩 Giả định ban đầu:
- Cluster có 3 node:
pve01
,pve02
,pve03
- Bạn muốn gỡ node
pve03
ra khỏi cluster.
✅ Bước 1: Chuẩn bị trước khi xóa
Trên node pve03
:
- Dừng tất cả các VM và LXC.
- Migrate các VM quan trọng sang các node khác.
# Trên WebGUI hoặc shell:
qm migrate <vmid> pve01
pct migrate <vmid> pve01
Sao lưu dữ liệu nếu cần:
vzdump <vmid> --dumpdir /mnt/backup
✅ Bước 2: Ngắt kết nối node khỏi cluster
Trên node pve03
:
systemctl stop pve-cluster
systemctl stop corosync
pmxcfs -l
📝 pmxcfs -l
chuyển cluster file system về chế độ local — rất quan trọng khi node bị gỡ.
✅ Bước 3: Xóa cấu hình cluster trên node pve03
rm /etc/pve/corosync.conf
rm -r /etc/corosync/
killall pmxcfs
systemctl start pve-cluster
✅ Bước 4: Gỡ node khỏi cluster từ một node khác
Trên node pve01
hoặc pve02
(không phải node vừa tách):
pvecm delnode pve03
✅ Bước 5: Kiểm tra lại trạng thái cluster
pvecm status
pvecm nodes
Ví dụ:
Membership information
----------------------
Nodeid Votes Name
1 1 pve01
2 1 pve02
✅ Bước 6: Nếu cluster còn lại chỉ có 1 node
Điều chỉnh lại quorum để tránh lỗi:
pvecm expected 1
✅ Bước 7: Dọn dẹp file config cũ
Trên node đang chạy cluster (vd: pve01
):
rm -rf /etc/pve/nodes/pve03
Trên node đã tách (pve03
):
rm -rf /var/lib/corosync/*
Xóa SSH key của node cũ:
nano /etc/pve/priv/authorized_keys
# Xóa dòng chứa SSH key của node cũ
🖼 Sơ đồ ASCII mô tả
Trước khi gỡ:
+----------+ +----------+ +----------+
| pve01 |<--->| pve02 |<--->| pve03 |
+----------+ +----------+ +----------+
Sau khi gỡ:
+----------+ +----------+
| pve01 |<--->| pve02 |
+----------+ +----------+
(pve03: standalone / deleted)
🔄 Ví dụ thực tế
# Di chuyển VM 100 khỏi node cần xóa
qm migrate 100 pve02
# Dừng dịch vụ cluster trên node cần xóa
systemctl stop pve-cluster
systemctl stop corosync
pmxcfs -l
# Xóa corosync config
rm /etc/pve/corosync.conf
rm -r /etc/corosync/
killall pmxcfs
systemctl start pve-cluster
# Từ node còn lại trong cluster
pvecm delnode pve03
💡 Lời khuyên
- Không gỡ node khi cluster đang hoạt động mạnh, đặc biệt là khi quorum đang ở ngưỡng tối thiểu.
- Backup VM/container trước khi thao tác.
- Nếu cluster chỉ có 2 node, hãy cấu hình thêm QDevice để tránh mất quorum khi gỡ node.
- Sau khi gỡ node xong, hãy dùng lệnh
pvecm expected 1
nếu bạn còn lại 1 node. - Đừng quên xóa các mục cấu hình liên quan đến node cũ khỏi các thư mục
/etc/pve/nodes/
và SSH key.
🔚 Kết luận
Việc gỡ một node ra khỏi Proxmox VE Cluster tưởng chừng đơn giản, nhưng nếu không tuân theo đúng quy trình, bạn có thể gặp nhiều rắc rối không đáng có. Với hướng dẫn chi tiết và đầy đủ ở trên, bạn có thể tự tin tách node ra khỏi cluster mà không ảnh hưởng đến hoạt động chung.
Hãy luôn kiểm tra kỹ, sao lưu dữ liệu và hiểu rõ cấu trúc cluster trước khi thao tác. Trong môi trường production, đừng ngần ngại kiểm tra trước trong môi trường test hoặc hỏi ý kiến cộng đồng Proxmox để đảm bảo an toàn.
Chúc bạn thành công! Nếu có thắc mắc, hãy để lại bình luận bên dưới hoặc truy cập Proxmox Forum để trao đổi với cộng đồng.