VanTai
Intern
1. Tổng quan
ZFS Replication (pvesr - Proxmox VE Storage Replication) là cơ chế nhân bản bất đồng bộ (asynchronous) dữ liệu VM/CT giữa các node trong cụm, dựa trên khả năng snapshot tăng dần của ZFS. Nó cho phép có một bản sao gần với thời gian thực ở node khác mà không cần shared storage như Ceph hay SAN.Đây là giải pháp rất hợp lý cho cụm nhỏ (2-3 node) dùng đĩa cục bộ ZFS: khi node chính hỏng, VM có thể khởi động lại ở node đích với lượng dữ liệu mất tối đa bằng chu kỳ replication (RPO). Kết hợp với HA, replication giúp giảm mạnh thời gian và dữ liệu mất khi sự cố - mà không cần đầu tư hạ tầng storage phức tạp.
Cần phân biệt rõ: replication không phải backup và cũng không phải shared storage đồng bộ. Nó là bản sao theo lịch, có độ trễ (RPO > 0). Tài liệu này giải thích cơ chế, cách cấu hình qua GUI/CLI, mối quan hệ với HA và các lưu ý vận hành.
Mục tiêu của bài này:
· Hiểu được cơ chế ZFS snapshot và cách pvesr dùng nó để nhân bản.· Phân biệt replication, backup và shared storage.
· Cấu hình được replication job giữa 2 node và kiểm chứng.
· Hiểu quan hệ giữa replication và HA (RPO khi failover).
2. Nội dung chính
2.1 Nền tảng: ZFS snapshot
ZFS là hệ tệp có khả năng chụp snapshot tức thời và gửi chênh lệch giữa hai snapshot. Pvesr khai thác điều này: lần đầu gửi toàn bộ dataset của đĩa VM sang node đích, các lần sau chỉ gửi phần thay đổi (delta) kể từ snapshot trước. Nhờ vậy replication định kỳ rất nhẹ về băng thông.· Điều kiện tiên quyết: đĩa VM/CT phải nằm trên storage kiểu ZFS (local ZFS pool) và cả node nguồn lẫn đích đều có pool ZFS cùng tên storage.
· Chỉ nhân bản đĩa nằm trên ZFS, đĩa trên LVM-thin/Directory không dùng được pvesr.
RPO là gì ?
RPO (Recovery Point Objective) = lượng dữ liệu tối đa có thể mất. Với replication mỗi 15 phút, nếu node nguồn chết ngay trước chu kỳ kế tiếp, bản ở node đích trễ tối đa khoảng 15 phút. Nếu nút ngắn chu kỳ giảm RPO nhưng sẽ tăng tải. Do vậy cần cân bằng theo mức chấp nhận được của dịch vụ.2.2 Replication, Backup và Shared storage
Kết luận
Replication và Backup bổ sung cho nhau, không dùng để thay thế nhau. Mô hình phổ biến cho cụm nhỏ: đĩa VM trên ZFS + replication 15 phút giữa 2 node (cho HA/failover) + backup định kỳ ra PBS (cho phục hồi, sự cố).2.3 Cấu hình Replication qua Web GUI
Điều kiện: cụm ≥ 2 node đã join, mỗi node có storage ZFS cùng tên (ví dụ "local-zfs"), VM cần nhân bản có đĩa nằm trên ZFS đó.
3. Schedule: chọn tần suất, ví dụ */30 (mỗi 30 phút) hoặc mẫu có sẵn.
4. Rate limit (tuỳ chọn): giới hạn băng thông để không nghẽn mạng.
2.4 Cấu hình và kiểm tra bằng CLI (pvesr)
Có thể tạo và quản lý replication hoàn toàn bằng CLI - tiện cho tự động hóa và kiểm tra:# Tạo job: VM 100 nhân bản sang node pve03, mỗi 30 phút
pvesr create-local-job 100-0 pve03 --schedule '*/15'
# Xem danh sách job và trạng thái
pvesr list
pvesr status
# Chạy ngay một job (không đợi lịch)
pvesr run --id 100-0
# Kiểm tra snapshot replication ở tầng ZFS
zfs list -t snapshot | grep __replicate__
Quản lý replication bằng pvesr và kiểm tra snapshot ZFS.
Cách đọc ID job
ID dạng <vmid>-<n> (ví dụ 100-0). Một VM có thể có nhiều job tới nhiều đích (100-0, 100-1...). Proxmox tự tạo và dọn các snapshot tên __replicate__... – không nên xóa thủ công các snapshot này.2.5 Kết hợp Replication với HA
Đây là điểm mạnh nhất của replication trong cụm nhỏ. Khi một VM vừa có replication sang node B vừa được đưa vào HA:· Node A (đang chạy VM) hỏng → HA khởi động lại VM ở node B.
· Node B đã có sẵn bản sao đĩa (nhờ replication) nên start được ngay, không cần shared storage.
· Dữ liệu mất tối đa = khoảng cách từ lần replication cuối tới thời điểm sự cố (RPO).
Lưu ý
Sau khi VM chạy ở node B, Proxmox sẽ tự đảo chiều replication (B → A) khi A trở lại, để tiếp tục bảo vệ. Cần đảm bảo cả hai node đều đủ dung lượng ZFS để chứa bản sao của nhau.- Tiến hành off node chứa VM để test:
- VM sẽ được HA khôi phục và start trên node khác
- Replication cũng được tự điều chỉnh:
2.6 Lưu ý vận hành và sự cố thường gặp
3. Kết luận
ZFS Replication là giải pháp thường dành cho các cụm nhỏ: đạt được failover nhanh và RPO ngắn mà không cần đầu tư Ceph/SAN. Hiểu đơn giản nó chính là bản sao bất đồng bộ được tạo theo lịch (có RPO > 0) và phải đi kèm backup độc lập để tránh việc xóa nhầm, thảm họa hay sự cố. Việc kết hợp ZFS local, replication và HA mang lại hiệu quả tốt cho cụm nhỏ có khoảng 2 đến 3 node.Bài viết liên quan
Được quan tâm
Bài viết mới