1. Tổng quan & khi nào dùng PDM
Proxmox Datacenter Manager (PDM) là công cụ quản lý tập trung cho phép giám sát & điều khiển nhiều node/cluster Proxmox VE độc lập từ một giao diện duy nhất — không cần gộp chúng thành một cluster chung. Đây là lớp quản lý bên trên hạ tầng: một "single pane of glass" cho toàn bộ datacenter.
Nên dùng PDM khi
- Có nhiều cluster/node PVE rời rạc (nhiều site, chi nhánh, DC) cần xem tổng quan tài nguyên ở một chỗ.
- Cần live migration VM giữa các cluster khác nhau mà không thể gộp cluster.
- Muốn dashboard tổng CPU/RAM/Storage, trạng thái guest & cảnh báo toàn hạ tầng.
Cần lưu ý
- PDM không thay thế giao diện quản trị từng cluster PVE — chỉ quản lý bên trên.
- Mỗi PVE remote vẫn tự vận hành độc lập: PDM chết → các cluster vẫn chạy bình thường.
- Không cài PDM chung trên node PVE production — chạy nó như một máy/VM riêng.
Bài này dùng PDM 1.1 (bản stable mới nhất, nền Debian 13 "Trixie"), triển khai trên máy ảo (VM) — dễ snapshot/backup, tách biệt với cluster quản lý. Yêu cầu các remote Proxmox VE ≥ 8.4.
2. Kiến trúc & khái niệm
┌───────────────────────────────┐ Quản trị viên ──HTTPS 8443──▶ │ PROXMOX DATACENTER MANAGER │ (VM riêng) │ Dashboard · Remotes · ACL │ └───────────────┬───────────────┘ ┌──────API 8006───────────────┼───────────API 8006──────────┐ ▼ ▼ API 8007 ▼ ┌──────────────────┐ ┌────────────────────┐ ┌──────────────────┐ │ CLUSTER A (PVE) │ │ PBS (backup srv) │ │ NODE PVE độc lập │ │ node1 node2 … │ │ datastore/backup │ │ standalone │ └────────┬─────────┘ └────────────────────┘ └────────┬─────────┘ └────────── Live migration node-to-node (dữ liệu KHÔNG qua PDM) ─────┘
| Khái niệm | Ý nghĩa |
|---|---|
| Remote | Một cluster PVE, một node PVE độc lập, hoặc một PBS được kết nối vào PDM. |
| Data collection | PDM định kỳ thu thập trạng thái tài nguyên từ remote để dựng dashboard. |
| API token | Chứng thực dài hạn PDM dùng để giao tiếp với remote (thay cho lưu mật khẩu root). |
| Fingerprint | Vân tay chứng chỉ TLS của remote, dùng để tin cậy kết nối. |
| Realm | Miền xác thực: PAM, PDM authentication server, hoặc LDAP/Active Directory (tùy chọn). |
Luồng dữ liệu quan trọng: Khi remote migration, dữ liệu VM đi trực tiếp giữa cluster nguồn và cluster đích (qua mạng của các node PVE). PDM chỉ điều phối (orchestrate), không là điểm trung chuyển dữ liệu.
3. Yêu cầu hệ thống & cổng mạng
3.1. Cấu hình VM
| Thành phần | Tối thiểu (lab/đánh giá) | Khuyến nghị (production) |
|---|---|---|
| vCPU | 1 core | ≥ 2 cores (host-type/x86-64-v2) |
| RAM | 1 GB | ≥ 4 GB |
| Ổ đĩa | ≥ 10 GB | ≥ 40 GB trên SSD/ZFS |
| NIC | 1 × virtio (vmbr0) | 1 × virtio, VLAN quản trị riêng |
PDM rất nhẹ (backend viết bằng Rust). Với vài chục remote, 2 vCPU + 4 GB RAM + 40 GB đĩa là dư dùng.
3.2. Tương thích Proxmox VE
- PDM 1.1 yêu cầu remote Proxmox VE ≥ 8.4.
- Nên nâng mọi PVE remote lên bản mới nhất cùng dòng để tránh lỗi API.
3.3. Cổng mạng cần mở (firewall)
| Chiều | Nguồn → Đích | Cổng | Mục đích |
|---|---|---|---|
| Vào | Admin → PDM | 8443/tcp | Web UI + API của PDM |
| Vào | Admin → PDM | 22/tcp | SSH quản trị (giới hạn IP) |
| Ra | PDM → PVE remote | 8006/tcp | API Proxmox VE |
| Ra | PDM → PBS remote | 8007/tcp | API Proxmox Backup Server |
| Ra | PDM → LDAP/AD (tùy chọn) | 389/636 | Xác thực LDAP / LDAPS |
| Ra | PDM → DNS/NTP | 53/123 | Phân giải tên & đồng bộ giờ |
| Ngang | PVE nguồn ↔ PVE đích | mạng migration PVE | Dữ liệu live migration (không qua PDM) |
Đồng bộ giờ (NTP) là bắt buộc giữa PDM và các remote — lệch giờ sẽ gây lỗi xác thực token/chứng chỉ.
4. Tạo VM cho PDM trên Proxmox VE
Tải ISO PDM từ proxmox.com/downloads → upload vào storage local của node PVE (Datacenter → Storage → local → ISO Images → Upload). Sau đó tạo VM qua GUI hoặc CLI.
Cách A — Qua giao diện Proxmox VE
Create VM → tab General/OS
Name: pdm. Tab OS: chọn ISO PDM đã upload, Guest OS = Linux · 6.x - 2.6 Kernel.
System
Machine = q35, BIOS = OVMF (UEFI) + thêm EFI Disk (hoặc để SeaBIOS mặc định nếu muốn đơn giản), SCSI Controller = VirtIO SCSI single, tick Qemu Agent.
Disks · CPU · Memory
Disk: 40 GB, Bus SCSI, storage SSD/ZFS, tick Discard + SSD emulation. CPU: 2 cores, Type host (hoặc x86-64-v2-AES). Memory: 4096 MB.
Network → Confirm → Start
Bridge = vmbr0, Model VirtIO (paravirtualized). Xem lại → Finish, rồi Start VM và mở Console.
Cách B — Qua CLI (chạy trên node PVE)
# Đổi 9000 thành VMID trống; local-lvm/local theo storage của bạn qm create 9000 --name pdm --ostype l26 --machine q35 \ --cores 2 --cpu host --memory 4096 \ --scsihw virtio-scsi-single --scsi0 local-lvm:40,discard=on,ssd=1 \ --net0 virtio,bridge=vmbr0 --agent 1 \ --ide2 local:iso/proxmox-datacenter-manager_1.1.iso,media=cdrom \ --boot order=ide2 qm start 9000 # Mở console: Proxmox GUI → VM 9000 → Console (noVNC)
Muốn dùng UEFI: thêm --bios ovmf --efidisk0 local-lvm:0. Sau khi cài xong nhớ gỡ ISO khỏi ide2 và đổi --boot order=scsi0.
5. Cài đặt PDM bằng ISO (trong VM)
Boot & chọn Install
Trong Console VM, chọn Install Proxmox Datacenter Manager (Graphical) → chấp nhận EULA.
Target disk & filesystem
Chọn ổ đĩa ảo 40 GB. Nhấn Options nếu muốn đổi filesystem — với VM đơn ổ dùng ext4 hoặc xfs là đủ (ZFS chỉ cần khi có nhiều ổ để redundancy).
Location & Time Zone
Country, Time zone = Asia/Ho_Chi_Minh, Keyboard layout.
Administration Password & Email
Đặt mật khẩu root mạnh + email quản trị (nhận cảnh báo hệ thống).
Network
| Trường | Giá trị ví dụ |
|---|---|
| Hostname (FQDN) | pdm.corp.local (phải có phần domain) |
| IP address (CIDR) | 192.168.10.20/24 (IP tĩnh) |
| Gateway | 192.168.10.1 |
| DNS server | 192.168.10.1 (hoặc DNS nội bộ) |
Summary → Install → Reboot
Xem lại cấu hình → Install. Cài xong, gỡ ISO (nếu chưa) và Reboot. Console sẽ hiển thị URL truy cập:
Web GUI: https://192.168.10.20:8443
Phương án thay thế — cài trên Debian 13 có sẵn
Nếu VM đã chạy Debian 13 (Trixie) và muốn cài PDM lên trên (đảm bảo FQDN trong /etc/hosts trỏ về IP tĩnh, không phải 127.0.1.1):
# 1) Repo No-Subscription (deb822) — /etc/apt/sources.list.d/pdm.sources cat > /etc/apt/sources.list.d/pdm.sources <<'EOF' Types: deb URIs: http://download.proxmox.com/debian/pdm Suites: trixie Components: pdm-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF # 2) Import GPG key wget https://enterprise.proxmox.com/debian/proxmox-archive-keyring-trixie.gpg \ -O /usr/share/keyrings/proxmox-archive-keyring.gpg # 3) Cập nhật & cài gói meta (kéo cả backend + UI) apt update && apt full-upgrade -y apt install -y proxmox-datacenter-manager-meta
Có subscription → dùng repo enterprise: URI https://enterprise.proxmox.com/debian/pdm, Components pdm-enterprise.
6. Cấu hình ban đầu sau cài đặt
Truy cập & đăng nhập
Mở https://192.168.10.20:8443 → bỏ qua cảnh báo chứng chỉ tự ký. Đăng nhập: User root · Password đặt lúc cài · Realm Linux PAM standard authentication.
Cập nhật hệ thống ngay
Administration → Updates → Refresh rồi Upgrade. Hoặc CLI:
apt update && apt full-upgrade -y
Kiểm tra dịch vụ & cổng
systemctl status proxmox-datacenter-manager-daemon.service systemctl status proxmox-datacenter-manager-proxy.service ss -tlnp | grep 8443 # proxy phải đang lắng nghe
Xác nhận cấu hình nền
Administration → Network: IP tĩnh/gateway/DNS đúng. Administration → Time: NTP đang đồng bộ, đúng timezone. Đặt email quản trị nhận cảnh báo.
7. Thêm remote Proxmox VE (step by step)
Đây là bước cốt lõi — kết nối một cluster/node PVE vào PDM.
(Khuyến nghị) Tạo sẵn API token trên PVE
Thay vì lưu mật khẩu root, dùng API token phạm vi giới hạn. Trên node PVE: Datacenter → Permissions → API Tokens → Add:
| Trường | Giá trị |
|---|---|
| User | root@pam (hoặc user chuyên dụng pdm@pve) |
| Token ID | pdm |
| Privilege Separation | Bỏ chọn cho lab (token kế thừa quyền user); production nên bật & gán ACL tối thiểu. |
Add → lưu ngay Secret (chỉ hiện 1 lần). Kết quả: Token ID root@pam!pdm + secret xxxxxxxx-xxxx-...
Mở dialog Add Remote trên PDM
Remotes → Add → Proxmox VE. Điền thông tin kết nối:
| Trường | Giá trị ví dụ | Ghi chú |
|---|---|---|
| Name / ID | production-cluster | Tên định danh trong PDM (không dấu/khoảng trắng) |
| API Endpoint | https://pve1.corp.local:8006 | IP/FQDN một node trong cluster, cổng 8006 |
| Authentication | API Token (khuyến nghị) | Hoặc Username/Password |
| Token / User | root@pam!pdm | Dán Token ID đầy đủ |
| Secret / Password | xxxxxxxx-... | Secret của token, hoặc mật khẩu root |
| Fingerprint | (tự động dò) | Vân tay TLS — đối chiếu thủ công |
Hình 1 — Dialog "Add Remote → Proxmox VE" (minh hoạ)
Xác minh fingerprint (bảo mật)
Trên node PVE, lấy vân tay chứng chỉ và so khớp với giá trị PDM hiển thị — chỉ nhấn Add khi trùng khớp:
openssl s_client -connect pve1.corp.local:8006 -showcerts </dev/null 2>/dev/null \ | openssl x509 -noout -fingerprint -sha256
Xác nhận data collection
Vào Remotes → <tên remote>: trạng thái chuyển Online. Chờ vài chục giây cho lần data collection đầu tiên — dashboard hiển thị node, guest, CPU/RAM/Storage. Lặp lại bước 2–4 cho từng cluster/node PVE khác.
Nếu chọn Username/Password (root@pam), một số bản PDM sẽ tự tạo API token trên PVE để dùng lâu dài. Tuy nhiên tạo token thủ công (bước 1) vẫn rõ ràng và an toàn hơn cho production.
8. Thêm remote Proxmox Backup Server
Tương tự PVE nhưng dùng cổng 8007:
Trên PBS: Configuration → Access Control → API Token → tạo token (vd root@pam!pdm), lưu secret.
Trên PDM: Remotes → Add → Proxmox Backup Server. API Endpoint https://pbs.corp.local:8007.
Dán Token ID + Secret, đối chiếu fingerprint → Add. PDM hiển thị datastore, dung lượng & job backup của PBS trong tổng quan.
9. Remote migration — di chuyển VM giữa cluster
Tính năng nổi bật của PDM: di chuyển guest giữa các cluster khác nhau.
Điều kiện tiên quyết
- Cluster nguồn & đích đều là remote Online trong PDM.
- Node PVE nguồn & đích thông mạng với nhau (migration đi trực tiếp node-to-node).
- Storage đích tương thích (có target storage phù hợp cho disk VM) & bridge mạng tồn tại.
- Đủ quyền Migrate trên cả hai remote.
Chọn guest cần di chuyển → Migrate (Remote Migration).
Chọn Target remote (cluster đích) và Target node.
Ánh xạ Storage (disk nằm ở storage nào bên đích) & Network bridge.
Chọn Online (live, VM đang chạy) hoặc Offline (VM tắt — an toàn cho lần đầu).
Xem lại → Migrate. Theo dõi tiến trình ở Tasks.
Khuyến nghị: thử offline migration với 1 VM test trước khi live-migrate VM production. Kiểm tra kỹ ánh xạ storage/network để tránh VM "mất" NIC hoặc disk sau khi qua cluster mới.
10. Xác thực, phân quyền & LDAP/AD (tùy chọn)
PDM dùng mô hình phân quyền như PVE/PBS: Realm → User → Role → ACL trên Path.
10.1. Realms & user cục bộ
- PAM: user hệ điều hành (mặc định có root@pam).
- PDM authentication server: tạo user nội bộ, không cần tài khoản OS.
- LDAP / Active Directory: tích hợp thư mục doanh nghiệp (tùy chọn — mục 10.3).
Tạo user & phân quyền: Configuration → Access Control → Users → Add (vd opsteam@pdm) → ACL → Add gán Path + Role theo nguyên tắc least privilege (có thể giới hạn theo remote cụ thể).
10.2. API token & 2FA
- API token (Access Control → API Tokens): dùng cho tự động hóa/script, gán ACL riêng tách khỏi user.
- 2FA: bật TOTP, WebAuthn/FIDO2 hoặc Recovery keys cho tài khoản admin — bắt buộc với root trên production.
10.3. (Tùy chọn) Tích hợp LDAP / Active Directory
Cho phép người dùng đăng nhập PDM bằng tài khoản AD/LDAP của công ty thay vì tạo user cục bộ. Phù hợp khi có nhiều quản trị viên & cần quản lý tập trung theo group.
Thêm Realm
Configuration → Access Control → Realms → Add → chọn Active Directory Server (cho AD) hoặc LDAP Server (cho OpenLDAP/khác).
Điền thông tin kết nối
| Trường | AD Server (ví dụ) | LDAP Server (ví dụ) |
|---|---|---|
| Realm | corp-ad — tên định danh realm trong PDM | |
| Domain / Base DN | Domain corp.local | Base DN dc=corp,dc=local |
| Server | dc01.corp.local (+ fallback server nếu có) | |
| Port / TLS | 389 (StartTLS) hoặc 636 (LDAPS — khuyến nghị) | |
| User attribute | sAMAccountName | uid |
| Bind User / DN | [email protected] hoặc cn=svc-pdm,ou=svc,dc=corp,dc=local + mật khẩu bind | |
Chứng chỉ TLS (khi dùng LDAPS/StartTLS)
Bật Verify TLS certificate và nạp CA của domain vào PDM để xác thực máy chủ AD/LDAP (tránh MITM). Nếu dùng CA nội bộ, thêm CA đó vào trust store.
Sync & phân quyền
Dùng Sync để đồng bộ user/group từ AD/LDAP về PDM (có thể đặt lịch). Sau đó vào ACL gán Role cho user/group đã sync (vd group IT-Admins@corp-ad → role Admin trên path phù hợp).
Realm LDAP/AD được cung cấp qua nền tảng access chung của Proxmox. Tên trường/tùy chọn có thể khác nhẹ giữa các bản build — đối chiếu với dialog thực tế trên PDM 1.1 bạn đang cài. Nếu chỉ có 1–2 admin, dùng user cục bộ (10.1) là đủ, không bắt buộc LDAP/AD.
11. Bảo mật & firewall
11.1. Thay chứng chỉ TLS tự ký
Administration → Certificates: cấu hình ACME (Let's Encrypt — tự xin & gia hạn) hoặc Upload Custom Certificate nếu dùng CA nội bộ.
11.2. Firewall trên VM PDM
Chỉ mở cổng cần thiết (mục 3.3). Ví dụ với ufw, chỉ cho mạng quản trị truy cập:
ufw allow from 192.168.10.0/24 to any port 8443 proto tcp ufw allow from 192.168.10.0/24 to any port 22 proto tcp ufw enable
11.3. Nguyên tắc cứng hóa
- 2FA bắt buộc cho tài khoản admin.
- Dùng API token phạm vi tối thiểu cho remote thay vì mật khẩu root.
- Giới hạn IP truy cập 8443/22 về đúng subnet quản trị.
- Không expose PDM ra Internet trực tiếp — đặt sau VPN/reverse proxy.
- Cập nhật định kỳ (mục 12).
12. Backup cấu hình & cập nhật
12.1. Backup cấu hình PDM
Cấu hình nằm trong /etc/proxmox-datacenter-manager/. Do PDM chạy trên VM, cách gọn nhất là snapshot/backup nguyên VM bằng PVE/PBS. Ngoài ra sao lưu file cấu hình:
tar czf pdm-config-$(date +%F).tar.gz \ /etc/proxmox-datacenter-manager/ \ /etc/network/interfaces /etc/hosts
12.2. Cập nhật thường xuyên
apt update && apt full-upgrade -y # Khởi động lại dịch vụ nếu có cập nhật daemon/proxy: systemctl restart proxmox-datacenter-manager-daemon.service \ proxmox-datacenter-manager-proxy.service
PDM còn phát triển nhanh — theo dõi changelog & cập nhật đều để có bản vá lỗi/bảo mật. Snapshot VM trước mỗi lần upgrade lớn để rollback nhanh.
13. Xử lý sự cố
| Triệu chứng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Remote Offline ngay sau khi thêm | Sai cổng (8006 PVE / 8007 PBS), firewall chặn, sai token | Test curl -k https://<pve>:8006 từ PDM; mở firewall; tạo lại token |
| Certificate mismatch | Chứng chỉ PVE đổi (đổi hostname/IP), fingerprint cũ | PDM: Check Certificate; CLI: proxmox-datacenter-manager-client remote probe-certificate <remote> |
| Đăng nhập thất bại dù đúng mật khẩu | Lệch giờ giữa PDM & remote | Đồng bộ NTP cả hai phía |
| Dashboard trống / không có dữ liệu | Data collection chưa chạy hoặc token thiếu quyền | Chờ chu kỳ collection; kiểm tra ACL của token trên PVE |
| Remote migration lỗi | Node nguồn/đích không thông mạng, storage/bridge đích không tồn tại | Kiểm tra kết nối node-to-node; ánh xạ đúng target storage & network |
| Login LDAP/AD thất bại (nếu bật) | Sai Base DN/Bind user, TLS CA không tin cậy, user attribute sai | Kiểm tra Bind test, nạp CA, xác nhận sAMAccountName/uid; xem log dưới |
| Web UI 8443 không mở | Dịch vụ proxy chưa chạy | systemctl status proxmox-datacenter-manager-proxy.service |
Xem log:
journalctl -u proxmox-datacenter-manager-daemon.service -e journalctl -u proxmox-datacenter-manager-proxy.service -e
✅ Checklist triển khai
- 1VM riêng (2 vCPU · 4 GB · 40 GB), tách khỏi cluster PDM quản lý.
- 2Cài PDM 1.1 qua ISO · FQDN + IP tĩnh + NTP đồng bộ.
- 3Đăng nhập https://IP:8443 · cập nhật apt full-upgrade.
- 4Các PVE remote ≥ 8.4, đã tạo API token phạm vi tối thiểu.
- 5Add Remote từng cluster/PBS · đối chiếu fingerprint · chờ Online.
- 6Test offline migration 1 VM trước khi live-migrate production.
- 7Phân quyền ACL least-privilege · bật 2FA admin · (tùy chọn) realm LDAP/AD.
- 8Chứng chỉ TLS hợp lệ (ACME/CA) · firewall giới hạn 8443/22 · không expose Internet.
- 9Lịch snapshot/backup VM + backup /etc/proxmox-datacenter-manager/ · cập nhật định kỳ.
Tài liệu HoaTranLab cho PDM 1.1 (nền Debian 13 "Trixie"). Do PDM đang phát triển nhanh, hãy đối chiếu tên trường trong dialog thực tế của bản build đang cài; các bước & nguyên tắc kiến trúc vẫn giữ nguyên.