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

Max R. Carrara m.carrara at proxmox.com
Fri Jul 11 14:23:42 CEST 2025


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>
---

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 {
-- 
2.39.5





More information about the pve-devel mailing list