51 lines
1.8 KiB
Bash
51 lines
1.8 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Fix Blockscout (VMID 5000) - Run from project root
|
||
|
|
#
|
||
|
|
# Root cause: thin1-r630-02 pool is 100% full → "no space left on device"
|
||
|
|
# Blockscout uses postgres + blockscout containers; both need Docker/overlay2.
|
||
|
|
#
|
||
|
|
# FIX: Migrate VMID 5000 to thin5 or thin6 (have free space):
|
||
|
|
# ssh root@r630-02
|
||
|
|
# pct stop 5000
|
||
|
|
# vzdump 5000 --storage local --mode stop --compress 0
|
||
|
|
# pct restore 5000 /var/lib/vz/dump/vzdump-lxc-5000-*.tar.gz --storage thin5
|
||
|
|
# pct start 5000
|
||
|
|
#
|
||
|
|
# Then start Blockscout:
|
||
|
|
# pct exec 5000 -- bash -c 'cd /opt/blockscout && docker-compose up -d'
|
||
|
|
#
|
||
|
|
# Usage: ./scripts/fix-blockscout-1.sh
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
||
|
|
|
||
|
|
VMID=5000
|
||
|
|
HOST="${PROXMOX_R630_02:-192.168.11.12}"
|
||
|
|
IP_BLOCKSCOUT="${IP_BLOCKSCOUT:-192.168.11.140}"
|
||
|
|
|
||
|
|
echo "=== Fix Blockscout (VMID $VMID) ==="
|
||
|
|
echo "Host: $HOST | Container IP: $IP_BLOCKSCOUT"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "[1] Checking thin pool (thin1-r630-02 at 100% = root cause)..."
|
||
|
|
ssh -o ConnectTimeout=8 -o StrictHostKeyChecking=no root@"$HOST" "pvesm status 2>/dev/null | grep -E 'thin1-r630|thin5|thin6'"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "[2] RECOMMENDED FIX - Migrate container to thin5 (has free space):"
|
||
|
|
echo " Run on Proxmox host ($HOST):"
|
||
|
|
echo ""
|
||
|
|
echo " pct stop $VMID"
|
||
|
|
echo " vzdump $VMID --storage local --mode stop --compress 0"
|
||
|
|
echo " pct destroy $VMID"
|
||
|
|
echo " pct restore $VMID /var/lib/vz/dump/vzdump-lxc-$VMID-*.tar.gz --storage thin5"
|
||
|
|
echo " pct start $VMID"
|
||
|
|
echo ""
|
||
|
|
echo " Then: pct exec $VMID -- bash -c 'cd /opt/blockscout && docker-compose up -d'"
|
||
|
|
echo ""
|
||
|
|
echo " Wait ~2 min, then test: curl -s http://${IP_BLOCKSCOUT}/api?module=stats"
|
||
|
|
echo ""
|
||
|
|
echo "See: docs/03-deployment/BLOCKSCOUT_FIX_RUNBOOK.md"
|