X-Git-Url: https://git.sur5r.net/?p=bacula%2Frescue;a=blobdiff_plain;f=rescue%2Flinux%2Fusb%2Fsrc%2Fscripts%2Frestore%2Flvm;fp=rescue%2Flinux%2Fusb%2Fsrc%2Fscripts%2Frestore%2Flvm;h=2de70067c2437ee9ebd319bd14d8e205b91eef32;hp=0000000000000000000000000000000000000000;hb=4dd8d7fe401088b31113cd54fc0cc87ae121c971;hpb=fb21b5066e01a80263767f2406829a10dfa58303 diff --git a/rescue/linux/usb/src/scripts/restore/lvm b/rescue/linux/usb/src/scripts/restore/lvm new file mode 100644 index 0000000..2de7006 --- /dev/null +++ b/rescue/linux/usb/src/scripts/restore/lvm @@ -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 + +