本文档主要作用是方便自己重装 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
写入以下内容
重启后切换到动态频率调节
调整保存的历史命令
修改 ~/.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`;
|
在 /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){ 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})`; } },
{ 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 频率和温度