On Thu, Jul 25, 2013 at 11:11 AM, Weiwei Jia <[email protected]> wrote:
> This patch adds detailed plans to support Gluster in XEN, QEMU/KVM > and such VM, in a way that is similar to sharedfile disk template. > > Signed-off-by: Weiwei Jia <[email protected]> > --- > doc/design-glusterfs-ganeti-support.rst | 37 > ++++++++++++++++++++++++++++++- > 1 file changed, 36 insertions(+), 1 deletion(-) > > diff --git a/doc/design-glusterfs-ganeti-support.rst > b/doc/design-glusterfs-ganeti-support.rst > index a26074e..896c981 100644 > --- a/doc/design-glusterfs-ganeti-support.rst > +++ b/doc/design-glusterfs-ganeti-support.rst > @@ -74,7 +74,7 @@ Now, there are two specific enhancements: > works with VM images on Gluster volumes. > > Proposed implementation > ------------------------ > +======================= > > QEMU/KVM includes support for GlusterFS and Ganeti could support GlusterFS > through QEMU/KVM. However, this way could just let VMs of QEMU/KVM use > GlusterFS > @@ -92,6 +92,41 @@ VMs), RBD disk template would be a good reference. The > first part would be finis > at first and then the second part would be completed, which is based on > the first > part. > > +Gluster for XEN and QEMU/KVM VM (similar to sharedfile) > +------------------------------------------------------- > +This part adds support for Gluster for XEN VM, QEMU/KVM VM and such, in a > way > +which is similar to sharedfile disk template. It would be finished with > two > +steps as follows. > + > +- Mount server gluster volume to local directory of each instance in the > + cluster. > +- Add instance with the disk installed under the local directory that is > + based on gluster backend storage. > + > +The second step is easy to realize because sharedfile disk template is a > good > +reference (see commit 4b97f9024376b7bd5db9fce0aba50e29ed842fa2 and > +design-shared-storage.rst for details). The first step would be completed > as > +follows. > + > +- Add "--disk-parameters gluster:hostname=node1,volname=ganeti" parameters > + to ``gnt-instance add`` command. > +- Run "gnt-instance add --disk-parameters hostname=node1,volname=ganeti > + instance.example.com", that would get the disk parameters, mount > Gluster volume > + to local Gluster storage dir, save (hostname, node1), (volname, ganeti) > into > + ganeti config file, and then create instance with Gluster backend > storage. > +- VerifyDisks checks if Gluster storage dir is mounted when creating an > instance. > +- If not mounted, ActivateDisks would mount the Gluster volume to node's > Gluster > + storage dir. > +- Check (and if needed mount) the Gluster volume from inside CreateDisk > (a function > + called as part of the InstanceCreate opcode) > + > +In order to run above mount command correctly, the '--disk-parameters > disk-template: > +disk-param=value[, disk-param=value...]' option of ``gnt-instance add`` > command > +has to support the format of '--disk-parameters > gluster:hostname=node1,volname= > +ganeti'. Through this way, hostname and volume name would be obtained. > The gluster > +storage dir will also be obtained by adding the parameter > '--gluster-storage-dir' > +at the instance adding time. > + > .. vim: set textwidth=72 : > .. Local Variables: > .. mode: rst > -- > 1.7.10.4 > > LGTM again. Thanks, I'll submit it soon. Michele -- Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
