跳轉到

Proxmox VE Tutorial

Preface - 為什麼你需要Proxmox VE⚓︎

Proxmox VE 是一個開源的伺服器環境,可以在其中建立虛擬機和容器,其Proxmox VE是基於Debian os,他也有GUI介面可以方便操作。
而比起在windows中使用hyper-v或vmware,使用Proxmox VE最直接的好處在於PVE是一種kvm,kvm可以很有效的將硬體資源分給虛擬機,像是可以透過通透(passthrough)來讓虛擬機獨佔GPU或是fpga版。而hyper-v光是passthrough serial port就有問題,而即使是vmware pro可以passthrough serial port,也沒辦法pass through PCIE,從這就能看出PVE的好處,尤其在做fpga版開發時。

Warning

當然Proxmox VE也有缺點,不少遊戲無法在虛擬機上遊玩,像是原神或特戰英豪。即使網路上有方法可以繞過虛擬機檢測,但這些方法不保證安全。

Preparation⚓︎

Install Proxmox VE GUI interface⚓︎

  1. My Proxmox Home Server Walk-Through: Part 1 (TrueNAS, Portainer, Wireguard)
  2. Proxmox VE 準備與安裝

Warning

如果是家用網路,在灌PVE時,強烈建議要接在router後,一切設定在內網內,不然遠端連線配置會有不少問題。然後可以先用其他電腦查看router的default gateway和dns,並照著填,可以省去很多麻煩。另外可以參考下列Introduction to router和Configure Network System章節,對router有進一步認識。

How to open PVE GUI interface in LAN⚓︎

  1. Use another computer to connect to the same wan_ip (use same router/same switch).
  2. Open the browser and https:// lan_ip_what_you_set :8006/
  3. type username and password
  4. user: root
  5. password: The password what you set when installing PVE

Add disk into PVE⚓︎

Proxmox VE 儲存基本配置

Tip

一開始分配disk時,可以盡量就分配一步到位。因為後續補disk要動的地方不少,如果disk不相鄰也不能合併。

Install os/service in VM⚓︎

Ubuntu⚓︎

Proxmox VE 安裝虛擬機:Ubuntu Server 20.04

Windows⚓︎

Reference 1(recommendation):
Remote Gaming and Streaming w/ Proxmox - Proxmox Walk-Through: Part 2

  • Including:
  • Network: Virtio (paravirtualized)
  • Passthrough: GPU
  • Low-latency Remote Connectivity Software: Parsec

Reference 2:

  1. Installation:Proxmox VE 安裝虛擬機:Windows 10 (一)
    Maybe you need to refer this tutorial to resolve the drive problem.

  2. Improve the performance:
    Proxmox VE 安裝虛擬機:Windows 10 (二)

Docker/Portainer⚓︎

在Proxmox的VM上安裝Oracle Linux及Docker

Passthrough⚓︎

Passthrough GPU⚓︎

  1. Remote Gaming and Streaming w/ Proxmox - Proxmox Walk-Through: Part 2
  2. The Ultimate Beginner's Guide to GPU Passthrough (Proxmox, Windows 10)

Passthrough the onboard sound⚓︎

  1. lspci -v in the shell and see the device id of sound card.
  2. Insert the earphone, and add the corresponding PCI Device in the VM hardware.

Passthrough the Xbox one controller⚓︎

Can't get Xbox one controller to passthrough?

Passthrough VCK190(JTAG/UART)⚓︎

  1. Add USB device of VCK190 in Ubuntu18.04.5,版本這麼神奇是因為配官方教材中的驅動程式,或許有興趣可以試看看22.04不裝uart驅動能不能動。
  2. 開啟VM Ubuntu,照著這兩篇下指令,要安裝UART驅動jtag驅動
  3. 在VM Ubuntu的terminalsudo adduser [username] dialout來得到port和板子存取的權限,千萬不要只sudo chmod 777 /dev/ttyUSB*,會只得到port的權限,但讀不到板子。
  4. 在VM Ubuntu中用putty或vitis內建的terminal連接serial port,我的作法是將所有對應的ttyUSB全加一遍。

Network⚓︎

Introduction to network speed⚓︎

我不是網路專家,不過根據家用網路經驗,還是可以給些網速的建議。

  1. 電信業:這是最直接的原因,申辦的方案會影響網速的上限。
  2. 網路線:如果是1GB的網路,Cat.5e以上的網路線就夠應付了,理論上網路線不貴。
  3. 網卡/網路晶片:接收速度有差。
  4. Router:Router裡的cpu也會影響網速。
  5. 虛擬機網路設定:如果網路使用半虛擬化(Virtio),會比全虛擬化(intel e1000)快不少,至於快多少,可以參考這篇,所以網路能半虛擬化就半虛擬化。

Introduction to router⚓︎

Warning

有關router設定,若是實驗室使用,請找網管,我不是網管,不熟悉實驗室的router配置。這段以外行人家用或是宿舍用的角度說明。

Router是專門用來分配ip和管理Wan(Wide Area Network)和Lan(Local Area Network)的機器。也就是說,如果要從外網連回內網,就要有台router。

Router又能分成硬體路由和軟路由(軟體路由),各有優缺點:

  1. 硬體路由:可以想成一台小電腦專門處理ip分配。
  2. 優點:方便,現成,外面賣的router還能快速架設vpn,還會送ddns來處理dhcp之類的浮動ip。
  3. 缺點:國內硬體路由器價格盤,要挑規格。
  4. 結論:若以省時為考量而買的話,可以從規格和Router管理介面下手,這也是我目前選擇購買硬體路由的原因。我個人買了AC86u,雖然無線網路規格過時,但對於有限網路,至少還是能有gigabytes的網速。
  5. 軟體路由:前面提到路由器就像一台小電腦,所以其實只要有閒置的舊電腦,就能用軟體模擬路由器。常見的軟體有pfsense,RouterOS。
  6. 優點:可以用幾千元的設備兜出上萬元或十萬元的頂級硬體路由器。
  7. 缺點:比較麻煩,時間和薪水比的話划不來。而且網速沒跟上的話,路由器再頂也是浪費。舉個例子,1GB的網速,如果不考量wifi,一台3000元的硬體路由(AC86u)就能解決。
  8. 結論:時間多的話推薦學,是酷酷的黑科技。想學怎麼在Proxmox中開pfsense VM來當router,可以參考這篇

題外話,如果是家用網路,像是中華電信,都會附一台數據機,數據機中也有router,所以家用網路會有Lan。

Warning

但我不推薦直接使用數據機中的router,一來數據機硬體不佳,不適合處理router的事情,二來如果搞到網路出問題,就要找電信業的工程師重新設定一遍。比較好的做法是直接在數據機後接router。

Info

題外話,家用中華電信預設是浮動ip,為了讓pve可以順利從Wan連回Lan,可以去申請固定ip,或是現有的router可能也有DDNS可以處理浮動ip問題。

Configure Network System⚓︎

Proxmox Part 10: Let's configure our network system to create different connections

Remote access by OpenVPN⚓︎

Tip

前面的操作,我們都只對內網進行操作,所以如果要遠端遙控,就是vpn回內網,至於如何vpn回內網,可以看下列兩個方案。

  1. Router: 這是我採取的方案,我是買華碩AC86u,在AC86u的管理介面中,就有快速創建OpenVPN的介面,照著操作,VPN能連上後,就能連接內網了。
  2. 如何設定華碩無線路由器做VPN伺服器
  3. 如何將您的設備連接到OpenVPN伺服器?(Windows系統)
  4. 如何將您的設備連接到OpenVPN伺服器? (For Mac)
  5. OpenVPN in Proxmox: 雖然我不太會port forwarding,照這個reference沒成功,不過這篇教學還是有參考價值,適合熱愛infra的學生。
    Reference: Creating a VPN with Proxmox

Remote desktop⚓︎

  1. Windows/MacOS: Parsec
  2. The installation and configuration of Parsec
  3. Ubuntu(linux system): XRDP
  4. Install XRDP on ubuntu: 推薦用腳本的原因在於直接安裝XRDP會讓桌面排版看起來不太一樣,操作起來不方便。 使用腳本時,除了chmod +x ~/Downloads/xrdp-installer-1.4.7.sh,接著就是./xrdp-installer-1.4.7.sh -c -l -s,之後重開機重新連線就正常了。
  5. Connect to ubuntu by RDP:
    • Windows
    • MacOS: Download Microsoft Remote Desktop in Apple store.

Tip

在用RDP連線前,記得去PVE的控制介面將ubuntu VM的display設定成none,才能正常顯示畫面。