all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Lukas Wagner" <l.wagner@proxmox.com>
To: "Proxmox VE development discussion" <pve-devel@lists.proxmox.com>,
	"Aaron Lauterer" <a.lauterer@proxmox.com>
Subject: Re: [pve-devel] [PATCH manager stabe-8+master v4 15/15] pve8to9: add checkfs for RRD migration
Date: Tue, 29 Jul 2025 10:15:57 +0200	[thread overview]
Message-ID: <DBOE1NTMEXGS.2FCH12JQJXJEP@proxmox.com> (raw)
In-Reply-To: <20250726010626.1496866-25-a.lauterer@proxmox.com>

On Sat Jul 26, 2025 at 3:06 AM CEST, Aaron Lauterer wrote:
> +sub check_rrd_migration {
> +    if (-e "/var/lib/rrdcached/db/pve-node-9.0") {
> +        log_info("Check post RRD migration situation...");
> +
> +        my $count = 0;
> +        my $count_occurences = sub {
> +            $count++;
> +        };
> +        eval {
> +            run_command(
> +                ['find /var/lib/rrdcached/db -type f ! -name "*.foo"'],

Shouldn't this be "*.old"?

> +                outfunc => $count_occurences,
> +                noerr => 1,
> +            );
> +        };
> +
> +        if ($count) {
> +            log_warn("Found '$count' RRD files that have not yet been migrated to the new schema."
> +                . " Please run the following command manually:\n"
> +                . "proxmox-rrd-migration-tool --migrate\n");
> +        }
> +
> +    } else {
> +        log_info("Check space requirements for RRD migration...");
> +        # multiplier values taken from KiB sizes of old and new RRD files
> +        my $rrd_dirs = {
> +            nodes => {
> +                path => "/var/lib/rrdcached/db/pve2-node",
> +                multiplier => 18.1,
> +            },
> +            guests => {
> +                path => "/var/lib/rrdcached/db/pve2-vm",
> +                multiplier => 20.2,
> +            },
> +            storage => {
> +                path => "/var/lib/rrdcached/db/pve2-storage",
> +                multiplier => 11.14,
> +            },
> +        };
> +
> +        my $size_buffer = 1024 * 1024 * 1024; # at least one GiB of free space should be calculated in

Could be worth defining some GIGABYTE constant...

> +        my $total_size_estimate = 0;
> +        for my $type (keys %$rrd_dirs) {
> +            my $size = PVE::Tools::du($rrd_dirs->{$type}->{path});
> +            $total_size_estimate =
> +                $total_size_estimate + ($size * $rrd_dirs->{$type}->{multiplier});
> +        }
> +        my $root_free = PVE::Tools::df('/', 10);
> +
> +        if (($total_size_estimate + $size_buffer) >= $root_free->{avail}) {
> +            my $estimate_gib = sprintf("%.2f", $total_size_estimate / 1024 / 1024 / 1024);
> +            my $free_gib = sprintf("%.2f", $root_free->{avail} / 1024 / 1024 / 1024);

...that you can also use here as a divider.

> +            log_fail("Not enough free space to migrate existing RRD files to the new format!\n"
> +                . "Migrating the current RRD files is expected to consume about ${estimate_gib} GiB plus 1 GiB of safety."
> +                . " But there is currently only ${free_gib} GiB space on the root file system available.\n"
> +            );
> +        }
> +    }
> +}
> +
>  sub check_virtual_guests {
>      print_header("VIRTUAL GUEST CHECKS");
>  
> @@ -1882,6 +1943,7 @@ sub check_misc {
>      check_legacy_notification_sections();
>      check_legacy_backup_job_options();
>      check_lvm_autoactivation();
> +    check_rrd_migration();
>  }
>  
>  my sub colored_if {



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


  reply	other threads:[~2025-07-29  8:15 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-26  1:05 [pve-devel] [PATCH many v4 00/31] Expand and migrate RRD data and add/change summary graphs Aaron Lauterer
2025-07-26  1:05 ` [pve-devel] [PATCH proxmox-rrd-migration-tool v4 1/3] create proxmox-rrd-migration-tool Aaron Lauterer
2025-07-28 14:25   ` Lukas Wagner
2025-07-26  1:05 ` [pve-devel] [PATCH proxmox-rrd-migration-tool v4 2/3] add first tests Aaron Lauterer
2025-07-28 14:52   ` Lukas Wagner
2025-07-26  1:05 ` [pve-devel] [PATCH proxmox-rrd-migration-tool v4 3/3] add debian packaging Aaron Lauterer
2025-07-28 14:36   ` Lukas Wagner
2025-07-29  9:29     ` Thomas Lamprecht
2025-07-29  9:49       ` Lukas Wagner
2025-07-30 17:57   ` [pve-devel] applied: " Thomas Lamprecht
2025-07-26  1:05 ` [pve-devel] [PATCH cluster v4 1/2] status: introduce new pve-{type}- rrd and metric format Aaron Lauterer
2025-07-29  9:44   ` Lukas Wagner
2025-07-30 11:21     ` Lukas Wagner
2025-07-31  3:23     ` Thomas Lamprecht
2025-07-26  1:06 ` [pve-devel] [PATCH cluster v4 2/2] rrd: adapt to new RRD format with different aggregation windows Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH widget-toolkit v4 1/4] rrdchart: allow to override the series object Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH widget-toolkit v4 2/4] rrdchart: use reference for undo button Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH widget-toolkit v4 3/4] rrdchard: set cursor pointer for legend Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH widget-toolkit v4 4/4] rrdchart: add dummy listener for legend clicks Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 01/15] pvestatd: collect and distribute new pve-{type}-9.0 metrics Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 02/15] api: nodes: rrd and rrddata add decade option and use new pve-node-9.0 rrd files Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 03/15] api2tools: extract_vm_status add new vm memhost column Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 04/15] ui: rrdmodels: add new columns and update existing Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 05/15] ui: node summary: use stacked memory graph with zfs arc Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 06/15] ui: add pressure graphs to node and guest summary Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 07/15] ui: GuestStatusView: add memhost for VM guests Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 08/15] ui: GuestSummary: memory switch to stacked and add hostmem Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 09/15] ui: GuestSummary: remember visibility of host memory view Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 10/15] ui: nodesummary: guestsummary: add tooltip info buttons Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 11/15] ui: summaries: use titles for disk and network series Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 12/15] fix #6068: ui: utils: calculate and render host memory usage correctly Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 13/15] d/control: require proxmox-rrd-migration-tool >= 1.0.0 Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH manager v4 14/15] d/postinst: run promox-rrd-migration-tool Aaron Lauterer
2025-07-29 12:09   ` Lukas Wagner
2025-07-26  1:06 ` [pve-devel] [PATCH manager stabe-8+master v4 15/15] pve8to9: add checkfs for RRD migration Aaron Lauterer
2025-07-29  8:15   ` Lukas Wagner [this message]
2025-07-29  9:16     ` Thomas Lamprecht
2025-07-26  1:06 ` [pve-devel] [PATCH storage v4 1/1] status: rrddata: use new pve-storage-9.0 rrd location if file is present Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH qemu-server v4 1/4] metrics: add pressure to metrics Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH qemu-server v4 2/4] vmstatus: add memhost for host view of vm mem consumption Aaron Lauterer
2025-07-29 12:49   ` Lukas Wagner
2025-07-31  3:37     ` Thomas Lamprecht
2025-07-31  6:51       ` Lukas Wagner
2025-07-26  1:06 ` [pve-devel] [PATCH qemu-server v4 3/4] vmstatus: switch mem stat to PSS of VM cgroup Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH qemu-server v4 4/4] rrddata: use new pve-vm-9.0 rrd location if file is present Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH container v4 1/2] metrics: add pressures to metrics Aaron Lauterer
2025-07-26  1:06 ` [pve-devel] [PATCH container v4 2/2] rrddata: use new pve-vm-9.0 rrd location if file is present Aaron Lauterer
2025-07-28 14:42 ` [pve-devel] [PATCH many v4 00/31] Expand and migrate RRD data and add/change summary graphs Thomas Lamprecht
2025-07-29 12:19 ` Lukas Wagner
2025-07-31  4:12 ` [pve-devel] applied: " Thomas Lamprecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DBOE1NTMEXGS.2FCH12JQJXJEP@proxmox.com \
    --to=l.wagner@proxmox.com \
    --cc=a.lauterer@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal