diff --git a/scripts/ha/resize-data-disk.sh b/scripts/ha/resize-data-disk.sh index 4379cd9..13e6dc1 100755 --- a/scripts/ha/resize-data-disk.sh +++ b/scripts/ha/resize-data-disk.sh @@ -204,17 +204,13 @@ rescan_node() { local node_name=$1 run_fn=$2 # Resolve block device name from the stable by-id symlink on the guest. + # Read-only lookup — safe to run even in dry-run so we show the real device. local blk_dev="" - if ! $DRY_RUN; then - blk_dev=$($run_fn "bash -c 'basename \$(readlink -f /dev/disk/by-id/${DATA_DISK_BYID})'" 2>/dev/null || true) - fi + blk_dev=$($run_fn "bash -c 'basename \$(readlink -f /dev/disk/by-id/${DATA_DISK_BYID})'" 2>/dev/null || true) if [[ -z "$blk_dev" ]]; then - # Fall back: scsi1 → index 1 → sdb, scsi2 → sdc, etc. - local slot_idx - slot_idx=$(echo "$DATA_DISK_SLOT" | grep -oE '[0-9]+$' || echo "1") - blk_dev=$(printf "sd%s" "$(echo "abcdefghij" | cut -c$((slot_idx + 1)))") - echo " WARNING: could not resolve /dev/disk/by-id/${DATA_DISK_BYID} on $node_name;" \ - "falling back to /dev/${blk_dev}" >&2 + echo " ERROR: /dev/disk/by-id/${DATA_DISK_BYID} not found on $node_name" >&2 + echo " Check DATA_DISK_BYID or DATA_DISK_SLOT configuration." >&2 + exit 1 fi echo " ${DRY_PREFIX}Rescanning /dev/${blk_dev} on ${node_name}..."