Hướng Dẫn Chi Tiết Setup Proxmox Backup Server (PBS) Lưu VM Proxmox VE Sang Synology NAS Qua NFS

1. Tìm Hiểu Về PBS & Cơ Chế Chống Trùng Lặp (Deduplication)

Proxmox Backup Server (PBS) là gì?

PBS là giải pháp sao lưu enterprise chuyên dụng do Proxmox phát triển. Khác với VZDump (vốn nén toàn bộ đĩa ảo thành một file .vma hoặc .tar), PBS hoạt động theo cơ chế Chunk-based Backup:

  1. Chia nhỏ dữ liệu (Chunking): Dữ liệu của VM/LXC được chia nhỏ thành các đoạn dữ liệu cố định hoặc linh hoạt (trung bình 4MB), gọi là các chunks.
  2. Mã hóa băm (Hashing): Mỗi chunk được gán một mã định danh duy nhất (SHA-256) dựa trên nội dung thực tế của nó.
  3. Chống trùng lặp (Deduplication): Trước khi ghi một chunk lên đĩa, PBS sẽ kiểm tra xem mã hash đó đã tồn tại trên Datastore hay chưa. Nếu đã có, PBS chỉ tạo một liên kết (pointer) tham chiếu đến chunk đó thay vì ghi lại.

Ưu điểm vượt trội:

  • Tiết kiệm dung lượng: Nếu bạn có 10 VM cùng chạy Windows Server 2022, các file hệ thống giống nhau chỉ được lưu đúng 1 lần duy nhất trên NAS.
  • Tốc độ sao lưu siêu nhanh: Các lần backup tiếp theo (Incremental) chỉ gửi các khối dữ liệu thực sự có sự thay đổi (Changed Block Tracking), rút ngắn thời gian backup từ vài chục phút xuống chỉ còn vài giây.

2. Cấu Hình Thư Mục Chia Sẻ NFS Trên Synology NAS

Giao thức NFS (Network File System) mang lại hiệu năng truy xuất I/O cao hơn so với SMB/CIFS khi làm việc với Linux. Tuy nhiên, NFS xác thực dựa trên địa chỉ IP client thay vì user/password, do đó việc cấu hình phân quyền (permission) đúng trên Synology DSM là cực kỳ quan trọng.

Các bước thực hiện trên Synology DSM:

  1. Tạo Shared Folder:
    • Truy cập DSM > Control Panel > Shared Folder > Create.
    • Đặt tên thư mục: ProxmoxBackup.
    • Bỏ chọn Enable Recycle Bin (không cần thùng rác cho thư mục backup) để tránh tích tụ dung lượng ẩn.
  2. Cấu hình NFS Permissions:
    • Chuyển sang tab NFS Permissions, chọn Create.
    • Hostname or IP: Nhập địa chỉ IP tĩnh của máy chủ PBS (ví dụ: 10.10.10.252).
    • Privilege: Chọn Read/Write.
    • Squash: Chọn Map all users to admin (Đây là cấu hình bắt buộc: Giúp biến mọi thao tác ghi/đọc từ user backup hoặc root của PBS thành quyền admin trên NAS, triệt tiêu hoàn toàn lỗi EPERM / Operation not permitted).
    • Security: sys.
    • Tích chọn Allow users to access mounted subfolders và Enable asynchronous.
    • Nhấn Save để áp dụng.
Hướng Dẫn Chi Tiết Setup Proxmox Backup Server (PBS) Lưu VM Proxmox VE Sang Synology NAS Qua NFS - ảnh 1

3. Mount NFS Và Khai Báo Datastore Trên PBS

NFS share từ NAS sẽ được mount vào hệ điều hành của PBS tại thư mục /mnt/datastore/ProxmoxBackup.

Xử lý lỗi khởi tạo cây thư mục .chunks (Lỗi ENOENT / mkstemp failed)

Vì PBS quản lý dữ liệu deduplication bằng cấu trúc cây thư mục ẩn bao gồm 65,536 thư mục con (từ .chunks/0000 đến .chunks/ffff), quá trình tự động khởi tạo các thư mục này thông qua giao diện Web GUI trên ổ đĩa mạng NFS thường bị timeout hoặc dính lỗi permission.

Để xử lý dứt điểm, thực hiện các lệnh sau qua SSH/Terminal của máy PBS:

bash
# Step 1: Tạo thư mục mount point trên PBS
mkdir -p /mnt/datastore/ProxmoxBackup

# Step 2: Mount NFS Share từ Synology NAS (Thay IP_SYNOLOGY_NAS bằng IP thực tế)
mount -t nfs 10.10.10.254:/volume1/ProxmoxBackup /mnt/datastore/ProxmoxBackup

# Step 3: Khai báo Datastore trực tiếp vào cấu hình PBS
echo -e "\ndatastore: ProxmoxBackup\n\tpath /mnt/datastore/ProxmoxBackup" >> /etc/proxmox-backup/datastore.cfg

# Step 4: Chạy script Python tạo siêu tốc 65,536 thư mục chunks
python3 -c '
import os
base = "/mnt/datastore/ProxmoxBackup/.chunks"
for i in range(65536):
    d = os.path.join(base, f"{i:04x}")
    os.makedirs(d, exist_ok=True)
