gfs2-utils: master - gfs2-utils: Remove gfs2_lockgather
Andrew Price
andyp at fedoraproject.org
Mon Nov 12 14:20:09 UTC 2012
Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=956172a86275a372df11a5be41fbdd981d7aabac
Commit: 956172a86275a372df11a5be41fbdd981d7aabac
Parent: ee9967bac6295e0f23c980a321a30339ddf61be2
Author: Andrew Price <anprice at redhat.com>
AuthorDate: Mon Nov 12 14:11:45 2012 +0000
Committer: Andrew Price <anprice at redhat.com>
CommitterDate: Mon Nov 12 14:11:45 2012 +0000
gfs2-utils: Remove gfs2_lockgather
gfs2_lockcapture obsoletes gfs2_lockgather
Signed-off-by: Andrew Price <anprice at redhat.com>
---
gfs2/lockgather/gfs2_lockgather | 129 ---------------------------------------
1 files changed, 0 insertions(+), 129 deletions(-)
diff --git a/gfs2/lockgather/gfs2_lockgather b/gfs2/lockgather/gfs2_lockgather
deleted file mode 100644
index ed4a0c5..0000000
--- a/gfs2/lockgather/gfs2_lockgather
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/bash
-
-# gfs2_lockgather - A script that gathers data for diagnosing GFS2 locking issues
-# Copyright 2012 Adam Drew <adrew at redhat.com>
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-QUIET=false
-
-#Handle arguments
-for var in "$@"
-do
- #Handle running on all nodes
- if [ $var == "--allnodes" ] || [ $var == "-a" ] ; then
-
- for node in $(ccs_tool lsnode | tail --lines=+5 | grep -v "Cluster name" | grep -v "Nodename" | awk '{print $1}') ; do
- #We gather via SSH on all nodes, even the local node
- #We do this becuase determining which node name is the
- #node running the script is too much logic to be worth it
- echo "Starting data gathering on $node..."
- ssh -q -f root@$node '/sbin/gfs2_lockgather -q'
- echo "gfs2_lockgather will log a message in /var/log/messages on $node when complete or if there is an error."
- done
- exit 0
- fi
-
- #Handle quiet mode
- if [ $var == "-q" ] || [ $var == "--quiet" ] ; then
- QUIET=true
- fi
-
- #Handle help request
- if [ $var == "--help" ] || [ $var == "--info" ] || [ $var == "-h" ] ; then
-
- echo "gfs2_lockgather, version 1"
- echo "A script that gathers data for diagnosing GFS2 locking issues."
- echo "---------------------------------------------------------------"
- echo "To gather on a single node invoke the script with no arguments."
- echo "To see this message use --help, --info, or -h."
- echo "To run with messages supressed use --quiet or -q."
- echo "To gather on all nodes invoke the script with --allnodes or -a."
- echo "Only 1 instance of gfs2_lockgather may run on a node at a time."
- echo ""
- exit 0
- fi
-
-done
-
-#Check for the lock file. We only want one instance running at a time.
-if [ -e /var/run/gfs2_lockgather.lock ]; then
- echo -ne 'Error: Lock file /var/run/gfs2_lockgather.lock found.\nAnother instance of gfs2_lockgather may be running.\nAnother node may be running a gather on this node.\n'
- logger -t gfs2_lockgather 'Error: Lock file /var/run/gfs2_lockgather.lock found. Another instance may be running. Quitting.'
- exit 1
-fi
-
-#Create the gather lock
-touch /var/run/gfs2_lockgather.lock
-
-logger -t gfs2_lockgather 'Gather started.'
-
-if [ $QUIET == false ] ; then echo -ne '[ ] Setting up for gather.\t\t\t\t\t\t\t\t\r' ; fi
-#Get the current datetime for unique naming
-DATETIME=$(date +%m%d%Y-%H%M%S)
-
-#Set up the directory structure
-mkdir /tmp/debugfs
-mount -t debugfs none /tmp/debugfs
-mkdir /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata
-mkdir /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run1
-mkdir /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run2
-
-if [ $QUIET == false ] ; then echo -ne '[# ] Gathering environment data.\t\t\t\t\t\t\t\t\r' ; fi
-#Gather some basics
-clustat > /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/clustat.out
-cman_tool services > /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/clustat.out
-mount -l > /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/mount-l.out
-ps aux > /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/ps-aux.out
-uname -a > /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/uname-a.out
-
-if [ $QUIET == false ] ; then echo -ne '[## ] Gathering GFS2 and DLM lock data: pass 1\t\t\t\t\t\t\t\t\r' ; fi
-#Glock and DLM lock dump 1
-for dlmfile in $(ls -lsv /tmp/debugfs/dlm/ | grep -v total | awk '{print $10}') ; do dd if=/tmp/debugfs/dlm/$dlmfile bs=1024M of=/tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run1/$dlmfile &> /dev/null; done
-for fs in $(ls -lsv /tmp/debugfs/gfs2/ | grep -v total | awk '{print $10}') ; do dd if=/tmp/debugfs/gfs2/$fs/glocks bs=1024M of=/tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run1/$fs-glocks &> /dev/null; done
-
-#Enable and trigger sysrq
-echo 1 > /proc/sys/kernel/sysrq
-
-#Thread Dump
-#This is much faster than waiting for syslog to dump the thread dumps to the messages log
-if [ $QUIET == false ] ; then echo -ne '[### ] Gathering thread dumps.\t\t\t\t\t\t\t\t\r' ; fi
-
-$(
-cat /proc/kmsg > /tmp/thread-dumps &
-echo 't' > /proc/sysrq-trigger
-sleep 10
-kill -9 $!
-)
-
-if [ $QUIET == false ] ; then echo -ne '[#### ] Gathering GFS2 and DLM lock data: pass 2.\t\t\t\t\t\t\t\t\r' ; fi
-#Glock and DLM dump 2
-for dlmfile in $(ls -lsv /tmp/debugfs/dlm/ | grep -v total | awk '{print $10}') ; do dd if=/tmp/debugfs/dlm/$dlmfile bs=1024M of=/tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run2/$dlmfile &> /dev/null; done
-for fs in $(ls -lsv /tmp/debugfs/gfs2/ | grep -v total | awk '{print $10}') ; do dd if=/tmp/debugfs/gfs2/$fs/glocks bs=1024M of=/tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/run2/$fs-glocks &> /dev/null; done
-
-if [ $QUIET == false ] ; then echo -ne '[##### ] Gathering messages logs\t\t\t\t\t\t\t\t\r' ; fi
-#Get the messages log file
-cp /var/log/messages /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/
-
-#Tar up the results and clean up temporary files
-if [ $QUIET == false ] ; then echo -ne '[###### ] Cleaning up... 80%.\t\t\t\t\t\t\t\t\r' ; fi
-tar cjf /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata.tar.bz /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata/ &> /dev/null
-umount /tmp/debugfs/
-rm -f /var/run/gfs2_lockgather.lock
-rm -rf /tmp/debugfs
-rm -rf /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata
-logger -t gfs2_lockgather "Gather completed. File is /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata.tar.bz"
-if [ $QUIET == false ] ; then echo -ne "[#######] Done. File is /tmp/$(hostname)-$(echo $DATETIME)-gfshangdata.tar.bz\r\t\t\t\t\t\t\t\t\r\n" ; fi
-exit 0
More information about the cluster-commits
mailing list