Add Veritas VxVM and VCS storage expansion toolkit
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env bash
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
# shellcheck source=00_env.sh
|
||||
source "$SCRIPT_DIR/00_env.sh"
|
||||
|
||||
parse_common_args "$@"
|
||||
require_inputs disks
|
||||
|
||||
missing=0
|
||||
for cmd in vxdisk vxdisksetup awk; do
|
||||
require_cmd "$cmd" || missing=1
|
||||
done
|
||||
|
||||
if (( missing != 0 )); then
|
||||
exit 2
|
||||
fi
|
||||
|
||||
status=0
|
||||
for disk in $DISKS; do
|
||||
if ! vxdisk list "$disk" >/dev/null 2>&1; then
|
||||
critical "disk not found in vxdisk list: $disk"
|
||||
status=1
|
||||
continue
|
||||
fi
|
||||
|
||||
info="$(disk_status_line "$disk")"
|
||||
disk_status="${info#*|}"
|
||||
if [[ "$disk_status" != *"online invalid"* ]]; then
|
||||
critical "disk '$disk' is not safe to initialize; status is '${disk_status:-unknown}', expected 'online invalid'"
|
||||
status=1
|
||||
continue
|
||||
fi
|
||||
|
||||
ok "disk '$disk' validated as online invalid"
|
||||
done
|
||||
|
||||
if (( status != 0 )); then
|
||||
critical "one or more disks failed validation; no initialization attempted"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
confirm_execute "This will initialize VxVM metadata on disk(s): $DISKS"
|
||||
|
||||
for disk in $DISKS; do
|
||||
run_cmd "Initialize VxVM disk $disk" vxdisksetup -i "$disk"
|
||||
done
|
||||
|
||||
for disk in $DISKS; do
|
||||
capture_cmd "Post-initialization VxVM disk state for $disk" vxdisk list "$disk"
|
||||
done
|
||||
|
||||
ok "disk initialization step completed"
|
||||
Reference in New Issue
Block a user