Backup & Recovery · PBS 4.x (Debian 13 Trixie)

Triển khai Proxmox Backup Server

Datastore trên NAS, deduplication + incremental forever, retention, encryption, sync offsite, tape. Hướng dẫn step-by-step tách rõ 2 node độc lậpProxmox Cluster.

2
Kịch bản
~2h
Thực hiện
90%+
Dedup ratio
$0
License

Bối cảnh áp dụng cụ thể (lab của bạn)

2 node Proxmox VE · NAS RAID 0 ~7TB trống · LAN 1G. Giải pháp tối ưu: 1 PBS tập trung, datastore đặt trên NAS — phục vụ backup incremental + dedup cho cả 2 node và restore chéo từ một điểm. Hướng dẫn dưới đây dùng chung cho lab này, đồng thời tách rõ 2 kịch bản triển khai phía Proxmox VE.

PBS là gì & tại sao dùng?

Proxmox Backup Server (PBS) là backup appliance open-source (Debian-based) chuyên dụng cho hệ sinh thái Proxmox. Hỗ trợ content-defined chunking + deduplication, tiết kiệm 80–95% dung lượng so với backup truyền thống (vzdump full). Có thể backup không chỉ VM (QEMU) mà còn LXC container, files và host config. Phiên bản hiện tại là PBS 4.x (nền Debian 13 "Trixie", kernel 6.14).

Tính năng nổi bật

  • Deduplication chunk-level (~4MB) → giảm 90% dung lượng
  • Incremental forever — lần đầu full, các lần sau chỉ chunk thay đổi
  • End-to-end encryption AES-256 client-side
  • Compression Zstandard (zstd) tốc độ cao
  • ✅ Verify integrity + Namespace phân tách theo node/tenant
  • ✅ Tape support (LTO) cho air-gap
  • ✅ Sync giữa nhiều PBS → chiến lược 3-2-1
  • ✅ Web UI cổng :8007 đầy đủ chức năng

Kiến trúc & thuật ngữ

  • Datastore: nơi lưu chunks + index (ext4/xfs/zfs)
  • Chunk store: pool deduplication
  • Namespace: phân tách logic trong 1 datastore
  • Backup Group: nhóm theo VM/CT ID
  • Snapshot: 1 bản backup point-in-time
  • Prune: xóa snapshot cũ theo policy retention
  • GC (Garbage Collection): dọn chunk không còn tham chiếu
  • Verify: kiểm tra checksum chunks
🏢 Site chính · LAN 1G 🌍 Offsite / Cold backup backup lưu trữ sync tape job Proxmox VE Node A Proxmox VE Node B PBS VM / bare-metal NAS Datastore ~7TB (RAID) PBS Secondary (offsite sync) LTO Tape / Cloud (air-gap)

Quy tắc 3-2-1-1-0

3 bản backup · 2 loại media khác nhau · 1 offsite · 1 offline (air-gap) · 0 lỗi verify. PBS đáp ứng đủ với sync + tape. Riêng lab NAS RAID 0 — xem cảnh báo redundancy ở Phase 1.

So sánh 2 phương án backup

Với NAS ~7TB + LAN 1G, có 2 hướng: (A) thêm storage NFS/SMB trực tiếp rồi backup bằng vzdump, hoặc (B) triển khai PBS với datastore trên NAS. Bảng dưới giúp chọn nhanh:

Tiêu chí NFS/SMB + vzdump Proxmox Backup Server ⭐
Cách backupFull mỗi lần (hoặc dirty-bitmap trong phiên)Incremental forever + dedup, tiết kiệm dung lượng NAS
Tốc độ lần sauChậm (copy toàn bộ / phần lớn)Nhanh (chỉ copy chunk thay đổi)
Dung lượng chiếmLớn — nhân theo số bản giữNhỏ — dedup + zstd 90%+
Cấu hìnhĐơn giản, thêm storage NFS trực tiếpCần cài thêm PBS (VM hoặc bare-metal)
Restoreqmrestore / GUI (cả file .vma)GUI/CLI + file-level restore trong VM
2 node độc lậpMỗi node mount NAS riêng, quản lý rời rạc1 PBS phục vụ cả 2 node, quản lý tập trung, restore chéo
Verify integrityKhông có sẵnCó (checksum chunk định kỳ)

