On Thu, May 2, 2013 at 9:19 AM, harryxiyou <[email protected]> wrote: > On Thu, May 2, 2013 at 2:28 PM, Guido Trotter <[email protected]> wrote: > > Hi Guido, > > [...] >> The benefit with inside gluster is that it would not be opaque, but >> fully supported and integrated. >> I personally am in favor of that implementation, rather than an >> external one. Right now we provide the external interface, but no >> module for it. Putting one means we would need to add infrastructure >> for testing/qaing it and such, while having it internal we can >> leverage the normal infrastructure. Having it internal we can also >> provide a monitoring agent for it (see the monitoring agent design) >> and more visibility into what's going on. >> > > Hmmm..., it looks like we will not do extra stuffs if we realize Gluster > inside Ganeti. It really good for me. I have give the implementation plan > for external storage. And i will give the implementation plan for inside > Ganeti. However, i cannot find the documents about how to realize > back-end storage inside Ganeti. Would you please give me some > links you know? For external storage, the link is here > http://docs.ganeti.org/ganeti/master/html/design-shared-storage.html#introduction-of-the-external-storage-interface >
Hi, Unfortunately we have no "manual" to add additional storage. I recommend you to look at the lib/block/ directory in the master branch and at the "BlockDev" class, which your gluster implementation should implement. As an example you can also see how rbd is implemented. Note that we may have to extend the class and make it better so that it can understand the concept of "hypervisor-driven" block devices, which thus would behave differently. >> >> Well, if it is then for example how can qemu configure it via the >> userspace, rather than via the filesystem of the node? >> And we want it via the library, as lance said. :) >> > > Actually, i cannot understand you clearly. Would you please > explain for me in details. Thanks very much ;-) I meant just that Ganeti can do more if it knows about the block device backend than if it doesn't. For example ask qemu to use it directly, rather than via a shared filesystem. Thanks, Guido
