]> git.sur5r.net Git - bacula/rescue/blob - rescue/linux/usb/src/scripts/restore/lvm
Add new usb rescue key code
[bacula/rescue] / rescue / linux / usb / src / scripts / restore / lvm
1 #!/bin/sh
2
3
4
5
6
7
8
9
10 echo "your disk  seems to be part of a lvm volume group"
11                         echo "we will try to recreate it"
12
13                         num=`grep /dev working/scripts/create-vg |wc -w`
14                         num=$(( num - 6 ))
15                         numdev=$num                     
16                         
17                         num=$(( num * 2 ))
18                         num=$(( num + 1 ))
19                 
20                                 for n in `seq 3 2 $num`;do
21                                 lvdisk=`grep /dev working/scripts/create-vg |cut -d"/" -f$n`
22                                 ifraid=`echo $lvdisk|cut -c 1-2`
23
24
25                                   if [ "$ifraid" = "md" ];then
26                                         blkid |grep $lvdisk 
27                                         if [ ! $? = 0 ];then
28
29                                           grep $lvdisk working/scripts/recreate_raid_arrays>checkraidtemp
30                                           disk=$lvdisk
31                                           . ./restore2/raid_check_ifdev
32                                            modprobe md
33                                 
34                                           . ./restore2/raid
35                                           
36                                          fi
37
38                                    else
39                                       
40                                       fdisk -l |grep $lvdisk >/dev/null
41                                         if [ ! $? = 0 ];then
42                                         
43                                         disk=$lvdisk
44                                         . ./restore2/full_disk
45                                         
46                                         fi
47                                    fi
48                                 done
49
50                                         name=`ls /dev/mapper/* |grep -v control`
51                                         if [ ! $name = "" ];then
52                                         lvm lvremove -f $name
53                                         fi
54                                         . working/scripts/create-pv
55                                         . working/scripts/create-vg
56                                         . working/scripts/create-lv
57                                         exe=`ls working/scripts/format.*|grep -v sd|grep -v hd`
58 ######## have to try with many lvm
59 ########## maybe it formats them all
60 ########### which could make damage
61                                         . $exe
62                                         new=`grep /dev $exe`
63                                         fields=`echo $new|wc -w`
64                                         while [ $fields -ne 0 ];do
65                                         echo $new |awk "{print \$ $fields}"|grep /dev>/dev/null 2>&1
66                                         if [ $? = 0 ];then
67                                         a=`echo $new |awk "{print \$ $fields}"|grep /dev`
68                                         grep $a disklist
69                                         if [ ! $? = 0 ];then
70                                         echo $a >> disklist
71                                         fi
72                                         fi
73                                         fields=$(( fields - 1))
74                                         done
75                                         
76