Wido, Very nice to see. Is there any plan to support xen/xcp hypervisors in the future?
On Fri, Jun 29, 2012 at 1:39 PM, David Nalley <[email protected]> wrote: > On Fri, Jun 29, 2012 at 11:59 AM, Wido den Hollander <[email protected]> > wrote: > > Hi, > > > > After a couple of months worth of work I'm happy to announce that the RBD > > support for primary storage in CloudStack seems to be reaching a point > where > > it's good enough to be reviewed. > > > > If you are planning to test RBD, please do read this e-mail carefully > since > > there are still some catches. > > > > Although the code inside CloudStack doesn't seem like a lot of code, I > had > > to modify code outside CloudStack to get RBD support working: > > > > 1. RBD storage pool support in libvirt. [0] [1] > > 2. Fix a couple of bugs in the libvirt-java bindings. [2] > > > > With those issues addressed I could implement RBD inside CloudStack. > > > > While doing so I ran into multiple issues inside CloudStack which delayed > > everything a bit. > > > > Now, the RBD support for primary storage knows limitations: > > > > - It only works with KVM > > > > - You are NOT able to snapshot RBD volumes. This is due to CloudStack > > wanting to backup snapshots to the secondary storage and uses 'qemu-img > > convert' for this. That doesn't work with RBD, but it's also very > > inefficient. > > > > RBD supports native snapshots inside the Ceph cluster. RBD disks also > have > > the potential to reach very large sizes. Disks of 1TB won't be the > > exception. It would stress your network heavily. I'm thinking about > > implementing "internal snapshots", but that is step #2. For now no > > snapshots. > > > > - You are able create a template from a RBD volume, but creating a new > > instance with RBD storage from a template is still a hit-and-miss. > Working > > on that one. > > > > Other than these limitations, everything works. You can create instances > and > > attach RBD disks. It also supports cephx authorization, so no problem > there! > > > > What do you need to run this patch? > > - A Ceph cluster > > - libvirt with RBD storage pool support (>0.9.12) > > - Modified libvirt-java bindings (jar is in the patch) > > - Qemu with RBD support (>0.14) > > - A extra field "user_info" in the storage pool table, see the SQL > change in > > the patch > > > > You can fetch the code on my Github account [3]. > > > > Warning: I'll be rebasing against the master branch regularly, so be > aware > > of git pull not always working nicely. > > > > I'd like to see this code reviewed while I'm working on the latest stuff > and > > getting all the patches upstream in other projects (mainly the libvirt > Java > > bindings). > > > > Any suggestions or comments? > > > > Thank you! > > > > Wido > > > > > > [0]: > > > http://libvirt.org/git/?p=libvirt.git;a=commit;h=74951eadef85e2d100c7dc7bd9ae1093fbda722f > > [1]: > > > http://libvirt.org/git/?p=libvirt.git;a=commit;h=122fa379de44a2fd0a6d5fbcb634535d647ada17 > > [2]: https://github.com/wido/libvirt-java/commits/cloudstack > > [3]: https://github.com/wido/CloudStack/commits/rbd > > > > Wido, > > I am thrilled to see Ceph support at this stage. Hopefully I'll get to > try this out next week. > Any chance you'd consider putting this in a topic branch in the ASF repo? > > --David >