Kết luận

Có 2 node và NAS chung → PBS là lựa chọn tối ưu: quản lý lịch backup, retention, và restore chéo giữa 2 node dễ hơn hẳn so với cấu hình NFS riêng lẻ từng node.

Chọn kịch bản triển khai của bạn

Các bước cài PBS + tạo datastore (Phase 1–4) giống nhau cho cả hai. Điểm khác biệt duy nhất nằm ở cách kết nối PBS vào Proxmox VE và tạo backup job (Phase 5), vì file cấu hình storage /etc/pve/storage.cfg hành xử khác nhau giữa node độc lập và cluster.

Kịch bản 1 — Proxmox độc lập

2 (hoặc nhiều) node không join cluster. Mỗi node có /etc/pve/storage.cfg riêng.

  • ➕ Thêm PBS storage trên từng node
  • 🗂️ Nên tách Namespace theo node (tránh trùng VMID)
  • 📅 Tạo backup job riêng từng node
  • 🎯 Phù hợp: lab, chi nhánh nhỏ, không cần HA

Kịch bản 2 — Proxmox Cluster

Các node join chung 1 cluster, chia sẻ /etc/pve qua corosync.

  • ➕ Thêm PBS storage 1 lần ở Datacenter → tự áp cho mọi node
  • 🔢 VMID duy nhất toàn cluster → không lo trùng
  • 📅 1 backup job phủ VM trên tất cả node
  • 🎯 Phù hợp: production, cần restore/migrate liền mạch
① Proxmox độc lập ② Proxmox Cluster ns: node-a ns: node-b Node A storage.cfg riêng Node B storage.cfg riêng PBS Datastore Datacenter storage.cfg dùng chung Node 1 Node 2 PBS Datastore
Phần A — Chuẩn bị chung (cả 2 kịch bản)
P-1

Quy hoạch dung lượng & hardware

~15 phút — không thực hiện trên server

Công thức tính dung lượng PBS

# Công thức ước tính (PBS dedup ratio thực tế: 5x – 20x) Storage cần ≈ (Tổng VM size × Số snapshot giữ × Change-rate) ÷ Dedup ratio # Ví dụ cho lab của bạn (NAS ~7TB trống): # - 30 VM × 100GB = 3000GB raw # - Retention: daily 14 + weekly 8 + monthly 12 ≈ 34 snapshot # - Change-rate ~5%/ngày, dedup ~10x 3000GB × 34 × 0.05 ÷ 10 ≈ 510GB # + buffer 50% → ~800GB → 7TB dư sức chứa hàng chục VM cỡ trung

Yêu cầu hardware

Thành phần Lab / Small (lab của bạn) SMB Production Enterprise
CPU2 vCPU8 core16+ core
RAM2–4GB16–32GB64GB+ (ECC)
OS Disk32GB SSD120GB SSD240GB SSD RAID1
Backup StorageNAS ~7TB (NFS)10–20TB HDD RAID6 / RAIDZ250TB+ RAIDZ2 + SSD special vdev
Filesystem datastoreext4/xfs (trên NAS) hoặc ZFS localZFS RAIDZ1/2ZFS + L2ARC/special SSD
Network1Gbps10Gbps25Gbps + bond

Cảnh báo quan trọng: NAS đang chạy RAID 0

RAID 0 không có dự phòng — 1 ổ hỏng là mất toàn bộ backup. Vì đây là hệ thống backup, nên cân nhắc: (1) chuyển RAID 1/RAID 5/RAIDZ khi có điều kiện (đổi ~4TB an toàn thay vì 7TB rủi ro), hoặc (2) tối thiểu thêm 1 lớp offsite/cloud/tape cho các VM quan trọng (xem Phase 6). Backup nằm trên storage không redundancy vẫn là điểm chết đơn (single point of failure).

Nếu dùng ZFS local (thay vì NAS)

Chunk của PBS có size ~4MB → ZFS với recordsize=4M rất tối ưu, cộng thêm snapshot toàn datastore + replicate sang PBS thứ 2 + phát hiện bit-rot. Đây là lựa chọn hiệu năng tốt nhất nếu PBS có ổ cứng riêng.

P-2

Chuẩn bị storage cho datastore

~20 phút — chọn 1 trong 3 cách đặt backing storage

Lưu ý từ tài liệu chính hãng

PBS chính thức chỉ hỗ trợ datastore trên filesystem ext4 / xfs / zfs (yêu cầu FS chứa được ≥ 65538 thư mục con/thư mục). NFS/CIFS không nằm trong danh sách hỗ trợ chính thức nhưng vẫn chạy được khi mount thành directory. Đánh đổi: GC & Verify sinh rất nhiều random metadata IO trên hàng triệu file chunk nhỏ → chậm hơn đáng kể qua NFS 1G. Chọn cách phù hợp bên dưới.

A. NFS từ NAS Lab của bạn

Đơn giản nhất. Mount NFS → point datastore. GC/verify chậm hơn nhưng chấp nhận được cho homelab/SMB.

B. iSCSI từ NAS

NAS xuất LUN → PBS format ext4/xfs local → datastore trên block device. GC nhanh hơn NFS nhiều.

C. ZFS local

PBS có ổ riêng. Hiệu năng tốt nhất + bit-rot detection. Dùng khi có bare-metal.

Cách A — Chuẩn bị NAS & mount NFS (phù hợp lab)

  1. 1

    Trên NAS: tạo share & bật NFS

    • Tạo thư mục/volume riêng, vd /volume1/pbs-backup (dùng toàn bộ ~7TB)
    • Bật dịch vụ NFS (khuyến nghị hơn SMB cho Linux)
    • Cấp quyền RW cho dải IP mạng Proxmox (vd 192.168.1.0/24)
    • Bật no_root_squash để PBS ghi được bằng quyền root
    • Đặt IP tĩnh cho NAS; kiểm tra NIC NAS + switch đều 1Gbps
  2. 2

    Trên PBS: mount NFS vào đường dẫn cố định

    apt install nfs-common -y mkdir -p /mnt/nas-backup mount -t nfs <IP_NAS>:/volume1/pbs-backup /mnt/nas-backup # Kiểm tra ghi được với quyền root touch /mnt/nas-backup/.write-test && rm /mnt/nas-backup/.write-test
  3. 3

    Tự mount khi khởi động — thêm vào /etc/fstab

    # _netdev để chờ mạng sẵn sàng trước khi mount → tránh lỗi boot <IP_NAS>:/volume1/pbs-backup /mnt/nas-backup nfs defaults,_netdev 0 0 # Áp dụng & verify systemctl daemon-reload mount -a df -h /mnt/nas-backup
Cách C — ZFS pool local (khi PBS có ổ riêng)
# Xem disks lsblk # Tạo pool RAIDZ2 (chịu 2 disk fail) — recordsize khớp chunk PBS zpool create -o ashift=12 -O compression=zstd -O atime=off \ -O recordsize=4M -O xattr=sa \ backup-pool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg zfs create backup-pool/pbs-datastore zpool status
P-3

Cài đặt Proxmox Backup Server

~30 phút — bare-metal (ISO) hoặc VM trên 1 node PVE

Đặt PBS ở đâu?

Nếu có máy vật lý riêng → cài bare-metal (tốt nhất, độc lập với PVE). Nếu không, tạo 1 VM trên một trong 2 node (tối thiểu 2 vCPU, 2–4GB RAM, OS disk 32GB). Lưu ý: đừng đặt PBS-VM trên chính node mà nó backup nếu muốn khôi phục được khi node đó chết — cân nhắc đặt PBS-VM ở node còn lại hoặc bare-metal.

