From: Wido den Hollander <wido@42on.com>
To: ceph-devel <ceph-devel@vger.kernel.org>
Subject: RBD performance with many childs and snapshots
Date: Mon, 21 Dec 2015 20:06:17 +0100 [thread overview]
Message-ID: <56784DA9.9060304@42on.com> (raw)
Hi,
While implementing the buildvolfrom method in libvirt for RBD I'm stuck
at some point.
$ virsh vol-clone --pool myrbdpool image1 image2
This would clone image1 to a new RBD image called 'image2'.
The code I've written now does:
1. Create a snapshot called image1@libvirt-<epochtimestamp>
2. Protect the snapshot
3. Clone the snapshot to 'image1'
wido@wido-desktop:~/repos/libvirt$ ./tools/virsh vol-clone --pool
rbdpool image1 image2
Vol image2 cloned from image1
wido@wido-desktop:~/repos/libvirt$
root@alpha:~# rbd -p libvirt info image2
rbd image 'image2':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.1976451ead36b
format: 2
features: layering, striping
flags:
parent: libvirt/image1@libvirt-1450724650
overlap: 10240 MB
stripe unit: 4096 kB
stripe count: 1
root@alpha:~#
But this could potentially lead to a lot of snapshots with children on
'image1'.
image1 itself will probably never change, but I'm wondering about the
negative performance impact this might have on a OSD.
I'd rather not hardcode a snapshot name like 'libvirt-parent-snapshot'
into libvirt. There is however no way to pass something like a snapshot
name in libvirt when cloning.
Any bright suggestions? Or is it fine to create so many snapshots?
--
Wido den Hollander
42on B.V.
Ceph trainer and consultant
Phone: +31 (0)20 700 9902
Skype: contact42on
next reply other threads:[~2015-12-21 19:06 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-21 19:06 Wido den Hollander [this message]
2015-12-21 22:51 ` RBD performance with many childs and snapshots Josh Durgin
2015-12-22 13:34 ` Wido den Hollander
2015-12-23 2:03 ` Josh Durgin
2015-12-22 21:55 ` Wido den Hollander
2015-12-23 2:04 ` Josh Durgin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56784DA9.9060304@42on.com \
--to=wido@42on.com \
--cc=ceph-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox