Commit e3c47461 authored by Vitaly Lipatov's avatar Vitaly Lipatov

raid_restore: fixes for raid 0.9 and mdadmn

parent 50be691b
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
get_array_uuid() get_array_uuid()
{ {
local dev="$1" local dev="$1"
mdadm -E $dev | grep "Array UUID : " | sed -e "s|.*Array UUID : ||" # "Array UUID for 1.2 and UUID for 0.9"
mdadm -E $dev | grep " UUID : " | sed -e "s|.* UUID : ||"
} }
get_md_by_uuid() get_md_by_uuid()
...@@ -53,7 +54,12 @@ DEVS="/dev/sd*" ...@@ -53,7 +54,12 @@ DEVS="/dev/sd*"
for dev in $DEVS ; do for dev in $DEVS ; do
ARRAYUUID=$(get_array_uuid $dev) ARRAYUUID=$(get_array_uuid $dev)
[ -n "$ARRAYUUID" ] && MDDEV=$(get_md_by_uuid $ARRAYUUID) || MDDEV='' if [ -n "$ARRAYUUID" ] ; then
MDDEV=$(get_md_by_uuid $ARRAYUUID) || MDDEV=''
else
echo "can't retrieve array UUID for $dev. Skipping"
continue
fi
STATUS="$(get_dm_status $MDDEV)" STATUS="$(get_dm_status $MDDEV)"
echo "$dev - $ARRAYUUID - $MDDEV, status: $STATUS" echo "$dev - $ARRAYUUID - $MDDEV, status: $STATUS"
[ -n "$ARRAYUUID" ] && [ -z "$MDDEV" ] && echo "!!!! can't detect md for $dev" [ -n "$ARRAYUUID" ] && [ -z "$MDDEV" ] && echo "!!!! can't detect md for $dev"
...@@ -63,7 +69,7 @@ for dev in $DEVS ; do ...@@ -63,7 +69,7 @@ for dev in $DEVS ; do
echo "$STATUS" | grep -q "recovering" && echo "Skip $MDDEV, already recovering ..." && continue echo "$STATUS" | grep -q "recovering" && echo "Skip $MDDEV, already recovering ..." && continue
echo "Restore degrated $MDDEV ...." echo "Restore degrated $MDDEV ...."
# TODO: --readwrite for SSD # TODO: --readwrite for SSD
mdadm $MDDEV --re-add $dev mdadm $MDDEV --add $dev
fi fi
done done
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment