]> git.sur5r.net Git - bacula/rescue/blobdiff - rescue/linux/usb/src/scripts/restore/lvm
Add new usb rescue key code
[bacula/rescue] / rescue / linux / usb / src / scripts / restore / lvm
diff --git a/rescue/linux/usb/src/scripts/restore/lvm b/rescue/linux/usb/src/scripts/restore/lvm
new file mode 100644 (file)
index 0000000..2de7006
--- /dev/null
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+
+
+
+
+
+
+
+echo "your disk  seems to be part of a lvm volume group"
+                       echo "we will try to recreate it"
+
+                       num=`grep /dev working/scripts/create-vg |wc -w`
+                       num=$(( num - 6 ))
+                       numdev=$num                     
+                       
+                       num=$(( num * 2 ))
+                       num=$(( num + 1 ))
+               
+                               for n in `seq 3 2 $num`;do
+                               lvdisk=`grep /dev working/scripts/create-vg |cut -d"/" -f$n`
+                               ifraid=`echo $lvdisk|cut -c 1-2`
+
+
+                                 if [ "$ifraid" = "md" ];then
+                                       blkid |grep $lvdisk 
+                                       if [ ! $? = 0 ];then
+
+                                         grep $lvdisk working/scripts/recreate_raid_arrays>checkraidtemp
+                                         disk=$lvdisk
+                                         . ./restore2/raid_check_ifdev
+                                          modprobe md
+                               
+                                         . ./restore2/raid
+                                         
+                                        fi
+
+                                  else
+                                      
+                                      fdisk -l |grep $lvdisk >/dev/null
+                                       if [ ! $? = 0 ];then
+                                       
+                                       disk=$lvdisk
+                                       . ./restore2/full_disk
+                                       
+                                       fi
+                                  fi
+                               done
+
+                                       name=`ls /dev/mapper/* |grep -v control`
+                                       if [ ! $name = "" ];then
+                                       lvm lvremove -f $name
+                                       fi
+                                       . working/scripts/create-pv
+                                       . working/scripts/create-vg
+                                       . working/scripts/create-lv
+                                       exe=`ls working/scripts/format.*|grep -v sd|grep -v hd`
+######## have to try with many lvm
+########## maybe it formats them all
+########### which could make damage
+                                       . $exe
+                                       new=`grep /dev $exe`
+                                       fields=`echo $new|wc -w`
+                                       while [ $fields -ne 0 ];do
+                                       echo $new |awk "{print \$ $fields}"|grep /dev>/dev/null 2>&1
+                                       if [ $? = 0 ];then
+                                       a=`echo $new |awk "{print \$ $fields}"|grep /dev`
+                                       grep $a disklist
+                                       if [ ! $? = 0 ];then
+                                       echo $a >> disklist
+                                       fi
+                                       fi
+                                       fields=$(( fields - 1))
+                                       done
+                                       
+