Creating An NFS-Like Standalone Storage Server With GlusterFS On Debian Lenny - Page 2

Want to support HowtoForge? Become a subscriber!
Submitted by falko (Contact Author) (Forums) on Tue, 2009-06-02 17:03. ::

3 Setting Up The GlusterFS Client

On the client, we need to install fuse and GlusterFS. Instead of installing the libfuse2 package from the Debian repository, we install a patched version with better support for GlusterFS.

First we install the prerequisites again:

aptitude install sshfs build-essential flex bison byacc libdb4.6 libdb4.6-dev

Then we build fuse as follows (you can find the latest patched fuse version on

cd /tmp
tar -zxvf fuse-2.7.4glfs11.tar.gz
cd fuse-2.7.4glfs11
make && make install

Afterwards we build GlusterFS (just like on the server)...

cd /tmp
tar xvfz glusterfs-2.0.1.tar.gz
cd glusterfs-2.0.1
./configure --prefix=/usr > /dev/null

make && make install
glusterfs --version

... and create the following two directories:

mkdir /mnt/glusterfs
mkdir /etc/glusterfs

Next we create the file /etc/glusterfs/glusterfs.vol:

vi /etc/glusterfs/glusterfs.vol

volume remote
  type protocol/client
  option transport-type tcp
  option remote-host # can be IP or hostname
  option remote-subvolume brick

volume writebehind
  type performance/write-behind
  option window-size 4MB
  subvolumes remote

volume cache
  type performance/io-cache
  option cache-size 512MB
  subvolumes writebehind

Make sure you use the correct server hostname or IP address in the option remote-host line!

That's it! Now we can mount the GlusterFS filesystem to /mnt/glusterfs with one of the following two commands:

glusterfs -f /etc/glusterfs/glusterfs.vol /mnt/glusterfs


mount -t glusterfs /etc/glusterfs/glusterfs.vol /mnt/glusterfs

You should now see the new share in the outputs of...


client1:~# mount
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
/etc/glusterfs/glusterfs.vol on /mnt/glusterfs type fuse.glusterfs (rw,max_read=131072,allow_other,default_permissions)

... and...

df -h

client1:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-root   19G  812M   17G   5% /
tmpfs                 253M     0  253M   0% /lib/init/rw
udev                   10M   80K   10M   1% /dev
tmpfs                 253M     0  253M   0% /dev/shm
/dev/sda1             471M   20M  427M   5% /boot
                       29G  811M   27G   3% /mnt/glusterfs

Instead of mounting the GlusterFS share manually on the client, you could modify /etc/fstab so that the share gets mounted automatically when the client boots.

Open /etc/fstab and append the following line:

vi /etc/fstab

/etc/glusterfs/glusterfs.vol  /mnt/glusterfs  glusterfs  defaults  0  0

To test if your modified /etc/fstab is working, reboot the client:


After the reboot, you should find the share in the outputs of...

df -h

... and...



4 Links

Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by guletz (not registered) on Tue, 2010-03-16 09:54.

a better fstab?

/etc/glusterfs/glusterfs.vol  /mnt/glusterfs  glusterfs  _netdev,defaults  0  0