[pve-devel] [PATCH v1 pve-manager] pve8to9: check for usage of GlusterFS storages

Max R. Carrara m.carrara at proxmox.com
Thu Jul 17 13:48:07 CEST 2025


On Fri Jul 11, 2025 at 2:23 PM CEST, Max R. Carrara wrote:
> Starting with PVE 9, we will drop support for GlusterFS entirely [1]
> as it is no longer properly maintained upstream [2].
>
> Therefore, scan the storage config and suggest either moving to
> different storages or using one's GlusterFS instances as directory
> storage if a 'glusterfs' storage is found.
>
> [1]: https://git.proxmox.com/?p=pve-storage.git;a=commit;h=7669a99e97f3fd35cca95d1d1ab8a377f593dccb
> [2]: https://marc.info/?l=fedora-devel-list&m=171934833215726
>
> Signed-off-by: Max R. Carrara <m.carrara at proxmox.com>

ping - so this doesn't get lost.

> ---
>
> NOTE: I tested this briefly on a development VM by configuring a
>   dummy 'glusterfs' storage with 'disabled' set to '1'.
>
>  PVE/CLI/pve8to9.pm | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>
> diff --git a/PVE/CLI/pve8to9.pm b/PVE/CLI/pve8to9.pm
> index 91b50cd9..14810301 100644
> --- a/PVE/CLI/pve8to9.pm
> +++ b/PVE/CLI/pve8to9.pm
> @@ -1581,6 +1581,38 @@ sub check_lvm_autoactivation {
>      return undef;
>  }
>  
> +sub check_glusterfs_storage_usage {
> +    my $cfg = PVE::Storage::config();
> +    my $storage_info = PVE::Storage::storage_info($cfg);
> +
> +    log_info("Check for usage of GlusterFS storages...");
> +
> +    my $has_glusterfs_storage = 0;
> +
> +    for my $storeid (sort keys $storage_info->%*) {
> +        my $scfg = PVE::Storage::storage_config($cfg, $storeid);
> +
> +        next if $scfg->{type} ne 'glusterfs';
> +
> +        $has_glusterfs_storage = 1;
> +        log_fail("found 'glusterfs' storage '$storeid'");
> +    }
> +
> +    if ($has_glusterfs_storage) {
> +        log_fail("Starting with PVE 9, GlusterFS will not be supported anymore."
> +            . " GlusterFS storages will therefore cease to work."
> +            . "\nThis is due to the GlusterFS project not being properly maintained anymore."
> +            . "\n\nThis means that you will have to move all volumes on GlusterFS storages to"
> +            . " different storages and then remove any GlusterFS storage that you have configured."
> +            . "\n\nAlternatively, you can mount your GlusterFS instances manually "
> +            . " via the 'glusterfs' commandline and use them as directory storage.");
> +    } else {
> +        log_pass("No GlusterFS storage found.");
> +    }
> +
> +    return undef;
> +}
> +
>  sub check_misc {
>      print_header("MISCELLANEOUS CHECKS");
>      my $ssh_config = eval { PVE::Tools::file_get_contents('/root/.ssh/config') };
> @@ -1693,6 +1725,7 @@ sub check_misc {
>      check_legacy_notification_sections();
>      check_legacy_backup_job_options();
>      check_lvm_autoactivation();
> +    check_glusterfs_storage_usage();
>  }
>  
>  my sub colored_if {





More information about the pve-devel mailing list