Updated `makeraid` script

master
BrainwreckedTech 3 years ago
parent 1fe84d51d0
commit 2a0b63e8a1

@ -1,14 +1,17 @@
#!/usr/bin/env bash #!/usr/bin/env bash
help() { help() {
echo "USAGE: makeraid [level] [device] [device] ... [ [--spares] [device] ... ]" echo "USAGE: makeraid [name] [md-name] [level] [device] [device] ... [ [--spares] [device] ... ]"
} }
[[ :0:1:4:5:6:10: == *:${1}:* ]] && RL=${1} || { help; exit 1; } NAME="${1}"; shift
MDNM="${1}"; shift
[[ :0:1:4:5:6:10: == *:${1}:* ]] && RDDVLV=${1} || { help; exit 1; }
shift shift
until [ "${1}" = "--spares" ]; do until [ "${1}" = "--spares" ]; do
[ -b "${1}" ] && RD+=("${1}") || { help; exit 2; } [ -b "${1}" ] && RDDV+=("${1}") || { help; exit 2; }
shift shift
[ ${#} = 0 ] && break [ ${#} = 0 ] && break
done done
@ -16,14 +19,10 @@ done
if [ "${1}" == "--spares" ]; then if [ "${1}" == "--spares" ]; then
shift shift
for DV in ${@}; do for DV in ${@}; do
SD+=("${DV}") SPDV+=("${DV}")
done done
fi fi
[ "${#SD[@]}" -gt "0" ] && SO=( "-x" "${#SD[@]}" ) [ "${#SPDV[@]}" -gt "0" ] && SPOP=( "-x" "${#SPDV[@]}" )
for MD in {0..127}; do
[ ! -b "/dev/md${MD}" ] && ND=${MD} && break
done
mdadm -Cve 1.2 /dev/md${ND} -l "${RL}" -c 32 -n ${#RD[@]} ${RD[@]} ${SO[@]} ${SD[@]} mdadm -ve 1.2 -C "/dev/md/${MDNM}" -N "any:${NAME}" -l "${RDDVLV}" -c 32 -n ${#RDDV[@]} ${RDDV[@]} ${SPOP[@]} ${SPDV[@]}

Loading…
Cancel
Save