Cách 1: Cài từ ISO (khuyến nghị)

  1. 1

    Download PBS ISO

    Tải từ proxmox.com/en/proxmox-backup-server/get-started. Tạo USB boot bằng Rufus/dd, hoặc gắn ISO vào VM.

  2. 2

    Boot & Install Wizard

    • Chọn ổ OS (SSD 32GB+) — KHÔNG chọn ổ/NAS backup
    • Filesystem OS: ext4 (mặc định) hoặc ZFS RAID1 nếu có 2 SSD
    • Hostname FQDN: pbs01.lab.local
    • IP tĩnh / Gateway / DNS
  3. 3

    Đổi sang repo no-subscription (PBS 4.x / Trixie — deb822)

    PBS 4 dùng định dạng .sources (deb822). Tắt enterprise repo, thêm no-subscription:

    # 1) Tắt enterprise repo (thêm dòng Enabled: false) echo "Enabled: false" >> /etc/apt/sources.list.d/pbs-enterprise.sources # 2) Tạo repo no-subscription cat > /etc/apt/sources.list.d/proxmox.sources <<'EOF' Types: deb URIs: http://download.proxmox.com/debian/pbs Suites: trixie Components: pbs-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF apt update && apt full-upgrade -y
  4. 4

    Truy cập Web UI

    https://<pbs-ip>:8007 · login root + Realm Linux PAM

Cách 2: Cài lên Debian 13 (Trixie) có sẵn

# Thêm Proxmox archive keyring cho Trixie wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \ -O /usr/share/keyrings/proxmox-archive-keyring.gpg # Tạo repo no-subscription (deb822) cat > /etc/apt/sources.list.d/proxmox.sources <<'EOF' Types: deb URIs: http://download.proxmox.com/debian/pbs Suites: trixie Components: pbs-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF apt update apt install proxmox-backup-server -y

PBS 3.x (cũ) dựa trên Debian 12 "Bookworm" → thay Suites: trixie bằng bookworm. Kiểm tra bản mới nhất tại tài liệu chính hãng trước khi cài.

P-4

Tạo Datastore, Retention & API Token

~20 phút — trên PBS Web UI/CLI

Bước 1: Tạo Datastore

  1. 1

    Datastore → Add Datastore

    • Name: nas-datastore
    • Backing Path: /mnt/nas-backup (NFS) — hoặc /backup-pool/pbs-datastore (ZFS)
    • GC Schedule: daily · Prune Schedule: daily
    • ✅ Notify on errors

    CLI tương đương: proxmox-backup-manager datastore create nas-datastore /mnt/nas-backup

  2. 2

    Cấu hình Prune Policy (retention — tránh đầy 7TB)

    Datastore → Prune & GC → Edit Prune Options:

    • Keep Last: 3 · Keep Daily: 7–14
    • Keep Weekly: 4–8 · Keep Monthly: 3–12
    • Keep Yearly: 1–3 (audit)

    💡 Prune xóa index snapshot; dung lượng thực sự được giải phóng khi GC chạy sau đó.

  3. 3

    (Tùy chọn) Tạo Namespace — rất hữu ích cho 2 node độc lập

    # Tách backup mỗi node vào 1 namespace riêng trong cùng datastore proxmox-backup-manager namespace create nas-datastore node-a proxmox-backup-manager namespace create nas-datastore node-b
  4. 4

    Tạo Verify Job

    Datastore → Verify Jobs → Add: schedule weekly, kiểm tra checksum chunks (bắt bit-rot sớm).

Bước 2: Tạo User & API Token cho Proxmox VE

Dùng API Token (không phải mật khẩu root) để PVE xác thực — an toàn hơn, thu hồi được, không phụ thuộc đổi mật khẩu.

# GUI: Configuration → Access Control → Users → Add (hoặc CLI:) proxmox-backup-manager user create backup@pbs --password 'StrongPass123!' # Tạo API Token — LƯU LẠI secret (chỉ hiện 1 lần) proxmox-backup-manager user generate-token backup@pbs pve # => auth-id dạng: backup@pbs!pve + secret: xxxxxxxx-.... # Phân quyền token trên datastore (và namespace nếu tách) proxmox-backup-manager acl update /datastore/nas-datastore \ DatastoreBackup --auth-id 'backup@pbs!pve' # (Độc lập) giới hạn token của từng node vào đúng namespace của nó: # /datastore/nas-datastore/node-a -> token node A # /datastore/nas-datastore/node-b -> token node B

