跳至主要内容

在 Proxmox VE 建立虛擬主機

在完成 Proxmox VE 的安裝之後,下一步就是建立我們的第一台虛擬機器 (Virtual Machine, 簡稱 VM)。

PVE 核心基於 QEMU / KVM 技術。QEMU 是一套開源的硬體模擬器,配合 Linux 核心的 KVM (Kernel-based Virtual Machine) 模組,能直接調用 CPU 的硬體虛擬化指令集(Intel VT-x 或 AMD-V),讓虛擬機以近乎原生硬體的速度運行,並且彼此完全隔離。

這篇文章將帶你走過 PVE 網頁介面的 VM 建立精靈,並分享在 Homelab 環境中最推薦的核心設定與效能優化技巧。


建立 VM 流程​

登入 PVE Web GUI 後,點擊右上角的藍色按鈕 Create VM(建立虛擬機器),系統會彈出逐步設定精靈:

PVE 建立虛擬機器按鈕

1. General (一般設定)​

  • Node:選擇你要建立 VM 的實體節點(例如 pve 或 pve-node)。
  • VM ID:系統會自動分配一組數字識別碼(如 100、101 或自訂編號),日後使用命令列管理時都會以此 ID 為準。
  • Name:為虛擬機取一個好辨識的名稱,例如 ubuntu-server、docker-host 或 nas。
  • Resource Pool:單機環境保持預設留空即可。

General 一般設定


2. OS (作業系統與映像檔)​

  • Storage:選擇存放 ISO 映像檔的儲存位置(預設通常存放在 local)。
  • ISO Image:在下拉選單中選擇你要安裝的作業系統 ISO 檔(例如 ubuntu-24.04-live-server-amd64.iso)。若尚未上傳,可先至 local -> ISO Images 點擊 Upload 上傳或輸入下載網址。
  • Type:選擇 Linux(若安裝 Windows 則選 Microsoft Windows)。
  • Version:選擇 7.x - 2.6 Kernel(或 6.x - 2.6 Kernel,現代 Linux 發行版皆適用)。

OS 作業系統設定


3. System (系統架構與控制器)​

  • Graphic card:保持預設 Default 即可。
  • SCSI Controller:強烈建議選擇 VirtIO SCSI Single,效能最佳且支援獨立佇列與 TRIM 指令。
  • Qemu Agent:請務必勾選。等客體系統安裝完成後啟用 Agent,PVE 才能讀取精確記憶體、即時 IP,並執行優雅關機。
  • BIOS / Machine:
    • 一般 Linux 伺服器保持預設 Default (i440fx) 與 SeaBIOS。
    • 若需要 UEFI 開機、TPM 2.0(如 Windows 11)或準備做 PCIe 硬體直通,可切換為 q35 與 OVMF (UEFI)。

System 系統設定


4. Disks (虛擬硬碟)​

  • Bus/Device:選擇 SCSI(搭配前一步的 VirtIO SCSI Controller,I/O 效能最優)。
  • Storage:選擇 local-lvm(支援快照 Snapshot 與 LVM-thin 動態容量分配)。
  • Disk size (GiB):依用途分配容量,一般輕量 Docker 伺服器建議給 32G 至 64G(後續隨時可以在 PVE 線上擴容)。
  • Discard:若底層實體硬碟是 SSD / NVMe,建議勾選(啟用 TRIM 支援,刪除檔案時能即時釋放實體儲存空間)。
  • SSD emulation:建議勾選,讓虛擬機將該磁碟視為 SSD 並最佳化排程。
  • Cache (快取模式):可在進階選項中設定磁碟快取策略:
    • Default (No cache) (預設無快取):繞過 Host 端的 Page Cache,直接進行 Direct I/O,安全且為 Proxmox 官方預設推薦。
    • Write Through (直寫模式):寫入時同時寫入 Host 快取並同步落盤至實體儲存媒體後才回傳寫入完成。非常安全(即使實體主機突發斷電也不易遺失已確認寫入的資料),但寫入速度會受限於實體硬碟速度。
    • Write Back (回寫模式):寫入只要送達 Host 記憶體的 Page Cache 就立即回報完成,後台再非同步刷入磁碟。I/O 寫入吞吐量最大、延遲最低(特別在隨機小檔寫入或資料庫場景),但缺點是若實體主機無預警斷電(無不斷電系統 UPS 支援),可能會遺失尚未落盤的快取資料。
    • 💡 選用建議:若環境有配置 UPS 且追求最佳磁碟 I/O 效能,推薦選擇 Write Back;若無 UPS 且極度重視資料寫入安全性,建議保持預設 No cache 或 Write Through。

Disks 虛擬硬碟設定


5. CPU (處理器設定)​

  • Sockets:實體 CPU 插槽數,單顆處理器的主機保持 1。
  • Cores:分配給該 VM 的核心數。建議一開始可以先從 2 核心(2 Cores) 開始配置,後續若發現運算負載吃緊或需要跑大型服務,隨時可以在硬體清單中線上增加,避免一開始就過度佔用 CPU 資源。
  • Type (處理器類型):
    • host(單機推薦):直接將實體 CPU 的所有硬體指令集與特性(如 AES-NI 加密加速、AVX 等)完全透傳給 VM,運算效能耗損最低、接近裸機體驗。
    • x86-64-v2-AES / 通用型(HA 叢集與遷移環境推薦):如果未來有規劃建立 Proxmox 多節點叢集並啟用 HA (High Availability) 高可用性 或跨節點熱遷移 (Live Migration),因為不同節點主機的實體 CPU 型號可能不同,若設為 host 在跨主機遷移時會因指令集差異導致不相容或當機,這時就必須選擇通用型 CPU 類型(如 x86-64-v2-AES 或 kvm64)。

