1. Mục tiêu & Yêu cầu
Biến một thư mục trên Synology NAS thành storage dùng chung cho một node hoặc cả cluster Proxmox VE. Nhờ đó nhiều node cùng truy cập một kho: lưu file ISO cài đặt, bản backup vzdump, template container, và cả ổ đĩa VM/LXC — tiền đề cho Live Migration (VM chạy trên storage dùng chung có thể chuyển node không cần copy đĩa).
Điều kiện trước khi bắt đầu
- Synology chạy DSM 7.x, đã tạo Volume (Storage Pool), đặt IP tĩnh, cùng LAN với Proxmox.
- Proxmox VE 8.x/9.x, quyền root@pam hoặc quyền Datacenter.Allocate/Storage.
- Thông nhau bằng IP (ping được). Biết trước IP: ví dụ NAS 192.168.1.50, node Proxmox 192.168.1.40 (subnet 192.168.1.0/24).
NFS hay SMB? Với Proxmox nên ưu tiên NFS: hiệu năng tốt hơn, hỗ trợ tốt cho disk image (.raw/.qcow2) & live migration, không cần lưu mật khẩu. Dùng SMB/CIFS khi không bật được NFS hoặc cần xác thực bằng tài khoản.
2. Sơ đồ luồng & các loại content
┌──────────────────────────┐ NFS (2049) / SMB (445) ┌───────────────────────────┐ │ SYNOLOGY NAS (DSM 7) │ ◀───────────────────────────────▶ │ PROXMOX VE node │ │ Shared Folder: proxmox │ │ Storage: synology-nfs │ │ Path: /volume1/proxmox │ mount /mnt/pve/<id> │ ISO · Backup · VM · CT │ └──────────────────────────┘ └───────────────────────────┘
Khi gắn storage, Proxmox tự tạo các thư mục con trong share theo từng loại content được bật:
| Content (Proxmox) | Thư mục con | Dùng cho |
|---|---|---|
| ISO image (iso) | template/iso/ | File .iso cài OS. |
| Container template (vztmpl) | template/cache/ | Template LXC (.tar.zst). |
| VZDump backup file (backup) | dump/ | Bản backup VM/CT (vzdump-*.vma.zst). |
| Disk image (images) | images/<vmid>/ | Ổ đĩa VM (.raw/.qcow2). |
| Container (rootdir) | images/<vmid>/ | Rootfs LXC (raw). |
| Snippets (snippets) | snippets/ | Cloud-init / hook script. |
3. Cấu hình trên Synology (DSM) — NFS
Tạo Shared Folder
Control Panel → Shared Folder → Create → Create Shared Folder. Đặt tên (vd proxmox), chọn Volume. Có thể tắt Recycle Bin. Đường dẫn mount sẽ là /volume1/proxmox. Ở bước Permissions, cấp Read/Write cho tài khoản admin (NFS sẽ ánh xạ về user này).
Hình 1 — Tạo Shared Folder "proxmox" (minh hoạ)
Bật dịch vụ NFS
Control Panel → File Services → NFS → tick Enable NFS service. Nên đặt Maximum NFS protocol = NFSv4.1 (hỗ trợ tốt hơn, vẫn tương thích v3). Apply.
Hình 2 — Bật dịch vụ NFS + đặt NFSv4.1 (minh hoạ)
Cấu hình NFS Permissions cho thư mục
Quay lại Shared Folder → chọn proxmox → Edit → NFS Permissions → Create, điền:
| Trường | Giá trị |
|---|---|
| Hostname or IP | IP node Proxmox 192.168.1.40 — hoặc cả subnet 192.168.1.0/24 (cho cluster nhiều node). |
| Privilege | Read/Write |
| Squash | Map all users to admin (khuyến nghị — mọi thao tác ghi từ Proxmox coi như user admin → tránh lỗi quyền khi tạo đĩa VM). Thay thế: No mapping. |
| Security | sys (AUTH_SYS) |
| Enable asynchronous | ✔ (tăng tốc ghi) |
| Allow users to access mounted subfolders | ✔ |
Lưu lại — DSM hiển thị Mount path ở đáy hộp thoại, đúng là /volume1/proxmox.
Hình 3 — NFS Permissions: điền IP/subnet, R/W, Squash = Map all users to admin, sys, async (minh hoạ)
(Tùy chọn) Mở Firewall
Nếu bật firewall Synology (Control Panel → Security → Firewall): tạo rule cho phép từ subnet Proxmox tới dịch vụ NFS (mở port 111, 2049 và các cổng rpc), hoặc chọn built-in service group.
4. Gắn NFS vào Proxmox VE
Cách A — Qua Web UI
Datacenter → Storage → Add → NFS, điền:
| Trường | Giá trị |
|---|---|
| ID | synology-nfs (tên storage tùy đặt) |
| Server | IP Synology — 192.168.1.50 |
| Export | Bấm để dò tự động rồi chọn /volume1/proxmox (nếu danh sách trống → xem mục 7, gõ tay & ép NFSv4.1). |
| Content | Tick: Disk image, ISO image, Container template, VZDump backup file, Container, Snippets (chọn theo nhu cầu). |
| Nodes | All (hoặc giới hạn node) — chọn All để cả cluster dùng chung. |
| Enable | ✔ |
Tab Advanced: đặt NFS version = 4.1 nếu muốn; đặt Max Backups/Prune cho backup. Bấm Add — storage xuất hiện dưới mọi node đã chọn.
Hình 4 — Proxmox: Datacenter ▸ Storage ▸ Add ▸ NFS (minh hoạ)
Cách B — Qua CLI (pvesm)
# Thêm NFS storage (mặc định mount vào /mnt/pve/synology-nfs): pvesm add nfs synology-nfs \ --server 192.168.1.50 \ --export /volume1/proxmox \ --content images,iso,vztmpl,backup,rootdir,snippets \ --options vers=4.1,soft # Xem cấu hình đã lưu tại /etc/pve/storage.cfg: pvesm status cat /etc/pve/storage.cfg
5. Phương án thay thế — SMB/CIFS
Nếu không dùng NFS, có thể chia sẻ qua SMB (cần tài khoản xác thực).
Trên Synology
- File Services → SMB → Enable SMB service (nên đặt Min protocol = SMB2/SMB3).
- Control Panel → User → tạo user riêng vd pveuser, cấp Read/Write lên thư mục proxmox.
Trên Proxmox VE
Add → SMB/CIFS: Server, Username pveuser, Password, chọn Share proxmox, tick Content.
pvesm add cifs synology-smb \ --server 192.168.1.50 \ --share proxmox \ --username pveuser --password \ --content iso,backup,vztmpl,images \ --smbversion 3.0
Mật khẩu lưu tại /etc/pve/priv/storage/synology-smb.pw. Mount tại /mnt/pve/synology-smb.
6. Kiểm tra kết nối & hoạt động
# Trên node Proxmox — liệt kê export NFS mà Synology publish (NFSv3): showmount -e 192.168.1.50 # Trạng thái & dung lượng storage: pvesm status df -h | grep pve # Điểm mount thực tế & nội dung: ls -l /mnt/pve/synology-nfs mount | grep synology
Test end-to-end: ① Upload 1 file ISO (storage → ISO Images → Upload) → xuất hiện trong template/iso/ trên NAS. ② Tạo VM đặt đĩa trên synology-nfs → có thư mục images/<vmid>/. ③ Chạy Backup (Datacenter → Backup) đích là storage này → có file trong dump/.
7. Xử lý sự cố thường gặp
mount.nfs: access denied by server
Rule NFS Permissions chưa khớp IP/subnet Proxmox, hoặc sai. Kiểm tra lại IP node trong rule; với cluster dùng cả /24. Nhớ Apply sau khi sửa.
Tạo/ghi đĩa VM báo Permission denied
Do root-squash chặn ghi. Đặt Squash = Map all users to admin và đảm bảo user admin có Read/Write trên thư mục (tab Permissions của Shared Folder).
showmount -e trống / Export dropdown rỗng
Synology chỉ bật NFSv4 (v4 không dùng portmapper cho showmount). Gõ tay Export /volume1/proxmox và thêm --options vers=4.1 (GUI: Advanced → NFS version 4.1).
Storage hiện dấu ? (grey/unknown)
Không mount được: kiểm tra ping NAS, firewall Synology (mở 111/2049), NAS có đang bật/ngủ không. Thử pvesm set synology-nfs --disable 0 và xem journalctl -u pvestatd.
8. Tối ưu hiệu năng & khuyến nghị
- Bật asynchronous trong NFS Permissions (đã làm ở mục 3) — ghi nhanh hơn rõ rệt so với sync.
- Jumbo Frame (MTU 9000) đồng bộ 2 đầu (Synology + NIC Proxmox + switch) nếu hạ tầng hỗ trợ — giảm overhead cho luồng lớn.
- Mạng riêng cho storage: ưu tiên NIC/VLAN riêng, tốt nhất 2.5/10 GbE. LAN 1G đủ cho ISO/backup/template nhưng chậm cho ổ VM "nóng".
- Đặt đúng loại dữ liệu: Synology qua LAN 1G rất hợp làm kho ISO · template · backup vzdump. Với đĩa VM đang chạy IO cao, ưu tiên đĩa local/SSD trên host; NAS chỉ nên chứa VM ít IO hoặc để migrate.
- SSD Cache trên Synology (read-write) giúp cải thiện random IO nếu chạy VM trực tiếp trên NAS.
- NFS > SMB cho Proxmox: latency thấp hơn, hỗ trợ disk image & live migration mượt hơn.
✅ Checklist nhanh
- 1Synology: tạo Shared Folder proxmox → cấp admin R/W.
- 2File Services → NFS: Enable + NFSv4.1.
- 3NFS Permissions: IP/subnet Proxmox · R/W · Map all users to admin · sys · async.
- 4(nếu bật) mở firewall port 111/2049 cho subnet Proxmox.
- 5Proxmox: Datacenter → Storage → Add → NFS (hoặc pvesm add nfs) → chọn content ISO/backup/vztmpl/images/rootdir.
- 6Kiểm tra: pvesm status, showmount -e, upload ISO + tạo VM + test backup.
Bài viết hướng dẫn gốc của HoaTranLab cho nền tảng Synology DSM 7. Với môi trường production nên tách VLAN storage, dùng ≥2.5GbE và backup NAS định kỳ (Snapshot/Hyper Backup).