Statistiques
| Révision :

root / bin / check-coherence-zvol-dev

Historique | Voir | Annoter | Télécharger (1,89 ko)

1 1 kreverch
#!/bin/bash
2 39 ltaulell
# $Id$
3 51 ltaulell
# Copyright (C) 2013 Kevin Reverchon, Loïs Taulelle
4 51 ltaulell
# This file/program is part of gZFS free software
5 51 ltaulell
# See COPYING file for details
6 51 ltaulell
#
7 1 kreverch
8 50 kreverch
BINZFS="/sbin/zfs"
9 50 kreverch
BINZPOOL="/sbin/zpool"
10 1 kreverch
11 1 kreverch
echo "*****************************************"
12 1 kreverch
echo "* CHECK COHERENCE ZVOL/DEVICE           *"
13 1 kreverch
echo "*****************************************"
14 1 kreverch
echo ""
15 1 kreverch
16 50 kreverch
for line in $($BINZFS list |awk '{ print $1}')
17 1 kreverch
do
18 1 kreverch
   if [ "$line" != "NAME" ]
19 1 kreverch
   then
20 1 kreverch
21 50 kreverch
      SIZE_ZVOL=$($BINZFS get volsize $line | grep $line |awk '{ print $3}')
22 1 kreverch
      if [ "$SIZE_ZVOL" != "-" ]
23 1 kreverch
      then
24 40 ltaulell
         echo "*** zvol $line. Size: $SIZE_ZVOL"
25 1 kreverch
         if [ -e /dev/zvol/$line ]
26 1 kreverch
         then
27 1 kreverch
            echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
28 1 kreverch
         else
29 1 kreverch
            echo "Check Coherence ZVOL/DEVICE for $line : [ERROR]"
30 40 ltaulell
            echo "Trying to resolv the problem... "
31 50 kreverch
            $BINZFS rename $line $line-rn
32 50 kreverch
            $BINZFS rename $line-rn $line
33 1 kreverch
            if [ -e /dev/zvol/$line ]
34 1 kreverch
            then
35 1 kreverch
                echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
36 1 kreverch
            fi
37 1 kreverch
         fi
38 1 kreverch
         echo ""
39 1 kreverch
      fi
40 1 kreverch
41 1 kreverch
   fi
42 1 kreverch
43 1 kreverch
done
44 1 kreverch
45 1 kreverch
echo  ""
46 1 kreverch
echo "*****************************************"
47 1 kreverch
echo "* CHECK COHERENCE SNAPSHOT/DEVICE       *"
48 1 kreverch
echo "*****************************************"
49 1 kreverch
50 50 kreverch
for line in $($BINZFS list -t snapshot |awk '{ print $1}')
51 1 kreverch
do
52 1 kreverch
   if [ "$line" != "NAME" ]
53 1 kreverch
   then
54 1 kreverch
      echo "*** zvol $line"
55 1 kreverch
         if [ -e /dev/zvol/$line ]
56 1 kreverch
         then
57 1 kreverch
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [OK]"
58 1 kreverch
         else
59 1 kreverch
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [ERROR]"
60 40 ltaulell
            echo "Trying to resolv the problem... "
61 50 kreverch
            $BINZFS rename $line $line-rn
62 50 kreverch
            $BINZFS rename $line-rn $line
63 1 kreverch
            if [ -e /dev/zvol/$line ]
64 1 kreverch
            then
65 1 kreverch
                echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
66 1 kreverch
            fi
67 1 kreverch
         fi
68 1 kreverch
         echo ""
69 1 kreverch
      fi
70 1 kreverch
done