Files
proxmox/scripts/test-storage-performance.sh
defiQUG cb47cce074 Complete markdown files cleanup and organization
- Organized 252 files across project
- Root directory: 187 → 2 files (98.9% reduction)
- Moved configuration guides to docs/04-configuration/
- Moved troubleshooting guides to docs/09-troubleshooting/
- Moved quick start guides to docs/01-getting-started/
- Moved reports to reports/ directory
- Archived temporary files
- Generated comprehensive reports and documentation
- Created maintenance scripts and guides

All files organized according to established standards.
2026-01-06 01:46:25 -08:00

141 lines
5.2 KiB
Bash

#!/bin/bash
# Test storage performance on r630-01 and r630-02
# Creates test containers, verifies storage works, then cleans up
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/load-physical-inventory.sh" 2>/dev/null || true
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
CYAN='\033[0;36m'
NC='\033[0m'
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; }
log_error() { echo -e "${RED}[✗]${NC} $1"; }
log_section() { echo -e "\n${CYAN}=== $1 ===${NC}\n"; }
R630_01_IP="${PROXMOX_HOST_R630_01:-192.168.11.11}"
R630_01_PASS="${PROXMOX_PASS_R630_01:-password}"
R630_02_IP="${PROXMOX_HOST_R630_02:-192.168.11.12}"
R630_02_PASS="${PROXMOX_PASS_R630_02:-password}"
TEST_VMID=9999
cleanup() {
log_info "Cleaning up test containers..."
# Cleanup r630-01
sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pct destroy $TEST_VMID 2>/dev/null || true" 2>/dev/null || true
# Cleanup r630-02
sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pct destroy $TEST_VMID 2>/dev/null || true" 2>/dev/null || true
log_success "Cleanup complete"
}
trap cleanup EXIT
log_section "Storage Performance Test"
# Test r630-01 local-lvm
log_section "Testing r630-01 local-lvm Storage"
log_info "Checking if template exists..."
TEMPLATE=$(sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pvesm list local 2>/dev/null | grep -i ubuntu | head -1 | awk '{print \$1}'" 2>/dev/null || echo "")
if [ -z "$TEMPLATE" ]; then
log_warn "No Ubuntu template found, checking available templates..."
TEMPLATE=$(sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pvesm list local 2>/dev/null | head -5 | tail -1 | awk '{print \$1}'" 2>/dev/null || echo "")
fi
if [ -n "$TEMPLATE" ]; then
log_info "Using template: $TEMPLATE"
log_info "Creating test container on r630-01 (local-lvm)..."
sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" bash <<ENDSSH
pct create $TEST_VMID $TEMPLATE \
--storage local-lvm \
--hostname test-storage-r630-01 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.11.99/24 \
--memory 512 \
--cores 1 \
--unprivileged 1 2>&1 | head -10
ENDSSH
if sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pct list | grep -q $TEST_VMID" 2>/dev/null; then
log_success "Test container created on r630-01"
sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pct list | grep $TEST_VMID" 2>/dev/null
else
log_warn "Container creation may have failed (check manually)"
fi
else
log_warn "No template available, skipping container creation test"
log_info "Storage status check only..."
fi
# Check storage status
log_info "Storage status on r630-01:"
sshpass -p "$R630_01_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_01_IP" \
"pvesm status local-lvm 2>/dev/null" 2>/dev/null || log_warn "Could not check storage"
# Test r630-02 thin1
log_section "Testing r630-02 thin1 Storage"
log_info "Checking if template exists..."
TEMPLATE=$(sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pvesm list local 2>/dev/null | grep -i ubuntu | head -1 | awk '{print \$1}'" 2>/dev/null || echo "")
if [ -z "$TEMPLATE" ]; then
log_warn "No Ubuntu template found, checking available templates..."
TEMPLATE=$(sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pvesm list local 2>/dev/null | head -5 | tail -1 | awk '{print \$1}'" 2>/dev/null || echo "")
fi
if [ -n "$TEMPLATE" ]; then
log_info "Using template: $TEMPLATE"
log_info "Creating test container on r630-02 (thin1)..."
sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" bash <<ENDSSH
pct create $TEST_VMID $TEMPLATE \
--storage thin1 \
--hostname test-storage-r630-02 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.11.98/24 \
--memory 512 \
--cores 1 \
--unprivileged 1 2>&1 | head -10
ENDSSH
if sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pct list | grep -q $TEST_VMID" 2>/dev/null; then
log_success "Test container created on r630-02"
sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pct list | grep $TEST_VMID" 2>/dev/null
else
log_warn "Container creation may have failed (check manually)"
fi
else
log_warn "No template available, skipping container creation test"
log_info "Storage status check only..."
fi
# Check storage status
log_info "Storage status on r630-02:"
sshpass -p "$R630_02_PASS" ssh -o StrictHostKeyChecking=no root@"$R630_02_IP" \
"pvesm status thin1 2>/dev/null" 2>/dev/null || log_warn "Could not check storage"
log_section "Storage Test Complete"
log_success "Storage performance test completed"
log_info "Test containers will be cleaned up automatically"