[one-users] Copy image on Ceph to file-based datastore

Stuart Longland stuartl at vrt.com.au
Thu Mar 13 00:47:51 PDT 2014

Hi all,

In OpenNebula, it seems we can easily set it up to use Ceph as a
datastore for images, cloning non-persistent images to make temporary
copies, etc.

We can also have the images stored as files on the frontend computer and
dolled out via SSH; and in the case of "persistent" images, copied back
when the VM is undeployed.

What I'm missing is a hybrid between the two.  We've got a 3-node Ceph
cluster which is working well.  However, compared to a local SSD, the
Ceph cluster with its 6 spinners is a bit on the slow side in comparison.

There are VMs for which we don't care about resiliency, and so it makes
sense to use the SSDs attached to the VM hosts, and store the image
itself in Ceph.

The thought is, when the VM starts up, rather than having it dished out
from the frontend computer, the host does a:

	rbd export pool-name/image-name /var/lib/one/datastores/123/45/disk.0

Then, if the image is "persistent", it does a

	rbd import pool-name/image-name /var/lib/one/datastores/123/45/disk.0

(Note: not sure if import will "overwrite" the image, it may be
necessary to do a rbd rm first of the old image... or better, import the
new copy then remove and rename.)

I had a tinker looking at the ssh transfer driver, but couldn't quite
figure out how to reach out to the other datastore without some ugly

Anyone else done somthing like this?

Stuart Longland
Systems Engineer
     _ ___
\  /|_) |                           T: +61 7 3535 9619
 \/ | \ |     38b Douglas Street    F: +61 7 3535 9699
   SYSTEMS    Milton QLD 4064       http://www.vrt.com.au

More information about the Users mailing list