Bước 3: Lấy Fingerprint (dùng ở Phase 5)

# Trên PBS — copy chuỗi fingerprint sha256 proxmox-backup-manager cert info | grep -i Fingerprint # VD: Fingerprint (sha256): AB:CD:12:34:...:XY
Phần B — Kết nối PVE (tách 2 kịch bản)

Kịch bản 1 — Proxmox độc lập (2 node riêng lẻ)

Mỗi node tự cấu hình storage & backup job · dùng namespace để tách

Điểm mấu chốt: node độc lập không chia sẻ /etc/pve/storage.cfg. Bạn phải lặp lại Storage + Backup Job trên TỪNG node. Ngoài ra VMID có thể trùng giữa 2 node (cả hai đều có VM 100) → dùng namespace riêng mỗi node để tránh lẫn lộn trong cùng datastore.

Thực hiện trên Node A — rồi lặp lại y hệt cho Node B

  1. 1

    Add PBS Storage (trên Web UI của node A)

    Datacenter → Storage → Add → Proxmox Backup Server

    • ID: pbs-nas
    • Server: IP của PBS · Datastore: nas-datastore
    • Username: backup@pbs!pve (auth-id token) · Password: token secret
    • Namespace: node-a
    • Fingerprint: paste từ Phase 4 · ✅ Enable

    ⚠️ Trên node độc lập, "Datacenter" chỉ là phạm vi của riêng node đó — không lan sang node B.

  2. 2

    Tạo Backup Job trên node A

    Datacenter → Backup → Add

    • Storage: pbs-nas · Schedule: 23:00 hoặc 02:00
    • Selection mode: All hoặc Include selected VM
    • Mode: Snapshot (VM vẫn chạy, ít gián đoạn) · Compression: zstd
    • Retention: đặt tại đây hoặc để PBS prune (khuyến nghị PBS)
  3. 3

    Run now để test → rồi LẶP LẠI bước 1–2 trên Node B (namespace node-b)

    Node B dùng cùng PBS/Datastore nhưng namespace khác và (nên) token riêng. Kết quả: PBS Content hiển thị 2 nhánh node-a/node-b/ tách bạch.

CLI tương đương (nếu thích script trên từng node):

# Trên NODE A pvesm add pbs pbs-nas --server <PBS_IP> --datastore nas-datastore \ --username 'backup@pbs!pve' --password '<token-secret>' \ --namespace node-a --fingerprint 'AB:CD:...:XY' # Trên NODE B — đổi namespace thành node-b pvesm add pbs pbs-nas --server <PBS_IP> --datastore nas-datastore \ --username 'backup@pbs!pve' --password '<token-secret>' \ --namespace node-b --fingerprint 'AB:CD:...:XY'

Restore chéo giữa 2 node độc lập

Vì cả 2 node trỏ chung 1 PBS, node B có thể add thêm storage trỏ tới namespace node-a (chế độ chỉ đọc để restore) và khôi phục VM của node A khi node A chết. Lưu ý VMID: nếu node B đã có VM cùng ID, restore sang VMID mới để tránh xung đột.

Kịch bản 2 — Proxmox Cluster

Add storage & backup job 1 lần ở Datacenter · áp cho mọi node

Điểm mấu chốt: cluster chia sẻ /etc/pve (gồm storage.cfg) qua corosync → chỉ cấu hình 1 lần là mọi node thấy. VMID duy nhất toàn cluster → không lo trùng, có thể dùng chung 1 namespace.

Điều kiện tiên quyết: cluster đã hình thành

# Trên node đầu tiên — tạo cluster pvecm create my-cluster # Trên các node khác — join (nhập IP node đầu + mật khẩu root của nó) pvecm add <IP-node-1> # Kiểm tra quorum & số node pvecm status

Cluster ≥ 2 node nên có cơ chế quorum: 2 node dễ mất quorum khi 1 node down → cân nhắc thêm QDevice (một máy nhỏ/RPi làm trọng tài). Đây là điều kiện của cluster, không phải của PBS.

Kết nối PBS (làm 1 lần trên bất kỳ node nào)

  1. 1

    Add PBS Storage ở cấp Datacenter

    Datacenter → Storage → Add → Proxmox Backup Server

    • ID: pbs-nas · Server: PBS IP · Datastore: nas-datastore
    • Username: backup@pbs!pve · Password: token secret
    • Namespace: để trống (root) hoặc 1 ns chung, vd cluster01
    • Fingerprint: paste từ Phase 4 · Nodes: All (mặc định) · ✅ Enable

    ✅ Ngay lập tức xuất hiện trên tất cả node của cluster.

  2. 2

    Tạo 1 Backup Job phủ toàn cluster

    Datacenter → Backup → Add

    • Storage: pbs-nas · Schedule: 02:00 daily
    • Selection mode: All → job tự bao gồm VM/CT trên mọi node
    • Mode: Snapshot · Compression: zstd
    • (Tùy chọn) Node: để trống = tất cả; hoặc giới hạn để chia tải theo khung giờ
  3. 3

    Run now → verify

    Backup mọi VM/CT toàn cluster vào chung datastore. PBS Content hiển thị tất cả group theo VMID (duy nhất) — không cần tách namespace theo node.

CLI tương đương (chạy 1 lần trên 1 node bất kỳ — tự propagate):

pvesm add pbs pbs-nas --server <PBS_IP> --datastore nas-datastore \ --username 'backup@pbs!pve' --password '<token-secret>' \ --fingerprint 'AB:CD:...:XY' # Không cần lặp trên node khác — /etc/pve/storage.cfg đã đồng bộ.

Restore & migrate trong cluster

Restore VM (đã backup từ node bất kỳ) sang node đích tùy chọn ngay trong wizard — liền mạch nhờ VMID duy nhất và storage dùng chung. Kết hợp HA để tự khởi động lại VM trên node khác khi node gốc chết.

P-6

Restore khi cần thiết

Backup chỉ tốt khi restore được — test định kỳ

Qua Web UI (khuyến nghị)

  • PVE → chọn Storage pbs-nas → tab Backups (hoặc chọn VM → Backup).
  • Chọn snapshot theo VMID + ngày giờ → Restore.
  • Chọn VMID đích (giữ nguyên hoặc ID mới để test song song) + Storage lưu VM (vd local-lvm) → Restore.
  • File-level restore: PBS Web UI → Datastore → click snapshot → Browse → tải từng file/thư mục ra (không cần restore cả VM).

Qua CLI (restore nhanh / scripting)

# Restore VM từ snapshot PBS sang VMID mới 999 qmrestore pbs-nas:backup/vm/100/2026-07-06T02:00:00Z 999 --storage local-lvm # --force : ghi đè VM đang tồn tại cùng ID # --start 0 : không tự khởi động sau restore # LXC container dùng lệnh tương ứng: pct restore 999 pbs-nas:backup/ct/101/2026-07-06T02:00:00Z --storage local-lvm

Độc lập: nếu restore VM của node A trên node B, nhớ trỏ storage tới đúng namespace node-a và chọn VMID chưa dùng. Cluster: chọn thẳng node đích trong wizard.

P-7

Nâng cao — Encryption, Sync & Tape

~40 phút — hoàn thiện 3-2-1 (đặc biệt cần khi NAS là RAID 0)

Encryption client-side

Data được mã hóa trước khi rời PVE — kể cả admin PBS/NAS cũng không đọc được. Rất quan trọng khi datastore nằm trên NAS dùng chung.

# Trên PVE node: tạo encryption key proxmox-backup-client key create /etc/pve/priv/backup-encryption.key # GUI: Storage pbs-nas → Edit → Encryption → Auto-generate / paste key # Cluster: key nằm trong /etc/pve/priv nên dùng chung mọi node.

MẤT KEY = MẤT DATA

