[pve-devel] [PATCH cluster/container/manager/qemu-server/storage v2 0/7] combine and simplify RRD handling
Aaron Lauterer
a.lauterer at proxmox.com
Mon Nov 3 23:00:15 CET 2025
this series does two things:
* switch the RRD API backend to use the old RRD files if available
* only data for frontend graphs
* PNG generation
* always use RRD files with the new 9.0 schema in pmxcfs/status.c
* hardcode pve-TYPE-9.0 paths in the RRD api endpoints for
* nodes
* VMs
* CTs
* Storage
The motivation for the combination of old and new RRD files is that during the
migration of old RRD files to the new ones, spikes get flattened. By combining
the old and new RRD files, we can keep the old coarse data with all it spikes
and only show the new much mode finer stepped data where available.
This also enables us to just write any new data into an RRD file that is created
with the new 9.0 schema. As a result, no migration step is needed anymore and we
can simplify the logic around the whole "does only the old file exist or is the
new one also present" alot in quite a few places.
This series does not remove the rrd migration tool or its dependencies! That
still needs to happen! We want to keep the check in the pve8to9 tool, because we
will need the additional space in any case.
changes since v1:
* rebased qemu-server and container repos as the patches didn't apply anymore
after `make tidy` happened in the meantime.
* added R-b and T-b from Laurentiu.
I tested it once more on my personal infra with long running guests. Looks good,
but one result we have with this approach is that we have a gap of roughly the
longer old time steps when we switch from old to new data. But on the other
hand, we do maintain the old spikes as they used to be.
cluster:
Aaron Lauterer (3):
rrd: fix rrd time frames
RRD: fetch data from old rrd file if present and needed
pmxcfs: status.c: always use 9.0 rrd files
src/PVE/RRD.pm | 162 ++++++++++++++++++++++--------
src/pmxcfs/status.c | 238 ++++++--------------------------------------
2 files changed, 153 insertions(+), 247 deletions(-)
manager:
Aaron Lauterer (1):
status: rrddata: use fixed pve-node-9.0 path
PVE/API2/Nodes.pm | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
qemu-server:
Aaron Lauterer (1):
status: rrddata: use fixed pve-vm-9.0 path
src/PVE/API2/Qemu.pm | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
container:
Aaron Lauterer (1):
status: rrddata: use fixed pve-vm-9.0 path
src/PVE/API2/LXC.pm | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
storage:
Aaron Lauterer (1):
status: rrddata: use fixed pve-storage-9.0 path
src/PVE/API2/Storage/Status.pm | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
Summary over all repositories:
6 files changed, 176 insertions(+), 274 deletions(-)
--
Generated by git-murpp 0.8.1
More information about the pve-devel
mailing list