[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