'

# Step 5: Phân quyền đầy đủ cho cây thư mục
chmod -R 777 /mnt/datastore/ProxmoxBackup

# Step 6: Khởi động lại dịch vụ PBS để cập nhật Datastore mới
systemctl restart proxmox-backup proxmox-backup-proxy

Sau bước này, mở giao diện Web GUI của PBS (https://<IP-PBS>:8007), bạn sẽ thấy Datastore ProxmoxBackup đã xuất hiện ở trạng thái Active/Online với đầy đủ thông số dung lượng.

Hướng Dẫn Chi Tiết Setup Proxmox Backup Server (PBS) Lưu VM Proxmox VE Sang Synology NAS Qua NFS - ảnh 2

4. Liên Kết Proxmox VE (PVE) Với PBS & Lập Lịch Tự Động

Bước 1: Lấy Fingerprint bảo mật từ PBS

  1. Đăng nhập giao diện Web GUI của PBS.
  2. Tại mục Dashboard, nhấn vào nút Show Fingerprint.
  3. Sao chép (Copy) chuỗi mã băm SHA-256 dạng xx:xx:xx:....

Bước 2: Thêm PBS Storage trên Proxmox VE

  1. Đăng nhập giao diện Web GUI của Proxmox VE.
  2. Truy cập Datacenter > Storage > Add > Proxmox Backup Server.
  3. Điền đầy đủ thông tin xác thực:
    • ID: Đặt tên nhận diện (ví dụ: pbs-nas).
    • Server: Địa chỉ IP của máy PBS.
    • Username: Tài khoản quản trị PBS (mặc định: root@pam hoặc API token).
    • Password: Mật khẩu tương ứng của tài khoản PBS.
    • Datastore: ProxmoxBackup (Đúng tên Datastore đã tạo ở Mục 3).
    • Fingerprint: Dán chuỗi SHA-256 đã copy ở Bước 1.
    • Encryption: Auto hoặc cấu hình Encryption Key nếu cần mã hóa dữ liệu đầu cuối.
  4. Bấm Add.
Hướng Dẫn Chi Tiết Setup Proxmox Backup Server (PBS) Lưu VM Proxmox VE Sang Synology NAS Qua NFS - ảnh 3

Bước 3: Tạo Backup Job định kỳ

  1. Trên PVE, truy cập Datacenter > Backup > Add.
  2. Cấu hình Job:
    • Node: Chọn node PVE (hoặc All).
    • Storage: Chọn pbs-nas.
    • Selection Mode: Chọn các VM/LXC cần sao lưu.
    • Schedule: Chọn lịch chạy tự động (ví dụ: 02:00 hàng ngày).
  3. Chuyển sang tab Retention:
    • Keep Daily: 7 (Giữ lại các bản backup 7 ngày gần nhất).
    • Keep Weekly: 4 (Giữ lại 4 bản theo tuần).
    • Keep Monthly: 12 (Giữ lại 12 bản theo tháng).
  4. Bấm Create, sau đó chọn Job vừa tạo và bấm Run now để chạy thử nghiệm tiến trình sao lưu đầu tiên.
Hướng Dẫn Chi Tiết Setup Proxmox Backup Server (PBS) Lưu VM Proxmox VE Sang Synology NAS Qua NFS - ảnh 4

5. Tối Ưu Dung Lượng Tự Động: Prune & Garbage Collection (GC)

Trên PBS, việc dọn dẹp các bản sao lưu cũ diễn ra qua 2 giai đoạn độc lập:

  1. Prune (Xóa tham chiếu): Dựa theo chính sách Retention (ở Mục 4), tiến trình Prune sẽ đánh dấu xóa các bản backup (snapshot) đã hết hạn. Tuy nhiên, dữ liệu thực tế trong các file .chunks vẫn chưa bị xóa khỏi đĩa cứng.
  2. Garbage Collection - GC (Xóa thực thể chunks trên đĩa): Tiến trình GC sẽ quét toàn bộ cây thư mục .chunks. Những khối dữ liệu nào không còn bất kỳ snapshot nào tham chiếu tới sẽ thực sự bị xóa khỏi đĩa NAS để giải phóng dung lượng.

Cấu hình dọn dẹp trên PBS GUI:

  1. Mở PBS GUI > chọn Datastore ProxmoxBackup.
  2. Vào mục Prune & GC Jobs:
    • Prune Schedule: Đặt lịch chạy hàng ngày (ví dụ: 03:00).
    • Garbage Collection Schedule: Đặt lịch chạy hàng tuần (ví dụ: Sat 04:00 - chạy vào cuối tuần khi lưu lượng hệ thống thấp).

Tóm Tắt Quy Trình Xác Thực & Luồng Dữ Liệu

text
[Proxmox VE] 
    │  
    ├── (Chạy Backup Job) ──> Xác thực qua Username/Password/Fingerprint
    │                                     │
    ▼                                     ▼
[Proxmox Backup Server (PBS)] ──> [Xử lý Chunks / Deduplication]
    │
    ├── (Mount NFS) ──> Xác thực qua IP + Squash (Map all users to admin)
    │
    ▼
[Synology NAS (Storage)]
Tags:
Chia sẻ:

Bình luận (0)