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

Nicolas Frey
2026-04-22T07:31:11Z

On 4/22/26 8:23 AM, Kefu Chai wrote:
> 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".
>

Thanks! I was not aware of the terminology used by ceph here

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

Ah, thanks for the explanation!

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

That sounds great! I'll send a v2 with your suggestions

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