奧推網

選單
科技

容易被忽略的PVE細節-PVE的tips

作者:cosz

PVE的教程一搜一大把,站內也有很好的PVE入門教程,大家跟著一步一步走基本上都不會出問題。但是前幾天發了一篇x86小主機評測後發現,PVE有一些細節部分很多教程沒有說清楚,我儘可能的將在這篇文章中說清楚。

注:為了保證專業性,我會盡力找到官方的一些解釋,附在各個部分下面。

一、虛擬機器和CT模板

ct和虛擬機器

vm是完全虛擬出來一整個主機,而ct是程序隔離。簡單來說就是賓館和青年旅社的關係,vm虛擬化隔離更徹底,但是資源佔用也較大,ct程序隔離,所以不能任意模擬出任何系統,但是資源利用率最高。如果你使用linux,ct一般能滿足你的需求。

二、CPU分配

很多時候,家用小主機是4核、雙核,但是我們往往建立了不止一個虛擬機器,可能有小夥伴有疑問:是不是要按照物理核心數分配給各個虛擬機器?CPU模式選哪個更好?

那我們就來說說PVE中cpu分配頁的各個選項。

cpu

插槽數:

雖然家用主機板大部分都是1板1cpu,但是存在一個主機板可以搭載多顆cpu的情況。這裡的插槽數就是你想給你建立的這個虛擬機器分配的cpu數量。家用一般選1就可以了。

核心數:

關於cpu核心數的分配,更像是docker中的limit。我們給虛擬機器A分配了2核,那麼他最多隻能使用2核,但不代表這兩顆核心完全保留給了虛擬機器A。如果你有過esxi的使用經驗,esxi中記憶體有一個“完全預留”,這裡的cpu分配就和完全預留是截然不同的概念。所以不需要有負擔,放開手每個核心設定滿核心都可以。有人要問那分配的意義在哪裡?我下面說到權重的時候詳細說。

It is perfectly safe if the overall number of cores of all your VMs is greater than the number of cores on the server (e。g。, 4 VMs with each 4 cores on a machine with only 8 cores)。

類別:

這是絕大多數教程都沒說的東西。預設可以看到是kvm64,我們拉到最底下還可以看到host。兩個的區別用一句概括就是:kvm64具有最好的遷移性,host具有最好的效能。所謂遷移性,就是你將一個虛擬機器從宿主機A遷移到宿主機B,如果你沒有這樣的需求,選host就好了。引用官方的話說就是:

If you don’t care about live migration or have a homogeneous cluster where all nodes have the same CPU, set the CPU type to host, as in theory this will give your guests maximum performance。

權重:

就像上面說的,如果我們給每個虛擬機器都分配了相同的核心數,那該如何排程呢?均衡分配。那如果我的虛擬機器A很重要,一般需要更多的資源,不想被均衡分配搶資源怎麼辦呢?將權重調高。比如A是2048,B是1024,那麼在排程上A就是B的兩倍優先。

NUMA:

一種將記憶體分散到每個cpu的本地儲存池的技術。就像過去是市中心大商場,你每次買東西都要去大商場,路途遠耗時長,現在各個地方開了便利店,你就可以更快的拿到資源。但是這一切的前提是你有多個cpu。如過你只有一個,開和不開區別不大

三、記憶體

記憶體

記憶體只需要說一個,ballooning。它是一種動態調節宿主機和虛擬機器之間記憶體的技術,但是前提是你的虛擬機器能夠使用ballooning。例如一些人在pve下安裝ikuai總是莫名重啟,可以試試關掉ballooning,情況會有改善(我不是說開了就一定重啟)

四、網路

如果你需要在pve下虛擬路由(例如openwrt),建議進行直通網絡卡。直通網絡卡教程一搜一大把,我就不贅述。如果一不小心直通了管理口,無論如何進不去pve管理頁面了,可以將hdmi顯示輸出連線到一個顯示器上,在顯示出的pve管理命令列下輸入

qm stop “你的虛擬機器id(例如101)”

之後正常進入管理頁面刪除直通裝置就可以了。

有人會說半虛擬化已經很好了為什麼要直通。誠然,對於效能比較好的主機,半年虛擬化也可以跑滿頻寬,但是如果有直通的條件,為什麼不直通將更多的資源留給其他專案呢?如果網口不夠另說。

虛擬化網絡卡

另外選項中的e1000是歷史比較悠久的虛擬化技術了,後來有e1000e(esxi),對於pve來說,選半虛擬化最穩妥。

五、概要中的溫度顯示

有很多人需要隨時看到溫度情況,但是透過sensor命令不夠直觀,而且每次要進命令列。可以用一個小外掛來實現溫度、去掉訂閱提示、換源等操作。

https://github。com/ivanhao/pvetools

使用方法README介紹的很詳細,我就指個路就行了。效果如圖

溫度顯示

六、PVE下虛擬機器無法關閉問題

有時候要重啟pve,但是發現其中一個虛擬機器無論如何都關不掉,不停顯示停止錯誤。這時候可以如下操作

1。 進入pve命令列使用如下命令

qm stop “你的虛擬機器id”

如果顯示無法停止,由於無法unlockxxxx,進行第二步

2。 刪除conf

輸入如下命令後再次執行第一步

rm /var/lock/qemu-server/lock-103。conf

七、pve掛載nas儲存問題

我看很多人都是透過linux的方式進行掛載,但是對於nas使用者來說,有現成的ftp、nfs等服務時,就無須再用繁瑣的掛載到mnt下等等操作。下面以nfs為例

開啟你nas的nfs服務,例如威聯通在共享資料夾下對你想要掛載的資料夾進行nfs賦權,之後進入pve

按照如圖路徑進入nfs掛載設定

nfs掛載

之後填入你nfs伺服器地址即可,名稱什麼的看你喜好。

如圖我的設定

掛載

總結

本文是寫給pve初入門的朋友,解決一些教程不常寫的細節疑惑,對於熟悉pve的朋友,也歡迎隨時補充。