Statistiques
| Révision :

root / bin / check-coherence-zvol-dev @ 64

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

1
#!/bin/bash
2
# $Id: check-coherence-zvol-dev 51 2013-10-10 11:20:37Z ltaulell $
3
# Copyright (C) 2013 Kevin Reverchon, Loïs Taulelle
4
# This file/program is part of gZFS free software
5
# See COPYING file for details
6
#
7

    
8
BINZFS="/sbin/zfs"
9
BINZPOOL="/sbin/zpool"
10

    
11
echo "*****************************************"
12
echo "* CHECK COHERENCE ZVOL/DEVICE           *"
13
echo "*****************************************"
14
echo ""
15

    
16
for line in $($BINZFS list |awk '{ print $1}')
17
do
18
   if [ "$line" != "NAME" ]
19
   then
20

    
21
      SIZE_ZVOL=$($BINZFS get volsize $line | grep $line |awk '{ print $3}')
22
      if [ "$SIZE_ZVOL" != "-" ]
23
      then
24
         echo "*** zvol $line. Size: $SIZE_ZVOL"
25
         if [ -e /dev/zvol/$line ]
26
         then
27
            echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
28
         else
29
            echo "Check Coherence ZVOL/DEVICE for $line : [ERROR]"
30
            echo "Trying to resolv the problem... "
31
            $BINZFS rename $line $line-rn
32
            $BINZFS rename $line-rn $line 
33
            if [ -e /dev/zvol/$line ]
34
            then
35
                echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
36
            fi
37
         fi
38
         echo ""
39
      fi
40

    
41
   fi
42

    
43
done
44

    
45
echo  ""
46
echo "*****************************************"
47
echo "* CHECK COHERENCE SNAPSHOT/DEVICE       *"
48
echo "*****************************************"
49

    
50
for line in $($BINZFS list -t snapshot |awk '{ print $1}')
51
do
52
   if [ "$line" != "NAME" ]
53
   then
54
      echo "*** zvol $line"
55
         if [ -e /dev/zvol/$line ]
56
         then
57
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [OK]"
58
         else
59
            echo "Check Coherence SNAPSHOT/DEVICE for $line : [ERROR]"
60
            echo "Trying to resolv the problem... "
61
            $BINZFS rename $line $line-rn
62
            $BINZFS rename $line-rn $line 
63
            if [ -e /dev/zvol/$line ]
64
            then
65
                echo "Check Coherence ZVOL/DEVICE for $line : [OK]"
66
            fi
67
         fi
68
         echo ""
69
      fi
70
done