Bring `examples' directory upto date.
Signed-off-by: Sachidananda Urs <sac@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3031 (Fix share/{doc,man} directory) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3031
This commit is contained in:
parent
4ba661f598
commit
4566fb78c1
@ -1,4 +1,4 @@
|
||||
EXTRA = README unify.vol replicate.vol stripe.vol protocol-client.vol protocol-server.vol posix-locks.vol trash.vol write-behind.vol io-threads.vol io-cache.vol read-ahead.vol filter.vol trace.vol
|
||||
EXTRA = README replicate.vol stripe.vol protocol-client.vol protocol-server.vol posix-locks.vol trash.vol write-behind.vol io-threads.vol io-cache.vol read-ahead.vol filter.vol trace.vol
|
||||
EXTRA_DIST = $(EXTRA)
|
||||
|
||||
docdir = $(datadir)/doc/$(PACKAGE_NAME)
|
||||
|
@ -1,8 +1,8 @@
|
||||
GlusterFS's translator feature is very flexible and there are quite a lot of ways one
|
||||
can configure their filesystem to behave like.
|
||||
GlusterFS's translator feature is very flexible and there are quite a lot of
|
||||
ways one can configure their filesystem to behave like.
|
||||
|
||||
Volume Specification is a way in which GlusterFS understands how it has to work, based
|
||||
on what is written there.
|
||||
Volume Specification is a way in which GlusterFS understands how it has to work,
|
||||
based on what is written there.
|
||||
|
||||
Going through the following URLs may give you more idea about all these.
|
||||
|
||||
|
@ -5,20 +5,26 @@ volume client
|
||||
option remote-subvolume brick # name of the remote volume
|
||||
end-volume
|
||||
|
||||
## In normal clustered storage type, any of the cluster translators can come here.
|
||||
## In normal clustered storage type, any of the cluster translators can come
|
||||
# here.
|
||||
#
|
||||
# Definition of other clients
|
||||
#
|
||||
# Definition of cluster translator (may be unify, replicate, or unify over replicate)
|
||||
# Definition of cluster translator (may be distribute, replicate, or distribute
|
||||
# over replicate)
|
||||
#
|
||||
|
||||
### 'IO-Cache' translator is best used on client side when a filesystem has file which are not modified frequently but read several times. For example, while compiling a kernel, *.h files are read while compiling every *.c file, in these case, io-cache translator comes very handy, as it keeps the whole file content in the cache, and serves from the cache.
|
||||
### 'IO-Cache' translator is best used on client side when a filesystem has file
|
||||
# which are not modified frequently but read several times. For example, while
|
||||
# compiling a kernel, *.h files are read while compiling every *.c file, in
|
||||
# these case, io-cache translator comes very handy, as it keeps the whole file
|
||||
# content in the cache, and serves from the cache.
|
||||
# One can provide the priority of the cache too.
|
||||
|
||||
volume ioc
|
||||
type performance/io-cache
|
||||
subvolumes client # In this example it is 'client' you may have to change it according to your spec file.
|
||||
option page-size 1MB # 128KB is default
|
||||
subvolumes client # In this example it is 'client' you may have to
|
||||
# change it according to your spec file.
|
||||
option cache-size 64MB # 32MB is default
|
||||
option force-revalidate-timeout 5 # 1second is default
|
||||
option priority *.html:2,*:1 # default is *:0
|
||||
|
@ -1,11 +1,13 @@
|
||||
|
||||
volume brick
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export # Export this directory
|
||||
end-volume
|
||||
|
||||
### 'IO-threads' translator gives a threading behaviour to File I/O calls. All other normal fops are having default behaviour. Loading this on server side helps to reduce the contension of network. (Which is assumed as a GlusterFS hang).
|
||||
# One can load it in client side to reduce the latency involved in case of a slow network, when loaded below write-behind.
|
||||
### 'IO-threads' translator gives a threading behaviour to File I/O calls. All
|
||||
# other normal fops are having default behaviour. Loading this on server side
|
||||
# helps to reduce the contension of network. (Which is assumed as a GlusterFS
|
||||
# hang).
|
||||
|
||||
volume iot
|
||||
type performance/io-threads
|
||||
subvolumes brick
|
||||
@ -14,8 +16,7 @@ end-volume
|
||||
|
||||
volume server
|
||||
type protocol/server
|
||||
subvolumes iot brick
|
||||
subvolumes iot
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
|
||||
option auth.addr.iot.allow 192.168.* # Allow access to "p-locks" volume
|
||||
option auth.addr.iot.allow 192.168.*
|
||||
end-volume
|
||||
|
@ -1,10 +1,10 @@
|
||||
|
||||
volume brick
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export # Export this directory
|
||||
end-volume
|
||||
|
||||
### 'Posix-locks' feature should be added on the server side (as posix volume as subvolume) because it contains the actual file.
|
||||
# 'Posix-locks' feature should be added on the server side.
|
||||
|
||||
volume p-locks
|
||||
type features/posix-locks
|
||||
subvolumes brick
|
||||
@ -13,8 +13,7 @@ end-volume
|
||||
|
||||
volume server
|
||||
type protocol/server
|
||||
subvolumes p-locks brick
|
||||
subvolumes p-locks
|
||||
option transport-type tcp
|
||||
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
|
||||
option auth.addr.p-locks.allow 192.168.* # Allow access to "p-locks" volume
|
||||
end-volume
|
||||
|
@ -1,17 +1,12 @@
|
||||
volume client
|
||||
type protocol/client
|
||||
option transport-type tcp # for TCP/IP transport
|
||||
# option transport-type ib-sdp # for Infiniband transport
|
||||
option remote-host 192.168.1.10 # IP address of the remote brick
|
||||
# option transport.socket.remote-port 24016
|
||||
|
||||
# option transport-type ib-verbs # for Infiniband verbs transport
|
||||
# option transport.ib-verbs.work-request-send-size 1048576
|
||||
# option transport.ib-verbs.work-request-send-count 16
|
||||
# option transport.ib-verbs.work-request-recv-size 1048576
|
||||
# option transport.ib-verbs.work-request-recv-count 16
|
||||
# option transport.ib-verbs.remote-port 24016
|
||||
|
||||
# option transport-type rdma # for Infiniband verbs transport
|
||||
# option transport.rdma.work-request-send-count 16
|
||||
# option transport.rdma.work-request-recv-count 16
|
||||
# option transport.rdma.remote-port 24016
|
||||
option remote-subvolume brick # name of the remote volume
|
||||
# option transport-timeout 30 # default value is 120seconds
|
||||
end-volume
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
### Export volume "brick" with the contents of "/home/export" directory.
|
||||
volume brick
|
||||
type storage/posix # POSIX FS translator
|
||||
@ -11,15 +10,12 @@ volume server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
# option transport.socket.listen-port 24016
|
||||
|
||||
# option transport-type ib-verbs # For Infiniband Verbs transport
|
||||
# option transport.ib-verbs.work-request-send-size 131072
|
||||
# option transport.ib-verbs.work-request-send-count 64
|
||||
# option transport.ib-verbs.work-request-recv-size 131072
|
||||
# option transport.ib-verbs.work-request-recv-count 64
|
||||
# option transport.ib-verbs.listen-port 24016
|
||||
# option transport-type rdma
|
||||
# option transport.rdma.work-request-send-count 64
|
||||
# option transport.rdma.work-request-recv-count 64
|
||||
# option transport.rdma.listen-port 24016
|
||||
|
||||
# option bind-address 192.168.1.10 # Default is to listen on all interfaces
|
||||
# option client-volume-filename /etc/glusterfs/glusterfs-client.vol
|
||||
subvolumes brick
|
||||
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
|
||||
end-volume
|
||||
|
@ -9,14 +9,16 @@ end-volume
|
||||
#
|
||||
# Definition of other clients
|
||||
#
|
||||
# Definition of cluster translator (may be unify, replicate, or unify over replicate)
|
||||
# Definition of cluster translator (may be distribute, replicate, or distribute
|
||||
# over replicate)
|
||||
#
|
||||
|
||||
### 'Read-Ahead' translator is best utilized on client side, as it prefetches the file contents when the first read() call is issued.
|
||||
# 'Read-Ahead' translator is best utilized on client side, as it prefetches
|
||||
# the file contents when the first read() call is issued.
|
||||
|
||||
volume ra
|
||||
type performance/read-ahead
|
||||
subvolumes client # In this example it is 'client' you may have to change it according to your spec file.
|
||||
option page-size 1MB # default is 256KB
|
||||
subvolumes client
|
||||
option page-count 4 # default is 2
|
||||
option force-atime-update no # defalut is 'no'
|
||||
end-volume
|
||||
|
@ -1,5 +1,6 @@
|
||||
### 'NOTE'
|
||||
# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.
|
||||
# This file has both server spec and client spec to get an understanding of
|
||||
# replicate spec file. Hence can't be used as it is, as a GlusterFS spec file.
|
||||
# One need to seperate out server spec and client spec to get it working.
|
||||
|
||||
#=========================================================================
|
||||
@ -24,7 +25,6 @@ volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24016
|
||||
# option client-volume-filename /etc/glusterfs/glusterfs-client.vol
|
||||
subvolumes brick1
|
||||
option auth.addr.brick1.allow * # access to "brick" volume
|
||||
end-volume
|
||||
@ -116,4 +116,3 @@ volume replicate
|
||||
type cluster/replicate
|
||||
subvolumes client1 client2 client3
|
||||
end-volume
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
|
||||
### 'NOTE'
|
||||
# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.
|
||||
# This file has both server spec and client spec to get an understanding of
|
||||
# stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.
|
||||
# One need to seperate out server spec and client spec to get it working.
|
||||
|
||||
#=========================================================================
|
||||
@ -25,7 +26,6 @@ volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24016
|
||||
# option client-volume-filename /etc/glusterfs/glusterfs-client.vol
|
||||
subvolumes brick1
|
||||
option auth.addr.brick1.allow * # access to "brick" volume
|
||||
end-volume
|
||||
@ -118,4 +118,3 @@ volume stripe
|
||||
subvolumes client1 client2 client3
|
||||
option block-size 1MB
|
||||
end-volume
|
||||
|
||||
|
@ -5,12 +5,17 @@ volume client
|
||||
option remote-subvolume brick # name of the remote volume
|
||||
end-volume
|
||||
|
||||
### 'Trace' translator is a very handy debug tool for GlusterFS, as it can be loaded between any of the two volumes without changing the behaviour of the filesystem.
|
||||
# On client side it can be the top most volume in spec (like now) to understand what calls are made on FUSE filesystem, when a mounted filesystem is accessed.
|
||||
### 'Trace' translator is a very handy debug tool for GlusterFS, as it can be
|
||||
# loaded between any of the two volumes without changing the behaviour of the
|
||||
# filesystem.
|
||||
# On client side it can be the top most volume in spec (like now) to understand
|
||||
# what calls are made on FUSE filesystem, when a mounted filesystem is
|
||||
# accessed.
|
||||
|
||||
volume trace
|
||||
type debug/trace
|
||||
subvolumes client
|
||||
end-volume
|
||||
|
||||
# 'NOTE:' By loading 'debug/trace' translator, filesystem will be very slow as it logs each and every calls to the log file.
|
||||
# 'NOTE:' By loading 'debug/trace' translator, filesystem will be very slow as
|
||||
# it logs each and every calls to the log file.
|
||||
|
@ -1,10 +1,11 @@
|
||||
|
||||
volume brick
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export # Export this directory
|
||||
end-volume
|
||||
|
||||
### 'Trash' translator is best used on server side as it just renames the deleted file inside 'trash-dir', and it makes 4 seperate fops for one unlink call.
|
||||
### 'Trash' translator is best used on server side as it just renames the
|
||||
# deleted file inside 'trash-dir', and it makes 4 seperate fops for one unlink
|
||||
# call.
|
||||
volume trashcan
|
||||
type features/trash
|
||||
subvolumes brick
|
||||
@ -13,8 +14,7 @@ end-volume
|
||||
|
||||
volume server
|
||||
type protocol/server
|
||||
subvolumes trashcan brick
|
||||
subvolumes trashcan
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
|
||||
option auth.addr.trashcan.allow 192.168.* # Allow access to "p-locks" volume
|
||||
end-volume
|
||||
|
@ -1,178 +0,0 @@
|
||||
### 'NOTE'
|
||||
# This file has both server spec and client spec to get an understanding of stripe's spec file. Hence can't be used as it is, as a GlusterFS spec file.
|
||||
# One need to seperate out server spec and client spec to get it working.
|
||||
|
||||
|
||||
#=========================================================================
|
||||
|
||||
# **** server1 spec file ****
|
||||
|
||||
### Export volume "brick" with the contents of "/home/export" directory.
|
||||
volume posix1
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export1 # Export this directory
|
||||
end-volume
|
||||
|
||||
### Add POSIX record locking support to the storage brick
|
||||
volume brick1
|
||||
type features/posix-locks
|
||||
option mandatory on # enables mandatory locking on all files
|
||||
subvolumes posix1
|
||||
end-volume
|
||||
|
||||
### Add network serving capability to above brick.
|
||||
volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24016
|
||||
# option client-volume-filename /etc/glusterfs/glusterfs-client.vol
|
||||
subvolumes brick1
|
||||
option auth.addr.brick1.allow * # access to "brick" volume
|
||||
end-volume
|
||||
|
||||
|
||||
#=========================================================================
|
||||
|
||||
# **** server2 spec file ****
|
||||
volume posix2
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export2 # Export this directory
|
||||
end-volume
|
||||
|
||||
### Add POSIX record locking support to the storage brick
|
||||
volume brick2
|
||||
type features/posix-locks
|
||||
option mandatory on # enables mandatory locking on all files
|
||||
subvolumes posix2
|
||||
end-volume
|
||||
|
||||
### Add network serving capability to above brick.
|
||||
volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24017
|
||||
subvolumes brick2
|
||||
option auth.addr.brick2.allow * # Allow access to "brick" volume
|
||||
end-volume
|
||||
|
||||
|
||||
#=========================================================================
|
||||
|
||||
# **** server3 spec file ****
|
||||
|
||||
volume posix3
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export3 # Export this directory
|
||||
end-volume
|
||||
|
||||
### Add POSIX record locking support to the storage brick
|
||||
volume brick3
|
||||
type features/posix-locks
|
||||
option mandatory on # enables mandatory locking on all files
|
||||
subvolumes posix3
|
||||
end-volume
|
||||
|
||||
### Add network serving capability to above brick.
|
||||
volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24018
|
||||
subvolumes brick3
|
||||
option auth.addr.brick3.allow * # access to "brick" volume
|
||||
end-volume
|
||||
|
||||
#=========================================================================
|
||||
|
||||
# *** server for namespace ***
|
||||
### Export volume "brick" with the contents of "/home/export" directory.
|
||||
volume brick-ns
|
||||
type storage/posix # POSIX FS translator
|
||||
option directory /home/export-ns # Export this directory
|
||||
end-volume
|
||||
|
||||
volume server
|
||||
type protocol/server
|
||||
option transport-type tcp # For TCP/IP transport
|
||||
option transport.socket.listen-port 24019
|
||||
subvolumes brick-ns
|
||||
option auth.addr.brick-ns.allow * # access to "brick" volume
|
||||
end-volume
|
||||
|
||||
|
||||
#=========================================================================
|
||||
|
||||
# **** Clustered Client config file ****
|
||||
|
||||
### Add client feature and attach to remote subvolume of server1
|
||||
volume client1
|
||||
type protocol/client
|
||||
option transport-type tcp # for TCP/IP transport
|
||||
# option transport-type ib-sdp # for Infiniband transport
|
||||
option remote-host 127.0.0.1 # IP address of the remote brick
|
||||
option transport.socket.remote-port 24016
|
||||
option remote-subvolume brick1 # name of the remote volume
|
||||
end-volume
|
||||
|
||||
### Add client feature and attach to remote subvolume of server2
|
||||
volume client2
|
||||
type protocol/client
|
||||
option transport-type tcp # for TCP/IP transport
|
||||
# option transport-type ib-sdp # for Infiniband transport
|
||||
option remote-host 127.0.0.1 # IP address of the remote brick
|
||||
option transport.socket.remote-port 24017
|
||||
option remote-subvolume brick2 # name of the remote volume
|
||||
end-volume
|
||||
|
||||
volume client3
|
||||
type protocol/client
|
||||
option transport-type tcp # for TCP/IP transport
|
||||
# option transport-type ib-sdp # for Infiniband transport
|
||||
option remote-host 127.0.0.1 # IP address of the remote brick
|
||||
option transport.socket.remote-port 24018
|
||||
option remote-subvolume brick3 # name of the remote volume
|
||||
end-volume
|
||||
|
||||
|
||||
volume client-ns
|
||||
type protocol/client
|
||||
option transport-type tcp # for TCP/IP transport
|
||||
# option transport-type ib-sdp # for Infiniband transport
|
||||
option remote-host 127.0.0.1 # IP address of the remote brick
|
||||
option transport.socket.remote-port 24019
|
||||
option remote-subvolume brick-ns # name of the remote volume
|
||||
end-volume
|
||||
|
||||
### Add unify feature to cluster the servers. Associate an
|
||||
### appropriate scheduler that matches your I/O demand.
|
||||
volume bricks
|
||||
type cluster/unify
|
||||
option namespace client-ns # this will not be storage child of unify.
|
||||
subvolumes client1 client2 client3
|
||||
### ** ALU Scheduler Option **
|
||||
option self-heal background # foreground off # default is foreground
|
||||
option scheduler alu
|
||||
option alu.limits.min-free-disk 5% #%
|
||||
option alu.limits.max-open-files 10000
|
||||
option alu.order disk-usage:read-usage:write-usage:open-files-usage:disk-speed-usage
|
||||
option alu.disk-usage.entry-threshold 2GB
|
||||
option alu.disk-usage.exit-threshold 128MB
|
||||
option alu.open-files-usage.entry-threshold 1024
|
||||
option alu.open-files-usage.exit-threshold 32
|
||||
option alu.read-usage.entry-threshold 20 #%
|
||||
option alu.read-usage.exit-threshold 4 #%
|
||||
option alu.write-usage.entry-threshold 20 #%
|
||||
option alu.write-usage.exit-threshold 4 #%
|
||||
option alu.disk-speed-usage.entry-threshold 0 # DO NOT SET IT. SPEED IS CONSTANT!!!.
|
||||
option alu.disk-speed-usage.exit-threshold 0 # DO NOT SET IT. SPEED IS CONSTANT!!!.
|
||||
option alu.stat-refresh.interval 10sec
|
||||
option alu.stat-refresh.num-file-create 10
|
||||
### ** Random Scheduler **
|
||||
# option scheduler random
|
||||
### ** NUFA Scheduler **
|
||||
# option scheduler nufa
|
||||
# option nufa.local-volume-name posix1
|
||||
### ** Round Robin (RR) Scheduler **
|
||||
# option scheduler rr
|
||||
# option rr.limits.min-free-disk 5% #%
|
||||
end-volume
|
||||
|
@ -13,14 +13,15 @@ end-volume
|
||||
#
|
||||
|
||||
|
||||
### 'Write-behind' translator is a performance booster for write operation. Best used on client side, as its main intension is to reduce the network latency caused for each write operation.
|
||||
# 'Write-behind' translator is a performance booster for write operation. Best
|
||||
# used on client side, as its main intension is to reduce the network latency
|
||||
# caused for each write operation.
|
||||
|
||||
volume wb
|
||||
type performance/write-behind
|
||||
subvolumes client # In this example it is 'client' you may have to change it according to your spec file.
|
||||
subvolumes client
|
||||
option flush-behind on # default value is 'off'
|
||||
option window-size 2MB
|
||||
option aggregate-size 1MB # default value is 0
|
||||
option enable_O_SYNC no # default is no
|
||||
option enable-O_SYNC no # default is no
|
||||
option disable-for-first-nbytes 128KB #default is 1
|
||||
end-volume
|
||||
|
Loading…
x
Reference in New Issue
Block a user