【PVE】EP.2 客製化 ProxmoxVE

Yomisana

這篇我會教讀者如何更換付費更新通道成免費更新通道,控制面板新增通知,處理器溫度,處理器時脈與在7.4之後所推出的暗黑主題如何啟用。

Proxmox 更新通道

更新通道就是如果有新的更新包所發放的網址

在網頁上變更付費更新通道成免費更新通道

目前網頁控制頁面上更換通道其實是蠻方便的不會像以前的版本還有可能要到終端機上面再去作變更。

步驟1: 選擇要替換更新的節點

在左邊清單選擇節點,選取你要變更的節點名稱

步驟2: 點擊更新

在概觀這欄選項上,選擇更新>套件庫

步驟3: 停用企業更新通道

在元件列表上找到pve-enterprise 那條更新通道,對著它單擊>停用

步驟4: 新增無訂閱更新通道

重新整理旁邊的新增按鈕單擊>選擇No-Subscription通道後>點擊新增即可完成!此次Proxmox更新通道變更

步驟5: 把PVE更新到最新狀態(可選)

在概觀這欄選項上,選擇更新>重新整理按鈕單擊後,如果有列出可更新套件再選擇是否單擊升級按鈕把PVE系統做套件更新。

控制面板

控制面板是查看當前此PVE伺服器物理硬體目前狀態的一個核心地方

安裝感應器套件

lm-sensors 套件,提供監控溫度、時脈等資訊的套件
PVE的控制台中打上

1
apt install lm-sensors -y

安裝完成後打上

1
sensors-detect

執行此指令,會跳出套件的設定精靈,如果你很了解該套件功能可以自行添加自己的喜好來手動設定,如果都沒有的話連續無腦按下 Enter 鍵直到結束設定精靈。

前置作業

如果沒有 nano 可以先執行此指令:

1
apt install nano -y

使用哪一個終端文字編輯器取決於個人愛好,作者個人常用 nano

修改 Nodes.pm

編輯 Nodes.pm - 算是資料接收的檔案

1
nano /usr/share/perl5/PVE/API2/Nodes.pm

Ctrl + W 搜尋 $res->{pveversion} 或是 my $dinfo = df('/', 1);

1
2
3
4
5
6
7
8
9
10
11
12
13
	$res->{pveversion} = PVE::pvecfg::package() . "/" .
PVE::pvecfg::version_text();

>> $res->{thermalstate} = `sensors`; << 新增這段指令在這兩個資料中間

my $dinfo = df('/', 1); # output is bytes

$res->{rootfs} = {
total => $dinfo->{blocks},
avail => $dinfo->{bavail},
used => $dinfo->{used},
free => $dinfo->{blocks} - $dinfo->{used},
};

處理器溫度

修改 pvemanagerlib.js

編輯 pvemanagerlib.js - 算是PVE控制面板的前端動態接收資料檔案

1
nano /usr/share/pve-manager/js/pvemanagerlib.js
修改 PVE 狀態欄高度

Ctrl + W 搜尋 PVE.node.StatusView

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ext.define('PVE.node.StatusView', {
extend: 'Proxmox.panel.StatusView',
alias: 'widget.pveNodeStatus',

height: 400, <<原先 300 改成 400>>
bodyPadding: '20 15 20 15',

layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%',
},
},
},
新增 處理器溫度

Ctrl + W 搜尋 itemId: 'version',

如果你跟作者一樣是雙路處理器,可以用這個來表示你的兩顆CPU整體溫度狀態。

雙顆(雙路)處理器溫度顯示辦法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
itemId: 'version',
colspan: 2,
printBar: false,
title: gettext('PVE Manager Version'),
textField: 'pveversion',
value: '',
}, <<< 記得增加這個 ``,``
{
itemId: 'thermal',
printBar: false,
iconCls: 'fa fa-fw fa-thermometer-half',
title: gettext('Package Temperature'),
textField: 'thermalstate',
renderer:function(value){
const p0 = value.match(/Package id 0.*?\+([\d\.]+)?/)[1];
const p1 = value.match(/Package id 1.*?\+([\d\.]+)?/)[1];
return `CPU 0: ${p0} ℃ | CPU 1: ${p1} ℃`
}
},
單顆處理器溫度顯示辦法

這個只有顯示四個核心,如果你有更多顆自行嘗試在新增號碼上去讓更多核心溫度顯示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
itemId: 'version',
colspan: 2,
printBar: false,
title: gettext('PVE Manager Version'),
textField: 'pveversion',
value: '',
}, <<< 記得增加這個 ``,``
{
itemId: 'thermal',
colspan: 2,
printBar: false,
iconCls: 'fa fa-fw fa-thermometer-half',
title: gettext('CPU Thermal State'),
textField: 'thermalstate',
renderer:function(value){
const c0 = value.match(/Core 0.*?\+([\d\.]+)Â/)[1];
const c1 = value.match(/Core 1.*?\+([\d\.]+)Â/)[1];
const c2 = value.match(/Core 2.*?\+([\d\.]+)Â/)[1];
const c3 = value.match(/Core 3.*?\+([\d\.]+)Â/)[1];
return `Core 0: ${c0} ℃ | Core 1: ${c1} ℃ | Core 2: $ {c2} ℃ | Core 3: ${c3} ℃`
}
},

處理器時脈

修改 pvemanagerlib.js

編輯 pvemanagerlib.js - 算是PVE控制面板的前端動態接收資料檔案

1
nano /usr/share/pve-manager/js/pvemanagerlib.js
修改 PVE 狀態欄高度

Ctrl + W 搜尋 PVE.node.StatusView

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Ext.define('PVE.node.StatusView', {
extend: 'Proxmox.panel.StatusView',
alias: 'widget.pveNodeStatus',

height: 400, <<原先 300 改成 400>>
bodyPadding: '20 15 20 15',

layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%',
},
},
},
新增 處理器時脈

Ctrl + W 搜尋 itemId: 'version',

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
itemId: 'version',
colspan: 2,
printBar: false,
title: gettext('PVE Manager Version'),
textField: 'pveversion',
value: '',
}, <<< 記得增加這個 ``,``
{
itemId: 'MHz',
colspan: 2,
printBar: false,
title: gettext('CPU 頻率'),
textField: 'cpusensors',
renderer:function(value){
const f0 = value.match(/CPU MHz.*?([\d]+)/)[1];
const f1 = value.match(/CPU min MHz.*?([\d]+)/)[1];
const f2 = value.match(/CPU max MHz.*?([\d]+)/)[1];
return `CPU當下: ${f0} MHz | 最小: ${f1} MHz | 最大: ${f2} MHz `
}
}

黑暗主題

這個只要在網頁單擊自己的帳號 > 選擇 Color theme > 選擇 Proxmox Dark > 套用 > 完成!

img-settings_change_theme