Re: Inconsistency in rados ls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

did you check if your cluster has many "shadow" or "multipart" objects in the pool? Those are taken into account when calculating the total number of objects in a pool but are not in the user stats of radosgw. Here's an example of a small rgw setup:

rados -p <pool> ls | grep -vE "shadow|multipart" | wc -l
455

and it matches the number of files reported by user stats:

radosgw-admin user stats --uid <user> 2>/dev/null | jq -r '.stats | select(.num_objects > 0) | .num_objects'
455

Although the total number of objects is much higher because of the mentioned shadow objects:

rados -p <pool> ls | grep -cE "shadow|multipart"
2248

And the total number (2248 + 455) matches the stats from ceph (2.70k):

ceph df | grep <pool>
<pool>    59    8  7.7 GiB    2.70k   21 GiB   0.57    1.4 TiB

Regards,
Eugen

Zitat von Ramin Najjarbashi <ramin.najarbashi@xxxxxxxxx>:

On Thu, Feb 2, 2023 at 7:56 PM Eugen Block <eblock@xxxxxx> wrote:

Hi,

> I have a cluster with approximately one billion objects and when I run a
PG
> query, it shows that I have 27,000 objects per PG.

which query is that, can you provide more details about that cluster and
pool?


Thanks for your response

ceph df | grep mypoo

--- POOLS ---

POOL     OBJECTS

mypool       1.11G

---------------

 and from this, I got 8.8M objects :

for item in `radosgw-admin user list | jq -r ".[]" | head`; do
B_OBJ=$(radosgw-admin user stats --uid $item 2>/dev/null | jq -r '.stats |
select(.num_objects > 0) | .num_objects'); SUM=$((SUM + B_OBJ)); done


However, when I run the same command per pg, the results are much
> less, with only 20 million
> objects being reported. For example, "rados -p <mypool> --pgid 1.xx ls |
wc
> -l" shows only three objects in the specified PG.

It seems like your PG and object distribution might not be balanced
very well. Did you check each PG of that pool? The individual PG's
numbers should add up to the total number of objects. Here's a quick
example from an almost empty pool with 8 PGs:





storage01:~ # ceph pg ls-by-pool volumes | awk '{print $1" - "$2}'
PG - OBJECTS
3.0 - 2
3.1 - 0
3.2 - 2
3.3 - 1
3.4 - 3
3.5 - 0
3.6 - 2
3.7 - 0


```
~# ceph pg ls-by-pool mypool  | awk '{print $1" - "$2}
...
9.ff2 - 271268
9.ff3 - 271046
9.ff4 - 271944
9.ff5 - 270864
9.ff6 - 272122
9.ff7 - 272244
9.ff8 - 271638
9.ff9 - 271702
9.ffa - 270906
9.ffb - 271114
9.ffc - 271986
9.ffd - 270766
9.ffe - 271702
9.fff - 271693
...
```


and it sums up to 10 objects which matches the total stats:

storage01:~ # ceph df | grep -E "OBJECTS|volumes"
POOL                       ID  PGS   STORED  OBJECTS     USED  %USED
MAX AVAIL
volumes                3    8    379 B       10  960 KiB      0    7.5 GiB

Regards,
Eugen

Zitat von Ramin Najjarbashi <ramin.najarbashi@xxxxxxxxx>:

> Hi
> I hope this email finds you well. I am reaching out to you because I have
> encountered an issue with my CEPH Bluestore cluster and I am seeking your
> assistance.
> I have a cluster with approximately one billion objects and when I run a
PG
> query, it shows that I have 27,000 objects per PG.
> I have run the following command: "rados -p <mypool> ls | wc -l" which
> returns the correct number of one billion objects. However, when I run
the
> same command per pg, the results are much less, with only 20 million
> objects being reported. For example, "rados -p <mypool> --pgid 1.xx ls |
wc
> -l" shows only three objects in the specified PG.
> This is a significant discrepancy and I am concerned about the integrity
of
> my data.
> Do you have any idea about this discrepancy?
>
> p.s:
> I have a total of 30 million objects in a single bucket and versioning
has
> not been enabled for this particular bucket.
>
> Thank you for your time and I look forward to your response.
>
> Best regards,
> Ramin
> _______________________________________________
> ceph-users mailing list -- ceph-users@xxxxxxx
> To unsubscribe send an email to ceph-users-leave@xxxxxxx


_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx

_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx


_______________________________________________
ceph-users mailing list -- ceph-users@xxxxxxx
To unsubscribe send an email to ceph-users-leave@xxxxxxx



[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux