Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# Migrate VMID 5000 (Blockscout) from thin5 to thin2 on r630-02. No prune steps.
|
|
# Usage: bash scripts/maintenance/migrate-vmid-5000-to-thin2.sh
|
|
# Requires: SSH to r630-02. Run from project root (LAN).
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
[[ -f "${PROJECT_ROOT}/config/ip-addresses.conf" ]] && source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
R630_02="${PROXMOX_HOST_R630_02:-192.168.11.12}"
|
|
TARGET="thin2"
|
|
VMID=5000
|
|
SSH_OPTS="-o ConnectTimeout=10 -o StrictHostKeyChecking=no"
|
|
|
|
run() { ssh $SSH_OPTS "root@$R630_02" "$@"; }
|
|
|
|
echo "=== Migrate VMID $VMID from thin5 to $TARGET on r630-02 ==="
|
|
echo ""
|
|
|
|
echo "1. Stopping CT $VMID..."
|
|
run "pct stop $VMID" 2>/dev/null || true
|
|
sleep 5
|
|
|
|
echo "2. Backup (vzdump)..."
|
|
run "vzdump $VMID --storage local --compress gzip --mode stop --remove 0 2>&1" || true
|
|
|
|
BACKUP_FILE=$(run "ls -t /var/lib/vz/dump/vzdump-lxc-$VMID-*.tar.gz 2>/dev/null | head -1" || true)
|
|
if [[ -z "$BACKUP_FILE" ]]; then
|
|
echo "ERROR: Backup file not found. Starting CT back."
|
|
run "pct start $VMID" 2>/dev/null || true
|
|
exit 1
|
|
fi
|
|
echo " Backup: $BACKUP_FILE"
|
|
|
|
echo "3. Destroy CT..."
|
|
run "pct destroy $VMID --force 2>/dev/null" || true
|
|
sleep 3
|
|
|
|
echo "4. Restore to $TARGET..."
|
|
run "pct restore $VMID $BACKUP_FILE --storage $TARGET 2>&1" || {
|
|
echo "ERROR: Restore failed."
|
|
exit 1
|
|
}
|
|
|
|
echo "5. Remove backup..."
|
|
run "rm -f $BACKUP_FILE" 2>/dev/null || true
|
|
|
|
echo "6. Start CT..."
|
|
run "pct start $VMID"
|
|
echo ""
|
|
echo "Done. VMID $VMID is now on $TARGET. Verify: ssh root@$R630_02 'pct config 5000 | grep rootfs'"
|