PVE杂项笔记

默认分类 · 2023-09-28

PVE能折腾的地方还挺多的,也不好每个地方都开个笔记,干脆都记在这里了

关闭每次登录时的“无有效订阅”提示

PVE的企业源要付费才能用,不然每次登录都会弹出提示,挺烦人的
通过修改web页面的js文件,可以关掉这个提示
文件的位置在/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
搜索No valid subscription,定位到图示的这个函数
subscription-original.jpg
Ext.Msg.show({注释掉,替换成void({
subscription-mod.jpg
修改完之后,刷新浏览器缓存,即可去掉提示

添加cpu温度显示

要先装好lm-sensors这个包,当然也可以配合其他命令来自定义显示数值
/usr/share/perl5/PVE/API2/Nodes.pm文件中找到$res->{pveversion}

        $res->{pveversion} = PVE::pvecfg::package() . "/" . 
            PVE::pvecfg::version_text(); 
 
        $res->{thermalstate} = `sensors`; # 插入这条

再来到另一个文件/usr/share/pve-manager/js/pvemanagerlib.js
找到这一块配置

    {
        itemId: 'version',
        colspan: 2,
        printBar: false,
        title: gettext('PVE Manager Version'),
        textField: 'pveversion',
        value: '',
    },

在底下加上CPU温度显示

    {
        itemId: 'version',
        colspan: 2,
        printBar: false,
        title: gettext('PVE Manager Version'),
        textField: 'pveversion',
        value: '',
    },
    {
        itemId: 'thermal',
        colspan: 2,
        printBar: false,
        title: gettext('CPU温度'),
        textField: 'thermalstate',
        renderer: function(value){
            const c0 = value.match(/Package id 0:.*?\+([\d\.]+)/)[1];
            return `CPU0: ${c0} °C`
        }
    },

c0的表达式可以自己改,也可以加多个变量来表示多个CPU的温度,也可以自己写表达式来显示CPU中每一个内核的温度,我比较懒,能显示封装温度就够了
在同一个文件里面找到下面的代码块

Ext.define('PVE.node.StatusView', {
    extend: 'Proxmox.panel.StatusView',
    alias: 'widget.pveNodeStatus',

    height: 300,
    bodyPadding: '15 5 15 5',

height按实际情况修改,多显示一行记录就加20-30这样,但改了之后页面排版就会错位,还没有找到办法整好

重启一下pve的web服务

systemctl restart pveproxy.service

解决监控图表定格问题

有时候重启PVE主机或者调整时间,会导致pve上面cpu、内存等的监控图表时间都卡在1970年,看不到实时的数据
执行以下命令即可恢复

systemctl stop rrdcached
rm -rf /var/lib/rrdcached
systemctl start rrdcached

挂载ntfs设备时只读

手动指定分区类型为ntfs3

mount -t ntfs3 /dev/sda1 /mnt/usb
Theme Jasmine by Kent Liao