Discussion:
[ceph-users] RBD lost parents after rados cppool
Craig Chi
2016-11-20 07:19:02 UTC
Permalink
Hi Cephers,

I am tuning the pg numbers of my OpenStack pools.

As everyone knows, the pg number of a pool can not be decreased, so I came up with an idea to copy my pools to new pools with lower pg_num and then delete the original pool.

I execute following commands:

rados cppool volumes new-volumes
rados cppool images new-images
ceph osd pool rm volumes volumes --yes-i-really-really-mean-it
ceph osd pool rm images images --yes-i-really-really-mean-it
ceph osd pool rename new-volumes volumes
ceph osd pool rename new-images images

But after that, when I want to query the usage of volumes by `rbd -p volumes du`, it returns a mass of error messages like

2016-11-20 08:01:47.126068 7fa8337fe700 -1 librbd::image::OpenRequest: failed to retreive name: (2) No such file or directory
2016-11-20 08:01:47.126119 7fa832ffd700 -1 librbd::image::RefreshParentRequest: failed to open parent image: (2) No such file or directory
2016-11-20 08:01:47.126135 7fa832ffd700 -1 librbd::image::RefreshRequest: failed to refresh parent image: (2) No such file or directory
2016-11-20 08:01:47.126150 7fa832ffd700 -1 librbd::image::OpenRequest: failed to refresh image: (2) No such file or directory

I think it may be caused by the change of "images" pool id, right?

Is it possible to re-reference the rbds in "volumes" on new "images" pool? Or is it possible to change or specify the pool id of new pool?

Any suggestions are very welcome. Thanks

Sincerely,
Craig Chi (Product Developer)
Synology Inc. Taipei, Taiwan.
Jason Dillaman
2016-11-21 13:44:21 UTC
Permalink
You are correct -- rbd uses the pool id as a reference and now your
pool has a new id. There was a thread on this mailing list a year ago
for the same issue [1].

[1] http://lists.ceph.com/pipermail/ceph-users-ceph.com/2015-May/001456.html
Post by Craig Chi
Hi Cephers,
I am tuning the pg numbers of my OpenStack pools.
As everyone knows, the pg number of a pool can not be decreased, so I came
up with an idea to copy my pools to new pools with lower pg_num and then
delete the original pool.
rados cppool volumes new-volumes
rados cppool images new-images
ceph osd pool rm volumes volumes --yes-i-really-really-mean-it
ceph osd pool rm images images --yes-i-really-really-mean-it
ceph osd pool rename new-volumes volumes
ceph osd pool rename new-images images
But after that, when I want to query the usage of volumes by `rbd -p volumes
du`, it returns a mass of error messages like
failed to retreive name: (2) No such file or directory
2016-11-20 08:01:47.126119 7fa832ffd700 -1
librbd::image::RefreshParentRequest: failed to open parent image: (2) No
such file or directory
failed to refresh parent image: (2) No such file or directory
failed to refresh image: (2) No such file or directory
I think it may be caused by the change of "images" pool id, right?
Is it possible to re-reference the rbds in "volumes" on new "images" pool?
Or is it possible to change or specify the pool id of new pool?
Any suggestions are very welcome. Thanks
Sincerely,
Craig Chi (Product Developer)
Synology Inc. Taipei, Taiwan.
Sent from Synology MailPlus
_______________________________________________
ceph-users mailing list
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
--
Jason
Craig Chi
2016-11-22 01:27:47 UTC
Permalink
Hi Jason,

This really did the trick!
I can now rescue my rbds, thank you very much!

Sincerely,
Craig Chi (Product Developer)
Synology Inc. Taipei, Taiwan.
01:47.12

6068 7fa8337fe700 -1 librbd::image::OpenRequest:>failed to retreive name: (2) No such file or directory>2016-11-20 08:01:47.126119 7fa832ffd700 -1>librbd::image::RefreshParentRequest: failed to open parent image: (2) No>such file or directory>2016-11-20 08:01:47.126135 7fa832ffd700 -1 librbd::image::RefreshRequest:>failed to refresh parent image: (2) No such file or directory>2016-11-20 08:01:47.126150 7fa832ffd700 -1 librbd::image::OpenRequest:>failed to refresh image: (2) No such file or directory>>I think it may be caused by the change of "images" pool id, right?>>Is it possible to re-reference the rbds in "volumes" on new "images" pool?>Or is it possible to change or specify the pool id of new pool?>>Any suggestions are very welcome. Thanks>>Sincerely,>Craig Chi (Product Developer)>Synology Inc. Taipei, Taiwan.>>>>>Sent from Synology MailPlus>_______________________________________________>ceph-users mailing list>ceph-***@lists.ceph.com>http://lists.ceph.com/listinfo.cg
i/ceph-u

sers-ceph.com>-- Jason

Loading...