[Gluster-devel] GlusterFS with NFS-Ganesha Compilation

Soumya Koduri skoduri at redhat.com
Thu Sep 4 11:08:05 UTC 2014


Hi Samuthira,

you can refer to few below presentations/posts on GlusterFS architecture 
and libgfapi -

http://www.gluster.org/community/documentation/index.php/File:GlusterFS_Architecture_%26_Roadmap-Vijay_Bellur-LinuxCon_EU_2013.pdf

http://www.gluster.org/community/documentation/index.php/File:Developing_Apps_and_Integrating_with_GlusterFS_-_Libgfapi.odp

http://humblec.com/libgfapi-interface-glusterfs/


In short -
GlusterFS is a modular and stackable architecture. It has server stack 
running on each of the volume bricks processes' and the client stack 
loaded in the client applications. The communication between server and 
client processes is done via RPC.

So in this case, libgfapi is the module provided by GlusterFS which is 
loaded in the client application's (i.e, nfs-ganesha's) userspace when 
started and responsible for establishing rpc connections/communicating 
with Gluster management and server processes.

Yes. If using libgfapi, FUSE is not required.

I am not sure about how SDFS is designed. Atleast I do not see any 
reason why ganesha cannot be plugged to any of the filesystems. You may 
just need to mainly work on a library (like libgfapi.so) which when put 
in appropriate location, ganesha can load that module and in turn can 
communicate with your filesystem.
For any queries on how to plug-in that module for ganesha to use, please 
mail to "nfs-ganesha-devel at lists.sourceforge.net"

CCin the gluster mailing list who can help you out with the libgfapi 
design queries you may have.

Thanks,
Soumya


