0%

pve8.0 初始化调整

本文档主要作用是方便自己重装 pve 时进行使用

固定网卡名称

当增减pcie设备时可能会导致网卡名称变化,使用下面的方式将网卡名称固定。

查看网卡信息,获取 SUBSYSTEM ATTR{address} ATTR{type} 的值。
网卡名称请使用 ip a 查看

1
udevadm info  -a -p /sys/class/net/enp4s0

创建 /etc/udev/rules.d/70-persistent-net.rules,写入如下内容,需要替换上面获取到的三个值

NAME 请使用标准名称,比如 ens3 enp1s0 eth0,其它名称会导致web面板不显示网速

1
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="00:00:00:00:00:00",ATTR{type}=="1",NAME="enp1s0"

固定名称后还需要修改 nano /etc/network/interfaces 将里面的 enp4s0 替换成 enp1s0。

修改后重启生效

开启ipv6

/etc/network/interfaces 添加如下内容重启后启用 ipv6

1
2
3
iface vmbr0 inet6 dhcp
accept_ra 2
request_prefix 1

如果你像我一样插入了多张 m2 硬盘后无法获取到ipv6,可以删除上面添加的内容,然后在/etc/sysctl.conf 添加下列内容

``text
#net.ipv6.conf.default.accept_ra=2
#net.ipv6.conf.default.autoconf=1
net.ipv6.conf.vmbr0.accept_ra=2
net.ipv6.conf.vmbr0.autoconf=1

1
2
3
4
5
6
7
8
9
10
11
12
13

修改后重启生效


## 修改软件源为国内
修改 debian源 `/etc/apt/sources.list` 为如下内容
```text
deb https://mirrors.ustc.edu.cn/debian bookworm main contrib

deb https://mirrors.ustc.edu.cn/debian bookworm-updates main contrib

# security updates
deb https://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib

修改pve软件源 /etc/apt/sources.list.d/ceph.list 为如下内容

1
2
3
#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise

deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription

修改pve ceph 软件源 /etc/apt/sources.list.d/pve-enterprise.list 为如下内容

1
2
3
#deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise

deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription

LXC 容器源 我未进行修改因为pve更新的时候会被自动覆盖掉

创建 nat 网络

创建 nat 网络参考 https://pve.proxmox.com/wiki/Setup_Simple_Zone_With_SNAT_and_DHCP

cpu 调度调整到省电

查看当前电源策略

1
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

查看可用的电源策略

1
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

安装 cpufrequtils

1
sudo apt install cpufrequtils

/etc/default/cpufrequtils 写入以下内容

1
GOVERNOR="powersave"

重启后切换到动态频率调节

调整保存的历史命令

修改 ~/.bashrc 内的 HISTSIZE HISTFILESIZE 为以下子 以增加历史命令保存数量

1
2
HISTSIZE=10000
HISTFILESIZE=20000

显示 cpu频率和温度

这里使用的是 i5-12600K

需要安装 lm-sensors

1
sudo apt install lm-sensors

安装好后运行 sensors-detect 一路运行回车就好,全部使用默认选项

/usr/share/perl5/PVE/API2/Nodes.pm ksm 后添加内容

1
2
3
4
5
6
7
8
$res->{ksm} = {
shared => $meminfo->{memshared},
};

# 下面是要添加的内容
$res->{cpure} = `cat /proc/cpuinfo | grep -i "cpu mhz"`;
$res->{sensinfo} = `sensors -j`;
$res->{upsinfo} = `upsc tgbox850`; # 需要检查 usp 的名称是不是 tgbox850

/usr/share/pve-manager/js/pvemanagerlib.js itemId cpus 后添加内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
itemId: 'cpus',
colspan: 2,
printBar: false,
title: gettext('CPU(s)'),
textField: 'cpuinfo',
renderer: Proxmox.Utils.render_cpu_model,
value: '',
},

// 下面是要添加的内容
{
itemId: 'cpumhz',
colspan: 2,
printBar: false,
title: gettext('CPU(MHz)'),
textField: 'cpure',
renderer:function(value){
const m = value.match(/(?<=:\s+)(\d+)/g);
return `${m[0]} | ${m[1]} | ${m[2]} | ${m[3]} | ${m[4]} | ${m[5]} | ${m[6]} | ${m[7]} | ${m[8]} | ${m[9]} | ${m[10]} | ${m[11]} | ${m[12]} | ${m[13]} | ${m[14]} | ${m[15]}`;
}
},
{
itemId: 'sensinfo',
colspan: 2,
printBar: false,
title:gettext('Temperature Sensor'),
textField:'sensinfo',
renderer:function(value){
// 注意 CoreX tempX_input 需要根据 sensors -j 获取到的值进行修改
value = JSON.parse(value.replaceAll('Â', ''));
const cp = value['coretemp-isa-0000']['Package id 0']['temp1_input'].toFixed(1);

const c0 = value['coretemp-isa-0000']['Core 0']['temp2_input'].toFixed();
const c1 = value['coretemp-isa-0000']['Core 4']['temp6_input'].toFixed();
const c2 = value['coretemp-isa-0000']['Core 8']['temp10_input'].toFixed();
const c3 = value['coretemp-isa-0000']['Core 12']['temp14_input'].toFixed();
const c4 = value['coretemp-isa-0000']['Core 16']['temp18_input'].toFixed();
const c5 = value['coretemp-isa-0000']['Core 20']['temp22_input'].toFixed();
const c6 = value['coretemp-isa-0000']['Core 28']['temp30_input'].toFixed();
const c7 = value['coretemp-isa-0000']['Core 29']['temp31_input'].toFixed();
const c8 = value['coretemp-isa-0000']['Core 30']['temp32_input'].toFixed();
const c9 = value['coretemp-isa-0000']['Core 31']['temp33_input'].toFixed();

return `CPU: ${cp}℃ (${c0} | ${c1} | ${c2} | ${c3} | ${c4} | ${c5} | ${c6} | ${c7} | ${c8} | ${c9})`;
}
},
// 需要配置好 ups 后才可以使用
{
itemId: 'ups',
colspan: 2,
printBar: false,
title: gettext('UPS'),
textField: 'upsinfo',
renderer:function(value){
const statusLine = "ups.status:";
const reStatus = new RegExp(`${statusLine}.*?\n`);
upsStatus = value.match(reStatus)[0];
upsStatus = upsStatus.slice(statusLine.length+1, -1);

const changeLine = "battery.charge:";
const reChange = new RegExp(`${changeLine}.*?\n`);
upsChange = value.match(reChange)[0];
upsChange = upsChange.slice(changeLine.length+1, -1);

return `status: ${upsStatus} change: ${upsChange}`;
}
},

使用 sudo systemctl restart pveproxy 重启 pve代理后,web面板将显示 cpu 频率和温度