CPU 處理器設定


6. Memory (記憶體配置)​

  • Memory (MiB):設定分配給 VM 的記憶體大小(例如 2048 代表 2GB,4096 代表 4GB,8192 代表 8GB)。
  • Ballooning (動態氣球記憶體):
    • 原理:允許 PVE 在虛擬機閒置時動態回收 RAM 給其他 VM 或容器使用,提升多 VM 環境的記憶體利用率。
    • 注意事項:若 Guest 系統內的 Guest Agent 反應不及,或有大量突發性記憶體佔用(例如特定大型資料庫、Java/JVM 應用),浮動記憶體調度有時會跟不上而引發效能抖動甚至 OOM 異常。
    • 設定建議:若追求最高的系統穩定度與確定性,建議取消勾選(關閉 Ballooning),給予固定記憶體;若資源有限且尚在摸索階段,不確定時可以先保持預設開啟。

Memory 記憶體配置


7. Network (網路介面)​

  • Bridge:預設為 vmbr0(橋接至實體網卡,讓虛擬機與區域網路同網段)。
  • Model:選擇 VirtIO (paravirtualized)(半虛擬化高效能網卡,驅動開銷極小且吞吐量最高)。
  • VLAN Tag:若家中路由器有切分 VLAN,可在這裡指定 Tag 編號;一般環境留空即可。
  • Firewall:可依需求決定是否由 PVE 內建防火牆接管此 VM 流量。

Network 網路設定


8. Confirm (確認總覽與開機)​

檢查剛才所有設定的摘要清單。確認無誤後,可勾選 Start after created(建立完成後自動開機),點擊 Finish。

Confirm 確認總覽

虛擬機建立完成後,點擊左側清單中的該台 VM,切換到 Console(控制台)頁面,就能看到虛擬機開機畫面並開始進行作業系統安裝。


關鍵必備工具:QEMU Guest Agent​

當你在 VM 內裝好作業系統後(例如 Ubuntu Server 或 Windows),第一件最重要的事情就是安裝並啟動 QEMU Guest Agent。

為什麼需要它?​

  1. 即時顯示 IP 位址:不需要登入 VM 即可在 PVE 網頁儀表板上直接查看該 VM 的區域網路 IP。
  2. 精準記憶體監控:Linux 系統常會將可用記憶體拿來當 Cache/Buffer,安裝 Agent 後 PVE 才能正確顯示真實的 RAM 使用量,避免誤判滿載。
  3. 優雅平順關機:點擊 PVE 介面上的 Shutdown 時,會透過 Agent 發送 ACPI 信號讓作業系統安全存檔並正常關機,不會發生逾時強制斷電導致資料毀損。
  4. 快照與備份一致性 (fsfreeze):使用 PVE Snapshot 或 Proxmox Backup Server (PBS) 進行熱備份時,Agent 會暫時凍結檔案系統寫入,確保備份出來的資料 100% 完整可用。

安裝與啟動方式​

1. Linux 虛擬機 (Ubuntu / Debian)​

在虛擬機內部終端機輸入以下指令:

# 1. 更新套件清單並安裝 qemu-guest-agent
sudo apt-get update
sudo apt-get install -y qemu-guest-agent

# 2. 啟動服務並設定開機自動執行
sudo systemctl start qemu-guest-agent
sudo systemctl enable qemu-guest-agent

2. Windows 虛擬機​

在 Windows 系統中,需要透過 VirtIO 驅動光碟進行安裝:

  1. 前往 PVE 官方下載最新版 Windows VirtIO Drivers ISO (virtio-win.iso)。
  2. 在 PVE 網頁介面該台 VM 的 Hardware(硬體)清單中,將 virtio-win.iso 掛載至虛擬光碟機 (CD/DVD Drive)。
  3. 進入 Windows 檔案總管打開該光碟機槽,執行 virtio-win-gt-x64.msi(或進入 guest-agent 資料夾雙擊執行 qemu-ga-x86_64.msi)完成安裝。
  4. 安裝完成後,可至 Windows「服務 (Services)」確認 QEMU-GA / QEMU Guest Agent 服務狀態為「執行中 (Running)」。

安裝完成後,回到 PVE 網頁介面的 VM Summary 頁面,稍等數秒即可看到 Guest Agent 狀態顯示為正常運行,並同步顯示出該虛擬機的 IP 位址。


常用命令列管理工具 (qm CLI)​

除了使用 Web 介面,Proxmox VE 內建的 qm 指令也能讓你在 PVE 終端機快速管理虛擬機:

# 列出所有虛擬機器與運行狀態
qm list

# 啟動指定 VM (例如 ID: 100)
qm start 100

# 平順關機
qm shutdown 100

# 強制斷電 (關機卡死時使用)
qm stop 100

# 重開機
qm reboot 100

# 將 VM 複製成新虛擬機 (完整複製)
qm clone 100 101 --name ubuntu-test --full

# 建立快照
qm snapshot 100 snap-before-update --description "升級系統前備份"

結語與下一步​

掌握了 VM 的建立與核心參數配置後,你就具備了在 Homelab 中隨時切分獨立運算環境的能力。

接下來,我們將以最受歡迎的 Linux 伺服器版本為例,完整走過系統安裝與 Docker 容器化環境的架設流程: