]> sourceware.org Git - lvm2.git/blobdiff - scripts/lvm_dump.sh
.
[lvm2.git] / scripts / lvm_dump.sh
old mode 100755 (executable)
new mode 100644 (file)
index cd332c4..e69de29
@@ -1,118 +0,0 @@
-#!/bin/bash
-#
-# lvm_dump: This script is used to collect pertinent information for
-#           the debugging of lvm issues.
-#
-
-function usage {
-       echo "$0 [options]"
-       echo "    -h print this message"
-       echo "    -a advanced collection - warning: if lvm is already hung,"
-       echo "       then this script may hang as well if -a is used"
-       echo "    -m gather LVM metadata from the PVs"
-       echo "    -d dump directory to place data in (default=/tmp/lvm_dump.\$\$)"
-       echo "    -c if running clvmd, gather cluster data as well"
-       echo ""
-       
-       exit 1
-}
-
-advanced=0
-clustered=0
-metadata=0
-while getopts :acd:hm opt; do
-       case $opt in 
-               a)      advanced=1 ;;
-               c)      clustered=1 ;;
-               d)      lvm_dir=$OPTARG ;;
-               h)      usage ;;
-               m)      metadata=1 ;;
-               :)      echo "$0: $OPTARG requires a value:"; usage ;;
-               \?)     echo "$0: unknown option $OPTARG"; usage ;;
-               *)      usage ;;
-       esac
-done
-
-dir=`mktemp -d -p /tmp lvm_dump.XXXXXX` || exit 2
-lvm_dir="$dir/lvm_dump"
-
-echo " "
-echo "Creating dump directory: $lvm_dir"
-echo " "
-
-mkdir -p $lvm_dir || exit 3
-
-if (( $advanced )); then
-       echo "Gathering LVM volume info..."
-
-       echo "  vgscan..."
-       vgscan -vvvv > $lvm_dir/vgscan 2>&1
-
-       echo "  pvscan..."
-       pvscan -v >> $lvm_dir/pvscan 2>/dev/null
-
-       echo "  lvs..."
-       lvs -a -o +devices >> $lvm_dir/lvs 2>/dev/null
-
-       echo "  pvs..."
-       pvs -a -v > $lvm_dir/pvs 2>/dev/null
-
-       echo "  vgs..."
-       vgs -v > $lvm_dir/vgs 2>/dev/null
-fi
-
-if (( $clustered )); then
-       echo "Gathering cluster info..."
-       echo "STATUS: " > $lvm_dir/cluster_info
-       echo "----------------------------------" >> $lvm_dir/cluster_info
-       cman_tool status >> $lvm_dir/cluster_info
-       echo " " >> $lvm_dir/lvm_info
-
-       echo "SERVICES: " >> $lvm_dir/cluster_info
-       echo "----------------------------------" >> $lvm_dir/cluster_info
-       cman_tool services >> $lvm_dir/cluster_info
-       echo " " >> $lvm_dir/lvm_info
-fi
-
-echo "Gathering LVM & device-mapper version info..."
-echo "LVM VERSION:" > $lvm_dir/versions
-lvs --version >> $lvm_dir/versions
-echo "DEVICE MAPPER VERSION:" >> $lvm_dir/versions
-dmsetup --version >> $lvm_dir/versions
-
-echo "Gathering dmsetup info..."
-dmsetup info -c > $lvm_dir/dmsetup_info
-dmsetup table > $lvm_dir/dmsetup_table
-dmsetup status > $lvm_dir/dmsetup_status
-
-echo "Gathering process info..."
-ps alx > $lvm_dir/ps_info
-
-echo "Gathering console messages..."
-tail -n 75 /var/log/messages > $lvm_dir/messages
-
-echo "Gathering /etc/lvm info..."
-cp -a /etc/lvm $lvm_dir/lvm
-
-echo "Gathering /dev listing..."
-ls -la /dev > $lvm_dir/dev_listing
-
-if (( $metadata )); then
-       echo "Gathering LVM metadata from Physical Volumes..."
-
-       mkdir -p $lvm_dir/metadata
-
-       for pv in `pvs --noheadings -o name`
-       do
-               echo "  $pv"
-               name=`basename $pv`
-               dd if=$pv of=$lvm_dir/metadata/$name bs=512 count=`pvs --noheadings --nosuffix --units s -o pe_start $pv | tr -d \ `
-       done 2>/dev/null
-fi
-
-lvm_dump=$lvm_dir.tgz
-echo "Creating tarball $lvm_dump..."
-tar czf $lvm_dump $lvm_dir 2>/dev/null
-
-exit 0
-
This page took 0.027906 seconds and 5 git commands to generate.