Unfortunately, it sounds like the image's header object was lost
during your corruption event. While you can manually retrieve the
image data blocks from the cluster, undoubtedly many might be lost
and/or corrupted as well.

You'll first need to determine the internal id of your image:
$ rados --pool images getomapval rbd_directory
name_07e54256-d123-4e61-a23a-7f8008340751
value (16 bytes) :
00000000  0c 00 00 00 31 30 31 34  31 30 39 63 66 39 32 65  |....1014109cf92e|
00000010

In my example above, the image id (1014109cf92e in this case) is the
string starting after the first four bytes (the id length). I can then
use the rados tool to list all available data blocks:

$ rados --pool images ls | grep rbd_data.1014109cf92e | sort
rbd_data.1014109cf92e.0000000000000000
rbd_data.1014109cf92e.000000000000000b
rbd_data.1014109cf92e.0000000000000010

The sequence of hex numbers at the end of each data object is the
object number and it represents the byte offset within the image (4MB
* object number = byte offset assuming default 4MB object size and no
fancy striping enabled).

You should be able to script something up to rebuild a sparse image
with whatever data is still available in your cluster.

On Wed, Sep 21, 2016 at 11:12 AM, Fran Barrera <franbarre...@gmail.com> wrote:
> Hello,
>
> I have a Ceph Jewel cluster with 4 osds and only one monitor integrated with
> Openstack Mitaka.
>
> Two OSD were down, with a service restart one of them was recovered. The
> cluster began to recover and was OK. Finally the disk of the other OSD was
> corrupted and the solution was a format and recreate the OSD.
>
> Now I have the cluster OK, but the problem now is with some of the images
> stored in Ceph.
>
> $ rbd list -p images|grep 07e54256-d123-4e61-a23a-7f8008340751
> 07e54256-d123-4e61-a23a-7f8008340751
>
> $ rbd export -p images 07e54256-d123-4e61-a23a-7f8008340751 /tmp/image.img
> 2016-09-21 17:07:00.889379 7f51f9520700 -1 librbd::image::OpenRequest:
> failed to retreive immutable metadata: (2) No such file or directory
> rbd: error opening image 07e54256-d123-4e61-a23a-7f8008340751: (2) No such
> file or directory
>
> Ceph can list the image but nothing more, for example an export. So
> Openstack can not retrieve this image. I try repair the pg but appear's ok.
> Is there any solution for this?
>
> Kind Regards,
> Fran.
>
> _______________________________________________
> ceph-users mailing list
> ceph-users@lists.ceph.com
> http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>



-- 
Jason
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to