PVE CPU、温度等参数在首页排版,记下笔记。怕忘记
备份配置文件
cp /usr/share/perl5/PVE/API2/Nodes.pm /usr/share/perl5/PVE/API2/Nodes.pm.bak
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak
使用 pvetools 安装数据
https://github.com/ivanhao/pvetools
修改 pvemanagerlib.js
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('CPU 温度'),
textField: 'tdata',
renderer: function (value) {
var d = JSON.parse(value);
var p0 = d['Packageid0'];
var c0 = d['Core0'];
var c1 = d['Core1'];
var c2 = d['Core2'];
var c3 = d['Core3'];
return `Package: ${p0} ℃ || 核心1: ${c0} ℃ | 核心2: ${c1} ℃ | 核心3: ${c2} ℃ | 核心4: ${c3} ℃ `
}
},
{
itemId: 'MHz',
colspan: 2,
printBar: false,
title: gettext('CPU 频率'),
textField: 'tdata',
renderer: function (value) {
var d = JSON.parse(value);
f0 = d['CPU-MHz'];
f1 = d['CPU-min-MHz'];
f2 = d['CPU-max-MHz'];
return `CPU实时(Cur): ${f0} MHz | 最小(min): ${f1} MHz | 最大(max): ${f2} MHz `;
}
},
{
itemId: 'RPM',
colspan: 2,
printBar: false,
title: gettext('风扇转速'),
textField: 'tdata',
renderer: function (value) {
var d = JSON.parse(value);
f0 = d['fan1'];
f1 = d['fan2'];
f2 = d['fan3'];
f3 = d['fan4'];
return `风扇1: ${f0} RPM | 风扇2: ${f1} RPM | 风扇3: ${f2} RPM | 风扇4: ${f3} RPM `;
}
},
修改高度,依然是 pvemanagerlib.js
搜索 widget.pveNodeStatus
修改 height 值
原始值300
Ext.define('PVE.node.StatusView', {
extend: 'Proxmox.panel.StatusView',
alias: 'widget.pveNodeStatus',
height: 350,
bodyPadding: '15 5 15 5',
layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%',
},
},
},
...
效果图
其他笔记
cd /var/lib/vz/template/iso/
qm importdisk 101 /xxx.img local-lvm
# 导出虚拟机
qemu-img convert -O vmdk -c /dev/mapper/pve-vm--101--disk--0 vm.vmdk
# 导入虚拟机
qm importdisk 101 vm.vmdk local-lvm
# 修改硬盘大小
lvreduce -L -2G /dev/pve/vm-100-disk-0
版权属于:zgcwkj
本文链接:https://blog.zgcwkj.cn/archives/192.html
转载声明:请注明本文章的标题及内容的出处和声明,谢谢
评论已关闭