On 09/03/2014 11:02 AM, Samuthira Pandian wrote:
> Hi Soumya,
> I can able to integrate the glusterfs FSAL with NFS-Ganesha. Only think
> i didn't get the libgfapi  to link with FSAL compilation.
>
> Requirement :
>                          I'm going to use  SDFS with NFS-Ganesha in my
> project. For this i've taken Glustefs for my reference. After that i'm
> getting confused with libgfapi. Actually how it is interacting with both
> FSAL and Gluster filesystem.  If i'm using libgfapi then Fuse layer is
> required or not.
>
> can i implement same like libgfapi for SDFS. If it is fine then how can
> i start.
>
> Thank you Very much for your response.
>
>
> On Wed, Sep 3, 2014 at 12:58 AM, Soumya Koduri <skoduri at redhat.com
> <mailto:skoduri at redhat.com>> wrote:
>
>     Hi Samuthira,
>
>     I have documented on how NFS-Ganesha is integrated with glusterfs in
>     the below blog post.
>     http://glusterants.wordpress.__com/2014/09/03/glusterfs-and-__nfs-ganesha-integration/
>     <http://glusterants.wordpress.com/2014/09/03/glusterfs-and-nfs-ganesha-integration/>
>
>     Kindly check the link and let me know if you have any more queries.
>     Also I am curious to know on what your usecase could be. Can you
>     please specify?
>
>     Thanks,
>     Soumya
>
>     On 09/02/2014 03:47 PM, Samuthira Pandian wrote:
>
>         Hi Soumya,
>
>
>         Thank you very much for your reply. I need one more help from
>         your side,
>         i've downloaded the Glusterfs source code and just trying to
>         understand
>         the link between NFS-ganesha to glusterfs via FSAL. I've the
>         following
>         doubts,
>
>         1. Is libgfapi used for the interface between NFS ganesha
>         (Gluster FSAL)
>         to gluster filesystem?
>         2. I think we are not using the libfuse interafce. Is it right?
>         (FUSE
>         based architecture via kernel space fuse library)
>         3. How the internal linking is happening between FSAL to Gluster
>         filesystem?
>
>
>         Can you please guide me.
>
>
>         Thank you.
>
>
>         On Mon, Sep 1, 2014 at 12:07 PM, Soumya Koduri
>         <skoduri at redhat.com <mailto:skoduri at redhat.com>
>         <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>>> wrote:
>
>              Hi Samuthira,
>
>              Have you installed glusterfs. If not please install it
>         first using
>              the below link -
>         http://www.gluster.org/____community/documentation/index.____php/QuickStart
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart>
>
>
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart
>         <http://www.gluster.org/community/documentation/index.php/QuickStart>>
>
>              Thanks,
>              Soumya
>
>
>
>              On 08/28/2014 06:25 PM, Samuthira Pandian wrote:
>
>                  Hi,
>
>                  I have seen the this link (
>         http://blog.gluster.org/____category/miscgeneral/
>         <http://blog.gluster.org/__category/miscgeneral/>
>
>                  <http://blog.gluster.org/__category/miscgeneral/
>         <http://blog.gluster.org/category/miscgeneral/>> ) and i not able to
>                  understand the client and server node. Kindly guide me
>         how to
>                  understand
>                  this glusterfs architecture and how its works.
>
>
>                  Thanks
>
>
>                  On Thu, Aug 28, 2014 at 2:28 PM, Soumya Koduri
>                  <skoduri at redhat.com <mailto:skoduri at redhat.com>
>         <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>>
>                  <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>
>         <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>>>> wrote:
>
>                       First verify if libgfapi.so* files are generated in
>                  "/usr/lib" or
>                       "/usr/local/lib".
>
>                       If present, now verify if there are links created
>         to those
>                  files in
>                       "/usr/local/lib64" and "/usr/lib64". If not,
>         please create
>                  the links
>                       in those directories.
>
>                       Eg:
>                       [root at kvm2 glusterfs]# ls -ltr
>         /usr/local/lib64/libgfapi*
>                       lrwxrwxrwx 1 root root 26 Aug 13 18:36
>                  /usr/local/lib64/libgfapi.so
>                       -> /usr/local/lib/libgfapi.so
>                       lrwxrwxrwx 1 root root 28 Aug 13 18:36
>                       /usr/local/lib64/libgfapi.so.7 ->
>         /usr/local/lib/libgfapi.so.7
>                       lrwxrwxrwx 1 root root 32 Aug 13 18:36
>                       /usr/local/lib64/libgfapi.so.______7.0.0 ->
>                       /usr/local/lib/libgfapi.so.7.______0.0
>
>
>                       [root at kvm2 glusterfs]#
>
>                       Now try to bringup the ganesha.
>
>                       Thanks,
>                       Soumya
>
>
>                       On 08/28/2014 01:14 PM, Samuthira Pandian wrote:
>
>                           Hi,
>                           Thanks for your reply, I try to compile the
>         glusterfs
>                  with the
>                           help of
>                           above link. It compiled successfully but
>         couldn't link with
>                           libgfapi.
>                           For that what procedure i've to follow and
>         where can i
>                  get the gfapi
>                           library.
>
>                           Thanks
>
>
>                           On Wed, Aug 27, 2014 at 9:36 PM, Soumya Koduri
>                           <skoduri at redhat.com
>         <mailto:skoduri at redhat.com> <mailto:skoduri at redhat.com
>         <mailto:skoduri at redhat.com>>
>                  <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>
>         <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>>>
>                           <mailto:skoduri at redhat.com
>         <mailto:skoduri at redhat.com> <mailto:skoduri at redhat.com
>         <mailto:skoduri at redhat.com>>
>                  <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>
>         <mailto:skoduri at redhat.com <mailto:skoduri at redhat.com>>>>> wrote:
>
>                                Hi Samuthira,
>
>                                Did you setup glusterfs first? If not, please
>                  refer to the
>                           below
>                                link to setup one and configure gluster
>         volumes.
>         http://www.gluster.org/________community/documentation/index.________php/QuickStart
>         <http://www.gluster.org/______community/documentation/index.______php/QuickStart>
>
>         <http://www.gluster.org/______community/documentation/index.______php/QuickStart
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart>>
>
>
>
>         <http://www.gluster.org/______community/documentation/index.______php/QuickStart
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart>
>
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart>>>
>
>
>
>
>
>         <http://www.gluster.org/______community/documentation/index.______php/QuickStart
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart>
>
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart>>
>
>
>         <http://www.gluster.org/____community/documentation/index.____php/QuickStart
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart>
>
>         <http://www.gluster.org/__community/documentation/index.__php/QuickStart
>         <http://www.gluster.org/community/documentation/index.php/QuickStart>>>>
>
>                                Only after setting up GlusterFS, you can
>         compile
>                           nfs-ganesha with
>                                GlusterFS by following the steps given in
>         the link
>                  which
>                           Anand has
>                                forwarded.
>
>                                  cmake -DUSE_FSAL_GLUSTER=ON
>                  -DCURSES_LIBRARY=/usr/lib64
>
>         -DCURSES_INCLUDE_PATH=/usr/________include/ncurses
>                                -DCMAKE_BUILD_TYPE=Maintainer
>         /root/nfs-ganesha/src
>
>                                Link -
>         https://forge.gluster.org/nfs-________ganesha-and-glusterfs-________integration/pages/Home
>         <https://forge.gluster.org/nfs-______ganesha-and-glusterfs-______integration/pages/Home>
>
>         <https://forge.gluster.org/__nfs-____ganesha-and-glusterfs-______integration/pages/Home
>         <https://forge.gluster.org/nfs-____ganesha-and-glusterfs-____integration/pages/Home>>
>
>
>         <https://forge.gluster.org/____nfs-__ganesha-and-glusterfs-______integration/pages/Home
>         <https://forge.gluster.org/__nfs-__ganesha-and-glusterfs-____integration/pages/Home>
>
>         <https://forge.gluster.org/__nfs-__ganesha-and-glusterfs-____integration/pages/Home
>         <https://forge.gluster.org/nfs-__ganesha-and-glusterfs-__integration/pages/Home>>>
>
>
>
>
>         <https://forge.gluster.org/______nfs-ganesha-and-glusterfs-______integration/pages/Home
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration/pages/Home>
>
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration/pages/Home
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration/pages/Home>>
>
>
>
>
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration/pages/Home
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration/pages/Home>
>
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration/pages/Home
>         <https://forge.gluster.org/nfs-ganesha-and-glusterfs-integration/pages/Home>>>>
>
>
>                                Thanks,
>                                Soumya
>
>
>                                On 08/27/2014 08:12 PM, Anand Subramanian
>         wrote:
>
>                                    Hi Samuthira,
>
>                                    Sorry for the delayed response. CC-ing my
>                  teammate who
>                           can help you.
>                                    You can take a look at :
>         https://forge.gluster.org/nfs-________ganesha-and-glusterfs-________integration
>         <https://forge.gluster.org/nfs-______ganesha-and-glusterfs-______integration>
>
>         <https://forge.gluster.org/__nfs-____ganesha-and-glusterfs-______integration
>         <https://forge.gluster.org/nfs-____ganesha-and-glusterfs-____integration>>
>
>
>         <https://forge.gluster.org/____nfs-__ganesha-and-glusterfs-______integration
>         <https://forge.gluster.org/__nfs-__ganesha-and-glusterfs-____integration>
>
>         <https://forge.gluster.org/__nfs-__ganesha-and-glusterfs-____integration
>         <https://forge.gluster.org/nfs-__ganesha-and-glusterfs-__integration>>>
>
>
>
>
>         <https://forge.gluster.org/______nfs-ganesha-and-glusterfs-______integration
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration>
>
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration>>
>
>
>
>
>         <https://forge.gluster.org/____nfs-ganesha-and-glusterfs-____integration
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration>
>
>         <https://forge.gluster.org/__nfs-ganesha-and-glusterfs-__integration
>         <https://forge.gluster.org/nfs-ganesha-and-glusterfs-integration>>>>
>
>                                    Thanks,
>                                    Anand
>
>                                    On 08/21/2014 07:45 PM, Samuthira
>         Pandian wrote:
>
>                                        Hi Anand,
>
>                                                      I am going to use
>         Gluster FS
>                  along
>                           with NFS
>                                        Ganesha-2.1
>                                        on ubuntu system. I got the
>         option to run the
>                           nfs-ganesha with
>                                        GlusterFS. But i did't get any
>         idea about
>                  compile the
>                                        glusterFS with
>                                        NFS Ganesha. So kindly guide me
>         how to
>                  compile the
>                                        NFS-Ganesha with
>                                        gluster FS and share me if you
>         have any doc's.
>
>                                        Req:
>                                                      Ubuntu-14.04
>                                                      Gluster FS
>
>
>                                        Regards,
>                                        Samuthira Pandian T
>                                        Tamilnadu, India
>
>
>
>
>
>


More information about the Gluster-devel mailing list