Backup encryption key ra ít nhất 2 nơi offline (USB, password manager, in giấy). PBS không lưu key — mất key thì không restore được. Cân nhắc lưu thêm master public key để có đường phục hồi.

Sync Job — Replication sang PBS Secondary (offsite)

  1. 1

    Add Remote

    PBS Primary → Configuration → Remotes → Add: host PBS secondary, auth-id + secret, fingerprint.

  2. 2

    Create Sync Job

    Datastore → Sync Jobs → Add: source remote + datastore/namespace → schedule daily.

    💡 Chỉ sync chunk thay đổi → tiết kiệm bandwidth. Đây là lớp bảo vệ chính khi NAS RAID 0 hỏng.

Tape Backup (LTO) — Air-gap (tùy chọn)

1 Add Drive/Changer

Kiểm tra ls /dev/tape/by-id/ → Tape Backup → Drives/Changers → Add.

2 Media Pool

Tape Backup → Media Pools → Add: allocation continue, retention 1 year.

3 Tape Backup Job

Tape Backup → Backup Jobs → Add: datastore nas-datastore, pool, schedule monthly.

4 Rút & cất tape

Sau job, eject & cất tape offline → đạt lớp air-gap chống ransomware.

Hoàn thành chuỗi bảo vệ

VM → PBS (datastore NAS) → Sync offsite → Tape monthly (air-gap). Với NAS RAID 0, sync offsite là bắt buộc để không phụ thuộc vào một storage không redundancy.

Ước tính hiệu năng & dung lượng (LAN 1G)

~100 MB/s

Throughput thực tế trên 1Gbps

15–20 phút

Full backup lần đầu VM 100GB

vài phút

Các lần sau (incremental + dedup)

Với 7TB trống + retention hợp lý (vài bản gần nhất + tuần/tháng), bạn backup thoải mái hàng chục VM cỡ trung. PBS tiết kiệm dung lượng vượt trội so với lưu full backup thô qua NFS. Đặt lịch ngoài giờ (23:00/02:00) để tận dụng băng thông mà không ảnh hưởng VM đang chạy. Nếu backup nhiều node đồng thời làm nghẽn 1G → lệch giờ giữa các node/job hoặc nâng lên 2.5G/10G.

Troubleshooting thường gặp

GC / Verify chạy rất chậm trên datastore NFS

GC & verify duyệt hàng triệu file chunk nhỏ → nặng random metadata IO, chậm qua NFS 1G. Khắc phục:

  • Chuyển backing storage sang iSCSI (block) + ext4/xfs local hoặc ZFS local
  • Giãn tần suất GC (weekly thay vì daily) nếu datastore chưa gần đầy
  • Đảm bảo NAS bật cache metadata, NIC 1G không half-duplex
Add PBS storage báo lỗi permission / "unable to create chunk store"

Thường do NFS export chưa bật no_root_squash → PBS (root) không tạo được cây thư mục chunk. Kiểm tra export trên NAS, đảm bảo dải IP đúng và filesystem hỗ trợ ≥ 65538 thư mục con.

Storage không xuất hiện trên node thứ 2

Cluster: phải add ở Datacenter và để "Nodes = All"; kiểm tra pvecm status có quorum. Độc lập: đây là hành vi đúng — mỗi node phải add riêng (xem Kịch bản 1).

Datastore đầy nhanh — dedup không hiệu quả?

Prune xóa index nhưng chỉ GC mới giải phóng chunk. Kiểm tra & chạy GC:

proxmox-backup-manager datastore list --output-format=json
proxmox-backup-manager garbage-collection start nas-datastore

Nhiều file nhỏ thay đổi liên tục làm giảm dedup — bình thường; cân nhắc retention chặt hơn.

Verify báo "chunk corrupt"

Bit-rot hoặc disk lỗi. RAID 0 không tự heal → đây là lý do cần sync/tape. Với ZFS có redundancy:

zpool status -v backup-pool
zpool scrub backup-pool

Chunk mất không cứu được cục bộ → restore từ PBS secondary (sync) hoặc tape.

Tài liệu tham khảo