gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] Review comments needed


From: Paul Jochum
Subject: Re: [Gluster-devel] Review comments needed
Date: Fri, 07 Sep 2007 14:00:26 -0500
User-agent: Thunderbird 1.5.0.12 (X11/20070719)

Hi Amar:

   Just 2 small suggestion:

- for the compile lines (on both client and server), since many users (especially testing this for the first time) might not have IB, adding --disable-ibverbs is needed

- and recommending turning off (or modifying) iptables is needed to communicate over TCP/IP.

regards,

Paul Jochum

Amar S. Tumballi wrote:
Hi all,
 After seeing lot of basic questions about setting up basic glusterfs mount,
I thought there is a need for solid guide which gives idea about writing a
basic spec file. Outcome is the current document. Please feel free to review
it. Do suggest some improvements.

http://gluster.org/docs/index.php/Install_and_run_GlusterFS_in_10mins

Thanks and Regards,
Amar

------------------------------------------------------------------------


Download:
----------

Get GlusterFS: http://ftp.zresearch.com/pub/gluster/glusterfs/CURRENT

Get Patched Fuse: http://ftp.zresearch.com/pub/gluster/glusterfs/fuse/
 - This patched version of fuse is very suited for using with GlusterFS, as:
   * this supports higher IO buffer size, which gives increased IO performance.
   * it provides flock() syscall, which is not present in regular fuse tarball.
   * inode management improvements.

Install:
----------

This document describes the install procedure from source tarball.

In the client machine, install the fuse package. (Make sure that '--prefix' 
option is set to earlier fuse installation path).

====
 # tar -xzf fuse-2.7.0-glfs3.tar.gz
 # cd fuse-2.7.0-glfs3
 # ./configure --prefix=/usr --enable-kernel-module
 # make install > /dev/null
# ldconfig ====

Now make sure that the system has following packages:
* fuse [Just got installed] * flex
 * bison

Now, untar and install the glusterfs package.

====
 # tar -xzf glusterfs-1.3.1.tar.gz
 # cd glusterfs-1.3.1/
 # ./configure --prefix= --disable-ibverbs
 # make install > /dev/null
====

Congratulations :) You are done with 'glusterfs' installation.


Execution:
----------
After the installations a majority of problem faced by many people is that, how 
to get glusterfs working??. To run GlusterFS, you need a volume specification 
file in short a spec file, which defines the behavior and features for 
glusterfs. We will start with a barebone spec file (this spec file is very 
basic and it is just to get the feel of GlusterFS).


** GlusterFS is Distributed Parallel Filesystem (confused?? think it like an N
FS replacement for the time being):
**** Example1 [NFS like]
 Assume you have two machines '192.168.0.1' and '192.168.0.2'. Let 192.168.0.1 
be server and the latter be client. [NOTE: you can change the IP address in the 
spec file according to your network configuration or else to test, you can use 
the systems localhost IP address i.e '127.0.0.1']

 -> Server machine: [192.168.0.1]
   [NOTE: After editing the file it sould have content as shown by cat command]

====
 $ emacs /etc/glusterfs/glusterfs-server.vol
 $ cat /etc/glusterfs/glusterfs-server.vol
 volume brick
   type storage/posix
   option directory /tmp/export
 end-volume

 volume server
   type protocol/server
   subvolumes brick
   option auth.ip.brick.allow *
 end-volume
$ glusterfsd -f /etc/glusterfs/glusterfs-server.vol
====

 -> Client machine: [192.168.0.2]

====
 $ mkdir /mnt/glusterfs
 $ emacs /etc/glusterfs/glusterfs-client.vol
 $ cat /etc/glusterfs/glusterfs-client.vol
volume client
   type protocol/client
   option remote-host 192.168.0.1
   option remote-subvolume brick
 end-volume
$ glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
====

Wow, you can see the exported directory '192.168.0.1:/tmp/export' as 
/mnt/glusterfs in client node :O


**** Example 2 [Clustered FileSystem]

 Assume you have 4 machines '192.168.0.1' to '192.168.0.4'. Let 3 machines 
192.168.0.1, 192.168.0.2 and 192.168.0.3 be servers and other be client. [NOTE: 
you can change the IP address in the spec file according to your network, or 
else, to test on the same machine give '127.0.0.1' and different listen ports]

 --> Server1 [192.168.0.1]

====
 $ emacs /etc/glusterfs/glusterfs-server.vol
 $ cat /etc/glusterfs/glusterfs-server.vol
 volume brick
   type storage/posix
   option directory /tmp/export
 end-volume

 volume brick-ns
   type storage/posix
   option directory /tmp/export-ns
 end-volume

 volume server
   type protocol/server
   subvolumes brick
   option auth.ip.brick.allow *
   option auth.ip.brick-ns.allow *
 end-volume
$ glusterfsd -f /etc/glusterfs/glusterfs-server.vol
 $ df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             9.2G  7.6G  1.2G  87% /
 $

====

  --> Server2 [192.168.0.2]

====
 $ emacs /etc/glusterfs/glusterfs-server.vol
 $ cat /etc/glusterfs/glusterfs-server.vol
 volume brick
   type storage/posix
   option directory /tmp/export
 end-volume

 volume server
   type protocol/server
   subvolumes brick
   option auth.ip.brick.allow *
 end-volume
$ glusterfsd -f /etc/glusterfs/glusterfs-server.vol
 $ df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             9.2G  7.6G  1.2G  87% /
 $
====

 --> Server3 [192.168.0.3]

====
 $ emacs /etc/glusterfs/glusterfs-server.vol
 $ cat /etc/glusterfs/glusterfs-server.vol
 volume brick
   type storage/posix
   option directory /tmp/export
 end-volume

 volume server
   type protocol/server
   subvolumes brick
   option auth.ip.brick.allow *
 end-volume
$ glusterfsd -f /etc/glusterfs/glusterfs-server.vol
 $ df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda1             9.2G  7.6G  1.2G  87% /
 $
====

 --> Client1 [192.168.0.4]


====
 $ mkdir /mnt/glusterfs
 $ emacs /etc/glusterfs/glusterfs-client.vol
 $ cat /etc/glusterfs/glusterfs-client.vol

volume client1-ns
   type protocol/client
   option remote-host 192.168.0.1
   option remote-subvolume brick-ns
 end-volume
volume client1
   type protocol/client
   option remote-host 192.168.0.1
   option remote-subvolume brick
 end-volume
volume client2
   type protocol/client
   option remote-host 192.168.0.2
   option remote-subvolume brick
 end-volume
volume client3
   type protocol/client
   option remote-host 192.168.0.3
   option remote-subvolume brick
 end-volume
volume unify
   type cluster/unify
   subvolumes client1 client2 client3
   option namespace client1-ns
   option scheduler rr
 end-volume

 $ glusterfs -f /etc/glusterfs/glusterfs-client.vol /mnt/glusterfs
 $ df -h
 Filesystem            Size   Used Avail Use% Mounted on
 /dev/sda1             9.2G   7.6G  1.2G  87% /
 glusterfs            27.7G  22.9G  3.7G  87% /mnt/glusterfs
 $
====

 :O You already got your cluster file system working


For more details refer Gluster wiki - 
http://www.gluster.org/docs/index.php/GlusterFS

------------------------------------------------------------------------

_______________________________________________
Gluster-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/gluster-devel


reply via email to

[Prev in Thread] Current Thread [Next in Thread]