Re: [PATCH pve-docs 1/1] ceph: add warning about mixing device-specific with device-unspecific CRUSH rules when using autoscaler

Kefu Chai
2026-04-22T06:24:54Z

Nicolas Frey <n.frey@proxmox.com> writes:

Hi Nicolas, thanks for this improvement. A few nits:

> Suggested-by: Friedrich Weber <f.weber@proxmox.com>
> Signed-off-by: Nicolas Frey <n.frey@proxmox.com>
> ---
> pveceph.adoc | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/pveceph.adoc b/pveceph.adoc
> index 2aae6d6..dfa5d95 100644
> --- a/pveceph.adoc
> +++ b/pveceph.adoc
> @@ -916,6 +916,9 @@ TIP: If the pool already contains objects, these must be moved accordingly.
> Depending on your setup, this may introduce a big performance impact on your
> cluster. As an alternative, you can create a new pool and move disks separately.
>
> +WARNING: When using the autoscaler, all pools must either exclusively be assigned
> +device-specific or device-unspecific CRUSH rules. Mixing them across pools will
>

device-specific / device-unspecific is not Ceph's terminology. Ceph's
terms are "CRUSH rules that specify a device class", or simply "device
class rules".

> +prevent the autoscaler from functioning.

this might overstates the problem caused by overlapped roots. The
autoscaler keeps running: it just skips pools whose CRUSH rules's OSD
sets overlap, and the pg_num is not adjustted for those pools. In other
words, non-overlapping pools continue to scale.

So, probably we can be more specific here? like:

When using the PG autoscaler, all pools in the cluster must use
CRUSH rules of the same kind, either all specifying a device class,
or all without one. Otherwise the autoscaler will skip the affected
pools and their `pg_num` will not be adjusted.

what do you think?

>
> Ceph Client
> -----------
> --
> 2.47.3