Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
etersoft-admin-essentials
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
etersoft-admin-essentials
Commits
072bb644
Commit
072bb644
authored
Nov 21, 2019
by
Vitaly Lipatov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
improve raid_restore.sh
parent
a2cf9abf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
11 additions
and
4 deletions
+11
-4
raid_restore.sh
hdd/raid_restore.sh
+11
-4
No files found.
hdd/raid_restore.sh
View file @
072bb644
...
@@ -3,14 +3,16 @@ get_array_uuid()
...
@@ -3,14 +3,16 @@ get_array_uuid()
{
{
local
dev
=
"
$1
"
local
dev
=
"
$1
"
# "Array UUID for 1.2 and UUID for 0.9"
# "Array UUID for 1.2 and UUID for 0.9"
mdadm
-E
$dev
|
grep
" UUID : "
|
sed
-e
"s|.* UUID : ||"
mdadm
-E
$dev
|
grep
" UUID : "
|
head
-n1
|
sed
-e
"s|.* UUID : ||"
}
}
get_md_by_uuid
()
get_md_by_uuid
()
{
{
#ARRAY /dev/md/1 metadata=1.2 UUID=1912da86:6089954c:2aead1ca:77f06477 name=azbykar.localdomain:1
#ARRAY /dev/md/1 metadata=1.2 UUID=1912da86:6089954c:2aead1ca:77f06477 name=azbykar.localdomain:1
# TODO: use UUID: in mdadm -D /dev/md?
# TODO: use UUID: in mdadm -D /dev/md?
grep
"UUID=
$1
"
/etc/mdadm.conf |
cut
-d
" "
-f
2
local
STRUUID
=
$(
grep
"UUID=
$1
"
/etc/mdadm.conf
)
[
-n
"
$STRUUID
"
]
&&
echo
"
$STRUUID
"
|
cut
-d
" "
-f
2
&&
return
echo
"can't grep UUID=
$1
in /etc/mdadm.conf"
>>
$0
.log
}
}
get_dm_status
()
get_dm_status
()
...
@@ -44,13 +46,15 @@ print_dev_type()
...
@@ -44,13 +46,15 @@ print_dev_type()
dmsetup remove_all
dmsetup remove_all
if
[
-z
"
$1
"
]
;
then
echo
"Drive list:"
echo
"Drive list:"
for
dev
in
/dev/sd?
;
do
for
dev
in
/dev/sd?
;
do
echo
"
$(
print_dev_type
$dev
)
:
$dev
"
echo
"
$(
print_dev_type
$dev
)
:
$dev
"
done
done
fi
DEVS
=
"/dev/sd*"
DEVS
=
"/dev/sd*"
[
-n
"
$1
"
]
&&
DEVS
=
"
$
1
"
[
-n
"
$1
"
]
&&
DEVS
=
"
$
*
"
for
dev
in
$DEVS
;
do
for
dev
in
$DEVS
;
do
ARRAYUUID
=
$(
get_array_uuid
$dev
)
ARRAYUUID
=
$(
get_array_uuid
$dev
)
...
@@ -61,7 +65,7 @@ for dev in $DEVS ; do
...
@@ -61,7 +65,7 @@ for dev in $DEVS ; do
continue
continue
fi
fi
STATUS
=
"
$(
get_dm_status
$MDDEV
)
"
STATUS
=
"
$(
get_dm_status
$MDDEV
)
"
echo
"
$dev
-
$ARRAYUUID
-
$MDDEV
, status:
$STATUS
"
echo
"
$dev
-
Array UUID:
$ARRAYUUID
- MDdev:
$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
"
[
-n
"
$MDDEV
"
]
||
continue
[
-n
"
$MDDEV
"
]
||
continue
# TODO: check only missed in array
# TODO: check only missed in array
...
@@ -73,6 +77,7 @@ for dev in $DEVS ; do
...
@@ -73,6 +77,7 @@ for dev in $DEVS ; do
fi
fi
done
done
if
[
-z
"
$1
"
]
;
then
echo
echo
echo
"Drives not in RAID:"
echo
"Drives not in RAID:"
for
dev
in
/dev/sd
*
;
do
for
dev
in
/dev/sd
*
;
do
...
@@ -82,5 +87,6 @@ for dev in /dev/sd* ; do
...
@@ -82,5 +87,6 @@ for dev in /dev/sd* ; do
cat
/proc/mdstat |
grep
-q
"
$(
basename
$dev
)
[0-9]*
\[
"
&&
continue
cat
/proc/mdstat |
grep
-q
"
$(
basename
$dev
)
[0-9]*
\[
"
&&
continue
echo
"
$dev
"
echo
"
$dev
"
done
done
fi
# TODO: how to check?
# TODO: how to check?
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment