]>
sourceware.org Git - lvm2.git/blob - scripts/lvm_dump.sh
3 # lvm_dump: This script is used to collect pertinent information for
4 # the debugging of lvm issues.
9 echo " -h print this message"
10 echo " -a advanced collection - warning: if lvm is already hung,"
11 echo " then this script may hang as well if -a is used"
12 echo " -m gather LVM metadata from the PVs"
13 echo " -d dump directory to place data in (default=/tmp/lvm_dump.\$\$)"
14 echo " -c if running clvmd, gather cluster data as well"
23 while getopts :acd
:hm opt
; do
30 :) echo "$0: $OPTARG requires a value:"; usage
;;
31 \?) echo "$0: unknown option $OPTARG"; usage
;;
36 dir
=`mktemp -d -p /tmp lvm_dump.XXXXXX` ||
exit 2
37 lvm_dir
="$dir/lvm_dump"
40 echo "Creating dump directory: $lvm_dir"
43 mkdir
-p $lvm_dir ||
exit 3
45 if (( $advanced )); then
46 echo "Gathering LVM volume info..."
49 vgscan
-vvvv > $lvm_dir/vgscan
2>&1
52 pvscan
-v >> $lvm_dir/pvscan
2>/dev
/null
55 lvs
-a -o +devices
>> $lvm_dir/lvs
2>/dev
/null
58 pvs
-a -v > $lvm_dir/pvs
2>/dev
/null
61 vgs
-v > $lvm_dir/vgs
2>/dev
/null
64 if (( $clustered )); then
65 echo "Gathering cluster info..."
66 echo "STATUS: " > $lvm_dir/cluster_info
67 echo "----------------------------------" >> $lvm_dir/cluster_info
68 cman_tool status
>> $lvm_dir/cluster_info
69 echo " " >> $lvm_dir/lvm_info
71 echo "SERVICES: " >> $lvm_dir/cluster_info
72 echo "----------------------------------" >> $lvm_dir/cluster_info
73 cman_tool services
>> $lvm_dir/cluster_info
74 echo " " >> $lvm_dir/lvm_info
77 echo "Gathering LVM & device-mapper version info..."
78 echo "LVM VERSION:" > $lvm_dir/versions
79 lvs
--version >> $lvm_dir/versions
80 echo "DEVICE MAPPER VERSION:" >> $lvm_dir/versions
81 dmsetup
--version >> $lvm_dir/versions
83 echo "Gathering dmsetup info..."
84 dmsetup info
-c > $lvm_dir/dmsetup_info
85 dmsetup table
> $lvm_dir/dmsetup_table
86 dmsetup status
> $lvm_dir/dmsetup_status
88 echo "Gathering process info..."
89 ps alx
> $lvm_dir/ps_info
91 echo "Gathering console messages..."
92 tail -n 75 /var
/log
/messages
> $lvm_dir/messages
94 echo "Gathering /etc/lvm info..."
95 cp -a /etc
/lvm
$lvm_dir/lvm
97 echo "Gathering /dev listing..."
98 ls -la /dev
> $lvm_dir/dev_listing
100 if (( $metadata )); then
101 echo "Gathering LVM metadata from Physical Volumes..."
103 mkdir
-p $lvm_dir/metadata
105 for pv
in `pvs --noheadings -o name`
109 dd if=$pv of
=$lvm_dir/metadata
/$name bs
=512 count
=`pvs --noheadings --nosuffix --units s -o pe_start $pv | tr -d \ `
113 lvm_dump
=$lvm_dir.tgz
114 echo "Creating tarball $lvm_dump..."
115 tar czf
$lvm_dump $lvm_dir 2>/dev
/null
This page took 0.503159 seconds and 6 git commands to generate.