Storage Guide · Web GUI

ZFS Storage & Replication
trên Proxmox VE

Tạo ZFS pool (mirror/RAIDZ), bật compression + snapshot, và Storage Replication theo lịch giữa 2 node — giải pháp HA đơn giản khi chưa có Ceph.

CoW
Copy-on-write
Snap
Snapshot
Async
Replication
~20m
Thiết lập

ZFS là gì & các kiểu pool

ZFS là filesystem + volume manager copy-on-write: có checksum chống lỗi ngầm (bit rot), snapshot tức thời, compression, và send/receive (nền tảng của Replication). Trên Proxmox, ZFS local kết hợp Replication cho phép làm HA mà không cần SAN/Ceph.

Kiểu poolSố diskChịu lỗiGhi chú
Single10Không dự phòng — chỉ test
Mirror (RAID1)21 diskNhanh, đơn giản — hay dùng cho OS/VM
RAIDZ1≥ 31 diskTiết kiệm dung lượng hơn mirror
RAIDZ2≥ 42 diskAn toàn hơn cho pool lớn

ZFS ăn RAM & cần disk thuần

ZFS dùng ARC cache trong RAM (khuyến nghị +1GB/1TB). Disk phải ở chế độ HBA/JBOD, KHÔNG dùng RAID phần cứng bên dưới ZFS.

B-1

Tạo ZFS Pool qua GUI

~3 phút

1

node → Disks → ZFS → Create: ZFS

  • Name: vd tank (tên phải GIỐNG NHAU trên các node nếu định replicate)
  • RAID Level: Mirror / RAIDZ tùy số disk
  • Compression: lz4 (bật, gần như miễn phí CPU)
  • Add Storage — tự tạo storage ZFS trong Proxmox

Tương đương CLI: zpool create -o ashift=12 tank mirror /dev/sdb /dev/sdc · zfs set compression=lz4 tank

B-2

Dùng làm Storage & tính năng

~3 phút

Snapshot

VM → Snapshots → Take Snapshot (tức thời, không copy toàn bộ). Rollback nhanh khi update lỗi.

Compression / Thin

Storage ZFS mặc định thin-provisioned. Compression lz4 tiết kiệm dung lượng minh bạch với VM.

B-3

Cấu hình Storage Replication

~5 phút — cần cluster + cùng tên ZFS pool trên 2 node

graph LR subgraph Node1["Node 1"] V1["VM 100 (disk trên tank)"] end subgraph Node2["Node 2"] V2["Bản sao tank/vm-100"] end V1 -->|"zfs send/receive theo lịch (vd mỗi 15 phút)"| V2 V1 -.HA failover khi Node1 chết.-> V2 style V1 fill:#cffafe,stroke:#0891b2,stroke-width:2px style V2 fill:#e0f2fe,stroke:#0284c7,stroke-width:2px
  1. 1

    Điều kiện

    Đã có cluster; cả 2 node đều có ZFS pool cùng tên (vd tank); VM để disk trên storage ZFS đó.

  2. 2

    Tạo job Replication

    Chọn VM → tab ReplicationAdd: Target = node đích · Schedule (vd */15 = mỗi 15 phút) → Add. Lần đầu sync full, sau đó chỉ gửi delta.

Replication là ASYNC — có thể mất dữ liệu gần nhất

Nếu node chết giữa 2 lần sync, mất phần thay đổi từ lần sync cuối (vd tối đa 15 phút). Cần RPO ~0 thì dùng Ceph (sync). Replication ≠ backup — vẫn cần backup.

Kết hợp với HA

Khi VM có replication tới node đích, thêm VM vào HA: nếu node nguồn chết, HA khởi động VM ở node đích bằng bản sao ZFS gần nhất. Đây là cách làm HA rẻ cho cụm 2–3 node không có Ceph.

ZFS + Replication + HA = chịu lỗi node với chi phí thấp, chấp nhận RPO vài phút.

Troubleshooting

Triệu chứngXử lý
Replication failPool khác tên giữa 2 node; hoặc thiếu dung lượng đích; xem tab Replication → log
Pool DEGRADEDzpool status · thay disk lỗi + zpool replace
RAM cao / máy chậmGiới hạn ARC: đặt zfs_arc_max trong modprobe.d
Hết dung lượng bất ngờSnapshot cũ giữ block — dọn snapshot: zfs list -t snapshot

Bài liên quan