GlusterFS: Difference between revisions

From Bashlinux
Jump to navigationJump to search
Content deleted Content added
Manpaz (talk | contribs)
Created page with "__NOTOC__ == Setup == === How to install GlusterFS with 2 masters === * Install glusterfs and dependencies # apt-get -y install glusterfs-server glusterfs-client ntp * Make ..."
 
Manpaz (talk | contribs)
No edit summary
 
Line 1: Line 1:
__NOTOC__
__NOTOC__
Facilitates distributed filesystems across the network, it runs on user space.

== Setup ==
== Setup ==
=== How to install GlusterFS with 2 masters ===
=== How to install GlusterFS with 2 masters ===
Line 18: Line 20:
* Check the volume status on any node
* Check the volume status on any node
# gluster volume info
# gluster volume info

=== How to replicate a filesystem across two storage servers (Legacy) ===
The input file must be from any mount point in the client side, from there the data is split up and send to each storage server.

'''Server side of the paired master'''
# file: /etc/glusterfs/glusterfsd.vol
volume posix
type storage/posix
option directory /data/export
end-volume
volume locks
type features/locks
subvolumes posix
end-volume
volume brick
type performance/io-threads
option thread-count 8
subvolumes locks
end-volume
volume server
type protocol/server
option transport-type tcp
option auth.addr.brick.allow *
subvolumes brick
end-volume

'''Client side of the paired master'''
# file: /etc/glusterfs/glusterfs.vol
volume remote1
type protocol/client
option transport-type tcp
option remote-host storage1.example.com
option remote-subvolume brick
end-volume
volume remote2
type protocol/client
option transport-type tcp
option remote-host storage2.example.com
option remote-subvolume brick
end-volume
volume replicate
type cluster/replicate
subvolumes remote1 remote2
end-volume
volume writebehind
type performance/write-behind
option window-size 1MB
subvolumes replicate
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes writebehind
end-volume


=== How to mount a volume on a client ===
=== How to mount a volume on a client ===
Line 26: Line 89:
# mkdir -p <LOCAL_MOUNT>
# mkdir -p <LOCAL_MOUNT>
# mount <LOCAL_MOUNT>
# mount <LOCAL_MOUNT>

=== How to mount a volume on a client (Legacy) ===
The fstab entry for glusterfs client must be:
/etc/glusterfs/glusterfs.vol /dest/folder glusterfs defaults 0 0


== Troubleshooting ==
== Troubleshooting ==

Latest revision as of 06:11, 18 June 2015

Facilitates distributed filesystems across the network, it runs on user space.

Setup

How to install GlusterFS with 2 masters

  • Install glusterfs and dependencies
# apt-get -y install glusterfs-server glusterfs-client ntp
  • Make peers to look for each other, by running on each node at the same time
# gluster peer probe $PEER
  • On the primary do:
  • Create the volume
# gluster volume create $VOL replica 2 transport tcp $PRI:$VOL_SERVER $SEC:$VOL_SERVER $FORCE
  • Start the volume
# gluster volume start $VOL
  • Grant access to any client on the same subnet
# gluster volume set $VOL auth.allow $NET.*
  • Check the volume status on any node
# gluster volume info

How to replicate a filesystem across two storage servers (Legacy)

The input file must be from any mount point in the client side, from there the data is split up and send to each storage server.

Server side of the paired master

# file: /etc/glusterfs/glusterfsd.vol 
volume posix
  type storage/posix
  option directory /data/export
end-volume

volume locks
  type features/locks
  subvolumes posix
end-volume

volume brick
  type performance/io-threads
  option thread-count 8
  subvolumes locks
end-volume

volume server
  type protocol/server
  option transport-type tcp
  option auth.addr.brick.allow *
  subvolumes brick
end-volume

Client side of the paired master

# file: /etc/glusterfs/glusterfs.vol
volume remote1
  type protocol/client
  option transport-type tcp
  option remote-host storage1.example.com
  option remote-subvolume brick
end-volume

volume remote2
  type protocol/client
  option transport-type tcp
  option remote-host storage2.example.com
  option remote-subvolume brick
end-volume

volume replicate
  type cluster/replicate
  subvolumes remote1 remote2
end-volume

volume writebehind
  type performance/write-behind
  option window-size 1MB
  subvolumes replicate
end-volume

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

How to mount a volume on a client

  • Create an fstab entry
<PEER_IP>:<VOL>    <LOCAL_MOUNT>    glusterfs defaults,_netdev,backupvolfile-server=<LOCAL_IP>    0 0
  • Create the proper direcectory and mount it
# mkdir -p <LOCAL_MOUNT>
# mount <LOCAL_MOUNT>

How to mount a volume on a client (Legacy)

The fstab entry for glusterfs client must be:
/etc/glusterfs/glusterfs.vol /dest/folder glusterfs defaults 0 0 

Troubleshooting

  • How deal with a volume that can't be created because a previous attempt failed
ERROR MESSAGE:
volume create: <VOL>: failed: /var/lib/glusterfs-server/<VOL> or a prefix of it is already part of a volume
  • Remove the extended attributes to the directory created by gluster
# setfattr -x trusted.glusterfs.volume-id /var/lib/glusterfs-server/<VOL>
# setfattr -x trusted.gfid /var/lib/glusterfs-server/<VOL>
# rm -rf /var/lib/glusterfs-server/<VOL>/.glusterfs