On Tuesday, February 23, 2016, Vickey Singh <vickey.singh22...@gmail.com> wrote:
> Thanks Greg, > > Do you mean ceph osd map command is not displaying accurate information ? > > I guess, either of these things are happening with my cluster > - ceph osd map is not printing true information > - Object to PG mapping is not correct ( one object is mapped to multiple > PG's ) > > This is happening for several objects , but the cluster is Healthy. > No, you're looking for the map command to do something it was not designed for. If you want to see if an object exists, you will need to use a RADOS client to fetch the object and see if it's there. "map" is a mapping command: given an object name, which PG/OSD does CRUSH map that name to? > > Need expert suggestion. > > > On Tue, Feb 23, 2016 at 7:20 PM, Gregory Farnum <gfar...@redhat.com > <javascript:_e(%7B%7D,'cvml','gfar...@redhat.com');>> wrote: > >> This is not a bug. The map command just says which PG/OSD an object maps >> to; it does not go out and query the osd to see if there actually is such >> an object. >> -Greg >> >> >> On Tuesday, February 23, 2016, Vickey Singh <vickey.singh22...@gmail.com >> <javascript:_e(%7B%7D,'cvml','vickey.singh22...@gmail.com');>> wrote: >> >>> Hello Guys >>> >>> I am getting wired output from osd map. The object does not exists on >>> pool but osd map still shows its PG and OSD on which its stored. >>> >>> So i have rbd device coming from pool 'gold' , this image has an object >>> 'rb.0.10f61.238e1f29.000000002ac5' >>> >>> The below commands verifies this >>> >>> *[root@ceph-node1 ~]# rados -p gold ls | grep -i >>> rb.0.10f61.238e1f29.000000002ac5* >>> *rb.0.10f61.238e1f29.000000002ac5* >>> *[root@ceph-node1 ~]#* >>> >>> This object lives on pool gold and OSD 38,0,20 , which is correct >>> >>> *[root@ceph-node1 ~]# ceph osd map gold rb.0.10f61.238e1f29.000000002ac5* >>> *osdmap e1357 pool 'gold' (1) object 'rb.0.10f61.238e1f29.000000002ac5' >>> -> pg 1.11692600 (1.0) -> up ([38,0,20], p38) acting ([38,0,20], p38)* >>> *[root@ceph-node1 ~]#* >>> >>> >>> Since i don't have object 'rb.0.10f61.238e1f29.000000002ac5' in data and >>> rbd pools , rados ls will not list it. Which is expected. >>> >>> *[root@ceph-node1 ~]# rados -p data ls | grep -i >>> rb.0.10f61.238e1f29.000000002ac5* >>> *[root@ceph-node1 ~]# rados -p rbd ls | grep -i >>> rb.0.10f61.238e1f29.000000002ac5* >>> >>> >>> But , how come the object is showing in osd map of pool data and rbd. >>> >>> *[root@ceph-node1 ~]# ceph osd map data rb.0.10f61.238e1f29.000000002ac5* >>> *osdmap e1357 pool 'data' (2) object 'rb.0.10f61.238e1f29.000000002ac5' >>> -> pg 2.11692600 (2.0) -> up ([3,51,29], p3) acting ([3,51,29], p3)* >>> *[root@ceph-node1 ~]#* >>> >>> *[root@ceph-node1 ~]# ceph osd map rbd rb.0.10f61.238e1f29.000000002ac5* >>> *osdmap e1357 pool 'rbd' (0) object 'rb.0.10f61.238e1f29.000000002ac5' >>> -> pg 0.11692600 (0.0) -> up ([41,20,3], p41) acting ([41,20,3], p41)* >>> *[root@ceph-node1 ~]#* >>> >>> >>> In ceph, object is unique and belongs to only one pool. So why does it >>> shows up in all pool's osd map. >>> >>> Is this some kind of BUG in Ceph >>> >>> Ceph Hammer 0.94.5 >>> CentOS 7.2 >>> >> >
_______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com