跳轉到

Proxmox VE Tutorial

Proxmox VE 是基於 Debian 的開源虛擬化平台,適合用來建立 VM、LXC container、homelab 服務,以及需要硬體 passthrough 的開發環境。

相較於 Hyper-V 或 VMware Workstation,Proxmox VE 的優勢在於它以 KVM 為核心,對 PCIe、GPU、USB、序列埠等硬體 passthrough 的支援較完整。若需要在 VM 中使用 GPU、FPGA 開發板或 JTAG/UART 裝置,Proxmox VE 會比一般桌面虛擬化工具更合適。

注意

部分遊戲或反作弊系統會偵測並阻擋虛擬機環境。即使網路上有繞過方法,也不建議把它當成穩定或安全的使用方式。

安裝與初始設定

安裝 Proxmox VE

參考資料:

家用網路建議

安裝時建議讓 Proxmox VE 主機接在 router 後方,先在 LAN 內完成設定。安裝前先查好 default gateway 與 DNS,並在安裝流程中填入正確設定,後續遠端連線會少很多問題。

登入 Web 管理介面

  1. 使用同一個 LAN 內的另一台電腦。
  2. 開啟瀏覽器,進入 https://<PVE_LAN_IP>:8006/
  3. 使用安裝時設定的帳號密碼登入:
  4. 使用者:root
  5. 密碼:安裝 Proxmox VE 時設定的 root 密碼

新增磁碟

參考:Proxmox VE 儲存基本配置

Tip

磁碟規劃建議一開始就盡量配置完整。後續再補磁碟時,若空間不連續或 storage type 不同,調整會比較麻煩。

建立 VM 與服務

Ubuntu VM

參考:Proxmox VE 安裝虛擬機:Ubuntu Server 20.04

Windows VM

建議先看這份 walkthrough:

重點設定:

  • 網卡使用 VirtIO。
  • 若需要低延遲遠端操作,可以搭配 Parsec。
  • 若要 GPU passthrough,先確認主機板、IOMMU group、GPU 型號與驅動相容性。

其他參考:

Docker / Portainer

參考:在 Proxmox 的 VM 上安裝 Oracle Linux 及 Docker

硬體 Passthrough

GPU Passthrough

參考資料:

音效卡 Passthrough

  1. 在 Proxmox shell 執行 lspci -v,確認音效裝置的 PCI device ID。
  2. 在 VM 的 Hardware 頁面新增對應 PCI Device。
  3. VM 開機後確認音訊輸入/輸出裝置是否正常。

Xbox Controller Passthrough

參考:Can't get Xbox one controller to passthrough?

VCK190 JTAG / UART Passthrough

  1. 在 VM 設定中加入 VCK190 對應的 USB device。
  2. Ubuntu 版本建議先依官方教材環境選擇;若教材指定 18.04.5,就先用該版本降低驅動相容性問題。
  3. 安裝 UART 驅動JTAG 驅動
  4. 在 Ubuntu VM 內加入 serial port 權限:
Bash
sudo adduser <username> dialout

Warning

不建議只用 sudo chmod 777 /dev/ttyUSB* 處理權限。這通常只能暫時取得 port 存取權,未必能完整處理板子的存取問題。

  1. 使用 PuTTY 或 Vitis 內建 terminal 連接 serial port。

網路設定

網路速度檢查

家用環境常見瓶頸:

  1. 電信方案:決定外網速度上限。
  2. 網路線:1 Gbps 網路通常使用 Cat.5e 以上即可。
  3. 網卡與網路晶片:會影響 VM 或主機的實際吞吐量。
  4. Router:CPU 與 NAT 效能會影響多人連線或高流量情境。
  5. VM 網卡設定:建議使用 VirtIO,通常比 Intel E1000 這類 emulated NIC 效能更好。

Router 與 LAN

Router 負責分配 LAN IP,並管理 WAN 與 LAN 之間的流量。若要從外網連回內網,通常需要 router、VPN、DDNS 或固定 IP 等設定配合。

實驗室或公司網路

若在實驗室、公司或學校網路中使用,請先確認網管政策。不要自行設定 port forwarding 或架 VPN。

家用環境通常建議在電信數據機後方接一台自己的 router,再讓 Proxmox VE 主機接在 router 後方。這樣 LAN、VPN、DDNS 與防火牆規則都比較容易掌握。

固定 IP 或 DDNS 可以用來解決家用浮動 IP 的問題。若 router 本身支援 DDNS,通常會比自行維護額外服務更方便。

網路設定參考

遠端連線

OpenVPN

遠端管理 Proxmox VE 時,建議先 VPN 回 LAN,再連 Web UI 或 VM。不要直接把 Proxmox VE 管理介面暴露到公網。

常見做法:

  1. 使用 router 內建 VPN server。例如 ASUS router 可直接建立 OpenVPN server。
  2. 在 Proxmox VE 或 VM 中自行架設 VPN。這種做法彈性較高,但 port forwarding 與防火牆設定也更容易出錯。

參考資料:

Remote Desktop

Windows / macOS:

  • 可使用 Parsec 做低延遲遠端桌面。

Ubuntu:

Bash
chmod +x ~/Downloads/xrdp-installer-1.4.7.sh
./xrdp-installer-1.4.7.sh -c -l -s

Tip

使用 RDP 連 Ubuntu VM 前,可以在 Proxmox VE 的 VM Hardware 設定中將 display 設成 none,避免遠端桌面顯示異常。