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⚓︎
Warning
如果是家用網路,在灌PVE時,強烈建議要接在router後,一切設定在內網內,不然遠端連線配置會有不少問題。然後可以先用其他電腦查看router的default gateway和dns,並照著填,可以省去很多麻煩。另外可以參考下列Introduction to router和Configure Network System章節,對router有進一步認識。
How to open PVE GUI interface in LAN⚓︎
- Use another computer to connect to the same wan_ip (use same router/same switch).
- Open the browser and https:// lan_ip_what_you_set :8006/
- type username and password
- user: root
- password: The password what you set when installing PVE
Add disk into PVE⚓︎
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:
-
Installation:Proxmox VE 安裝虛擬機:Windows 10 (一)
Maybe you need to refer this tutorial to resolve the drive problem. -
Improve the performance:
Proxmox VE 安裝虛擬機:Windows 10 (二)
Docker/Portainer⚓︎
在Proxmox的VM上安裝Oracle Linux及Docker
Passthrough⚓︎
Passthrough GPU⚓︎
- Remote Gaming and Streaming w/ Proxmox - Proxmox Walk-Through: Part 2
- The Ultimate Beginner's Guide to GPU Passthrough (Proxmox, Windows 10)
Passthrough the onboard sound⚓︎
lspci -v
in the shell and see the device id of sound card.- 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)⚓︎
- Add USB device of VCK190 in Ubuntu18.04.5,版本這麼神奇是因為配官方教材中的驅動程式,或許有興趣可以試看看22.04不裝uart驅動能不能動。
- 開啟VM Ubuntu,照著這兩篇下指令,要安裝UART驅動和jtag驅動
- 在VM Ubuntu的terminal
sudo adduser [username] dialout
來得到port和板子存取的權限,千萬不要只sudo chmod 777 /dev/ttyUSB*
,會只得到port的權限,但讀不到板子。 - 在VM Ubuntu中用putty或vitis內建的terminal連接serial port,我的作法是將所有對應的ttyUSB全加一遍。
Network⚓︎
Introduction to network speed⚓︎
我不是網路專家,不過根據家用網路經驗,還是可以給些網速的建議。
- 電信業:這是最直接的原因,申辦的方案會影響網速的上限。
- 網路線:如果是1GB的網路,Cat.5e以上的網路線就夠應付了,理論上網路線不貴。
- 網卡/網路晶片:接收速度有差。
- Router:Router裡的cpu也會影響網速。
- 虛擬機網路設定:如果網路使用半虛擬化(Virtio),會比全虛擬化(intel e1000)快不少,至於快多少,可以參考這篇,所以網路能半虛擬化就半虛擬化。
Introduction to router⚓︎
Warning
有關router設定,若是實驗室使用,請找網管,我不是網管,不熟悉實驗室的router配置。這段以外行人家用或是宿舍用的角度說明。
Router是專門用來分配ip和管理Wan(Wide Area Network)和Lan(Local Area Network)的機器。也就是說,如果要從外網連回內網,就要有台router。
Router又能分成硬體路由和軟路由(軟體路由),各有優缺點:
- 硬體路由:可以想成一台小電腦專門處理ip分配。
- 優點:方便,現成,外面賣的router還能快速架設vpn,還會送ddns來處理dhcp之類的浮動ip。
- 缺點:國內硬體路由器價格盤,要挑規格。
- 結論:若以省時為考量而買的話,可以從規格和Router管理介面下手,這也是我目前選擇購買硬體路由的原因。我個人買了AC86u,雖然無線網路規格過時,但對於有限網路,至少還是能有gigabytes的網速。
- 軟體路由:前面提到路由器就像一台小電腦,所以其實只要有閒置的舊電腦,就能用軟體模擬路由器。常見的軟體有pfsense,RouterOS。
- 優點:可以用幾千元的設備兜出上萬元或十萬元的頂級硬體路由器。
- 缺點:比較麻煩,時間和薪水比的話划不來。而且網速沒跟上的話,路由器再頂也是浪費。舉個例子,1GB的網速,如果不考量wifi,一台3000元的硬體路由(AC86u)就能解決。
- 結論:時間多的話推薦學,是酷酷的黑科技。想學怎麼在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回內網,可以看下列兩個方案。
- Router: 這是我採取的方案,我是買華碩AC86u,在AC86u的管理介面中,就有快速創建OpenVPN的介面,照著操作,VPN能連上後,就能連接內網了。
- 如何設定華碩無線路由器做VPN伺服器
- 如何將您的設備連接到OpenVPN伺服器?(Windows系統)
- 如何將您的設備連接到OpenVPN伺服器? (For Mac)
- OpenVPN in Proxmox: 雖然我不太會port forwarding,照這個reference沒成功,不過這篇教學還是有參考價值,適合熱愛infra的學生。
Reference: Creating a VPN with Proxmox
Remote desktop⚓︎
- Windows/MacOS: Parsec
- The installation and configuration of Parsec
- Ubuntu(linux system): XRDP
- Install XRDP on ubuntu: 推薦用腳本的原因在於直接安裝XRDP會讓桌面排版看起來不太一樣,操作起來不方便。
使用腳本時,除了
chmod +x ~/Downloads/xrdp-installer-1.4.7.sh
,接著就是./xrdp-installer-1.4.7.sh -c -l -s
,之後重開機重新連線就正常了。 - Connect to ubuntu by RDP:
- Windows
- MacOS: Download Microsoft Remote Desktop in Apple store.
Tip
在用RDP連線前,記得去PVE的控制介面將ubuntu VM的display設定成none,才能正常顯示畫面。