[pve-devel] [PATCH manager] api: osd: destroy: remove mclock max iops settings

Maximiliano Sandoval m.sandoval at proxmox.com
Thu Nov 16 16:34:47 CET 2023


Tested on a new Proxmox VE 8 cluster. The mclock scheduler settings do
not appear in `ceph config dump` after removing the OSD using the web
UI. Removing a OSD without this setting being set does not cause any
issue either.

Tested-by: Maximiliano Sandoval <m.sandoval at proxmox.com>

Aaron Lauterer <a.lauterer at proxmox.com> writes:

> Ceph does a quick benchmark when creating a new OSD and stores the
> osd_mclock_max_capacity_iops_{ssd,hdd} settings in the config DB.
>
> When destroying the OSD, Ceph does not automatically remove these
> settings. Keeping them can be problematic if a new OSD with potentially
> more performance is added and ends up getting the same OSD ID.
>
> Therefore, we remove these settings ourselves when destroying an OSD.
> Removing both variants, hdd and ssd should be fine, as the MON does not
> complain if the setting does not exist.
>
> Signed-off-by: Aaron Lauterer <a.lauterer at proxmox.com>
> ---
>  PVE/API2/Ceph/OSD.pm | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/PVE/API2/Ceph/OSD.pm b/PVE/API2/Ceph/OSD.pm
> index 0c07e7ce..2893456a 100644
> --- a/PVE/API2/Ceph/OSD.pm
> +++ b/PVE/API2/Ceph/OSD.pm
> @@ -985,6 +985,10 @@ __PACKAGE__->register_method ({
>  	    print "Remove OSD $osdsection\n";
>  	    $rados->mon_command({ prefix => "osd rm", ids => [ $osdsection ], format => 'plain' });
>
> +	    print "Remove $osdsection mclock max capacity iops settings from config\n";
> +	    $rados->mon_command({ prefix => "config rm", who => $osdsection, name => 'osd_mclock_max_capacity_iops_ssd' });
> +	    $rados->mon_command({ prefix => "config rm", who => $osdsection, name => 'osd_mclock_max_capacity_iops_hdd' });
> +
>  	    # try to unmount from standard mount point
>  	    my $mountpoint = "/var/lib/ceph/osd/ceph-$osdid";


--
Maximiliano





More information about the pve-devel mailing list