diff options
Diffstat (limited to 'extras/thin-arbiter')
| -rw-r--r-- | extras/thin-arbiter/gluster-ta-volume.service | 13 | ||||
| -rwxr-xr-x | extras/thin-arbiter/setup-thin-arbiter.sh | 68 | ||||
| -rw-r--r-- | extras/thin-arbiter/thin-arbiter.vol | 57 | 
3 files changed, 138 insertions, 0 deletions
diff --git a/extras/thin-arbiter/gluster-ta-volume.service b/extras/thin-arbiter/gluster-ta-volume.service new file mode 100644 index 00000000000..19be1757555 --- /dev/null +++ b/extras/thin-arbiter/gluster-ta-volume.service @@ -0,0 +1,13 @@ +[Unit] +Description = Thin-arbiter process to maintain quorum for replica volume +After = network.target + +[Service] +Environment = "LOG_LEVEL=WARNING" +ExecStart = /usr/local/sbin/glusterfsd -N --volfile-id ta-vol -f /var/lib/glusterd/thin-arbiter/thin-arbiter.vol --brick-port 24007 --xlator-option ta-vol-server.transport.socket.listen-port=24007 +Restart = always +KillMode=process +SuccessExitStatus=15 + +[Install] +WantedBy = multi-user.target diff --git a/extras/thin-arbiter/setup-thin-arbiter.sh b/extras/thin-arbiter/setup-thin-arbiter.sh new file mode 100755 index 00000000000..32fe7fc0cdd --- /dev/null +++ b/extras/thin-arbiter/setup-thin-arbiter.sh @@ -0,0 +1,68 @@ +#! /bin/bash + +volloc="/var/lib/glusterd/thin-arbiter" +mkdir -p $volloc + +cp -f extras/thin-arbiter/thin-arbiter.vol $volloc/thin-arbiter.vol +tafile="$volloc/thin-arbiter.vol" + +volfile_set_brick_path () { +    while read -r line +    do +        dir=`echo "$line" | cut -d' ' -f 2` +        if [ "$dir" = "directory" ] +        then +            bpath=`echo "$line" | cut -d' ' -f 3` +            sed -i -- 's?'$bpath'?'$1'?g' $tafile +            return +        fi +    done < $tafile +} + +tapath="/mnt/thin-arbiter" +echo "Volume file to be used to start thin-arbiter process is :" +echo "$tafile" +echo " " +echo "Default thin-arbiter path is : $tapath" +echo -n "Do you want to change path for thin arbiter volumes. (y/N): " +echo " " +read moveon + +if [ "${moveon}" = 'N' ] || [ "${moveon}" = 'n' ]; then +	echo "Default brick path, $tapath, has been set" +    echo "for all thin arbiter volumes using this node" +    echo " " +else +	echo -n "Enter brick path for thin arbiter volumes: " +	read tapath +	echo "Entered brick path : $tapath " +	echo "Please note that this brick path will be used for ALL" +    echo "VOLUMES using this node to host thin-arbiter brick" +    echo " " +fi + +mkdir -p $tapath/.glusterfs/indices +volfile_set_brick_path "$tapath" + +echo "Directory path to be used for thin-arbiter volume is: $tapath" +echo " " + +echo "========================================================" + +echo "Installing and starting service for thin-arbiter process" + +cp extras/thin-arbiter/gluster-ta-volume.service /etc/systemd/system/ + +chmod 0777 /etc/systemd/system/gluster-ta-volume.service + +systemctl daemon-reload +systemctl enable gluster-ta-volume +systemctl stop gluster-ta-volume +systemctl start gluster-ta-volume + +if [ $? == 0 ] +then +    echo "thin-arbiter process is setup and running" +else +    echo "Failed to setup thin arbiter" +fi diff --git a/extras/thin-arbiter/thin-arbiter.vol b/extras/thin-arbiter/thin-arbiter.vol new file mode 100644 index 00000000000..7a60f179891 --- /dev/null +++ b/extras/thin-arbiter/thin-arbiter.vol @@ -0,0 +1,57 @@ +volume ta-posix +    type storage/posix +    option directory /mnt/thin-arbiter +end-volume + +volume ta-thin-arbiter +    type features/thin-arbiter +    subvolumes ta-posix +end-volume + +volume ta-locks +    type features/locks +    subvolumes ta-thin-arbiter +end-volume + +volume ta-upcall +    type features/upcall +    option cache-invalidation off +    subvolumes ta-locks +end-volume + +volume ta-io-threads +    type performance/io-threads +    subvolumes ta-upcall +end-volume + +volume ta-index +    type features/index +    option xattrop-pending-watchlist trusted.afr.ta- +    option xattrop-dirty-watchlist trusted.afr.dirty +    option index-base /mnt/thin-arbiter/.glusterfs/indices +    subvolumes ta-io-threads +end-volume + +volume ta-io-stats +    type debug/io-stats +    option count-fop-hits off +    option latency-measurement off +    option log-level WARNING +    option unique-id /mnt/thin-arbiter +    subvolumes ta-index +end-volume + +volume ta-server +    type protocol/server +    option transport.listen-backlog 10 +    option transport.socket.keepalive-count 9 +    option transport.socket.keepalive-interval 2 +    option transport.socket.keepalive-time 20 +    option transport.tcp-user-timeout 0 +    option transport.socket.keepalive 1 +    option auth.addr./mnt/thin-arbiter.allow * +    option auth-path /mnt/thin-arbiter +    option transport.address-family inet +    option transport-type tcp +    subvolumes ta-io-stats +end-volume  | 
