summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/examples/Makefile.am2
-rw-r--r--doc/examples/README8
-rw-r--r--doc/examples/io-cache.vol22
-rw-r--r--doc/examples/io-threads.vol13
-rw-r--r--doc/examples/posix-locks.vol7
-rw-r--r--doc/examples/protocol-client.vol15
-rw-r--r--doc/examples/protocol-server.vol16
-rw-r--r--doc/examples/read-ahead.vol14
-rw-r--r--doc/examples/replicate.vol17
-rw-r--r--doc/examples/stripe.vol17
-rw-r--r--doc/examples/trace.vol11
-rw-r--r--doc/examples/trash.vol8
-rw-r--r--doc/examples/unify.vol178
-rw-r--r--doc/examples/write-behind.vol15
14 files changed, 84 insertions, 259 deletions
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index b4c93f4c..af8fe1fd 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -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)
diff --git a/doc/examples/README b/doc/examples/README
index 4d472ac0..73275157 100644
--- a/doc/examples/README
+++ b/doc/examples/README
@@ -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.
diff --git a/doc/examples/io-cache.vol b/doc/examples/io-cache.vol
index 5f3eca4c..a7174501 100644
--- a/doc/examples/io-cache.vol
+++ b/doc/examples/io-cache.vol
@@ -5,21 +5,27 @@ 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 force-revalidate-timeout 5 # 1second is default
option priority *.html:2,*:1 # default is *:0
end-volume
diff --git a/doc/examples/io-threads.vol b/doc/examples/io-threads.vol
index 9954724e..236f5b8b 100644
--- a/doc/examples/io-threads.vol
+++ b/doc/examples/io-threads.vol
@@ -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
diff --git a/doc/examples/posix-locks.vol b/doc/examples/posix-locks.vol
index b9c9e7a6..673afa3f 100644
--- a/doc/examples/posix-locks.vol
+++ b/doc/examples/posix-locks.vol
@@ -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
diff --git a/doc/examples/protocol-client.vol b/doc/examples/protocol-client.vol
index 43c43e02..c34ef790 100644
--- a/doc/examples/protocol-client.vol
+++ b/doc/examples/protocol-client.vol
@@ -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.socket.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
diff --git a/doc/examples/protocol-server.vol b/doc/examples/protocol-server.vol
index e8e4a464..195e4965 100644
--- a/doc/examples/protocol-server.vol
+++ b/doc/examples/protocol-server.vol
@@ -1,4 +1,3 @@
-
### Export volume "brick" with the contents of "/home/export" directory.
volume brick
type storage/posix # POSIX FS translator
@@ -9,17 +8,14 @@ end-volume
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
-# option transport.socket.listen-port 24016
+# 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
+ subvolumes brick
option auth.addr.brick.allow 192.168.* # Allow access to "brick" volume
end-volume
diff --git a/doc/examples/read-ahead.vol b/doc/examples/read-ahead.vol
index 3ce0d95a..9e4dba55 100644
--- a/doc/examples/read-ahead.vol
+++ b/doc/examples/read-ahead.vol
@@ -8,15 +8,17 @@ end-volume
## 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)
+#
+
+# '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
diff --git a/doc/examples/replicate.vol b/doc/examples/replicate.vol
index 333ba7de..10626d46 100644
--- a/doc/examples/replicate.vol
+++ b/doc/examples/replicate.vol
@@ -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.
#=========================================================================
@@ -23,8 +24,7 @@ end-volume
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
+ option transport.socket.listen-port 24016
subvolumes brick1
option auth.addr.brick1.allow * # access to "brick" volume
end-volume
@@ -49,7 +49,7 @@ end-volume
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
- option transport.socket.listen-port 24017
+ option transport.socket.listen-port 24017
subvolumes brick2
option auth.addr.brick2.allow * # Allow access to "brick" volume
end-volume
@@ -75,7 +75,7 @@ end-volume
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
- option transport.socket.listen-port 24018
+ option transport.socket.listen-port 24018
subvolumes brick3
option auth.addr.brick3.allow * # access to "brick" volume
end-volume
@@ -90,7 +90,7 @@ volume client1
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24016
+ option transport.socket.remote-port 24016
option remote-subvolume brick1 # name of the remote volume
end-volume
@@ -99,7 +99,7 @@ volume client2
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24017
+ option transport.socket.remote-port 24017
option remote-subvolume brick2 # name of the remote volume
end-volume
@@ -107,7 +107,7 @@ volume client3
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24018
+ option transport.socket.remote-port 24018
option remote-subvolume brick3 # name of the remote volume
end-volume
@@ -116,4 +116,3 @@ volume replicate
type cluster/replicate
subvolumes client1 client2 client3
end-volume
-
diff --git a/doc/examples/stripe.vol b/doc/examples/stripe.vol
index 6055b66b..9524e819 100644
--- a/doc/examples/stripe.vol
+++ b/doc/examples/stripe.vol
@@ -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.
#=========================================================================
@@ -24,8 +25,7 @@ end-volume
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
+ option transport.socket.listen-port 24016
subvolumes brick1
option auth.addr.brick1.allow * # access to "brick" volume
end-volume
@@ -50,7 +50,7 @@ end-volume
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
- option transport.socket.listen-port 24017
+ option transport.socket.listen-port 24017
subvolumes brick2
option auth.addr.brick2.allow * # Allow access to "brick" volume
end-volume
@@ -76,7 +76,7 @@ end-volume
volume server
type protocol/server
option transport-type tcp # For TCP/IP transport
- option transport.socket.listen-port 24018
+ option transport.socket.listen-port 24018
subvolumes brick3
option auth.addr.brick3.allow * # access to "brick" volume
end-volume
@@ -91,7 +91,7 @@ volume client1
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24016
+ option transport.socket.remote-port 24016
option remote-subvolume brick1 # name of the remote volume
end-volume
@@ -100,7 +100,7 @@ volume client2
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24017
+ option transport.socket.remote-port 24017
option remote-subvolume brick2 # name of the remote volume
end-volume
@@ -108,7 +108,7 @@ volume client3
type protocol/client
option transport-type tcp # for TCP/IP transport
option remote-host 127.0.0.1 # IP address of the remote brick
- option transport.socket.remote-port 24018
+ option transport.socket.remote-port 24018
option remote-subvolume brick3 # name of the remote volume
end-volume
@@ -118,4 +118,3 @@ volume stripe
subvolumes client1 client2 client3
option block-size 1MB
end-volume
-
diff --git a/doc/examples/trace.vol b/doc/examples/trace.vol
index 3f4864db..59830f26 100644
--- a/doc/examples/trace.vol
+++ b/doc/examples/trace.vol
@@ -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.
diff --git a/doc/examples/trash.vol b/doc/examples/trash.vol
index 16e71be3..3fcf315a 100644
--- a/doc/examples/trash.vol
+++ b/doc/examples/trash.vol
@@ -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
diff --git a/doc/examples/unify.vol b/doc/examples/unify.vol
deleted file mode 100644
index 3fb7e832..00000000
--- a/doc/examples/unify.vol
+++ /dev/null
@@ -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
-
diff --git a/doc/examples/write-behind.vol b/doc/examples/write-behind.vol
index 9c6bae11..2b5ed413 100644
--- a/doc/examples/write-behind.vol
+++ b/doc/examples/write-behind.vol
@@ -8,19 +8,20 @@ end-volume
## 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)
-#
+#
-### '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 disable-for-first-nbytes 128KB #default is 1
+ option enable-O_SYNC no # default is no
+ option disable-for-first-nbytes 128KB #default is 1
end-volume