Files
proxmox/scripts/update-cluster-node-names.sh

105 lines
3.5 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# Update cluster node names for consistency (optional)
# This updates the cosmetic cluster node names to match hostnames
# Usage: ./scripts/update-cluster-node-names.sh
set -euo pipefail
# Load IP configuration
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
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
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"; }
# Host configuration
declare -A HOSTS
HOSTS[r630-01]="${PROXMOX_HOST_R630_01:-192.168.11.11}:password:pve:r630-01"
HOSTS[r630-02]="${PROXMOX_HOST_R630_02:-192.168.11.12}:password:pve2:r630-02"
log_info "========================================="
log_info "Updating Cluster Node Names"
log_info "========================================="
log_warn "This is OPTIONAL - cluster functionality is not affected"
log_warn "This only changes cosmetic display names in the cluster"
echo ""
# Check current cluster status
log_info "Current cluster status:"
sshpass -p "password" ssh -o StrictHostKeyChecking=no root@"${PROXMOX_HOST_ML110:-192.168.11.10}" "pvecm nodes" 2>/dev/null || {
log_error "Cannot access cluster. Ensure ml110 is accessible."
exit 1
}
echo ""
log_warn "Cluster node name updates require:"
log_warn " 1. Cluster reconfiguration (may cause brief service interruption)"
log_warn " 2. All nodes must be online"
log_warn " 3. Quorum must be maintained"
echo ""
read -p "Do you want to proceed with updating cluster node names? (yes/no): " confirm
if [[ "$confirm" != "yes" ]]; then
log_info "Aborted by user"
exit 0
fi
log_info "Note: Cluster node names are stored in corosync configuration."
log_info "Changing them requires cluster reconfiguration."
log_info ""
log_info "Current situation:"
log_info " - r630-01 shows as 'pve' in cluster (functional, cosmetic only)"
log_info " - r630-02 shows as 'pve2' in cluster (functional, cosmetic only)"
log_info ""
log_info "To change cluster node names, you would need to:"
log_info " 1. Stop cluster services on affected nodes"
log_info " 2. Edit corosync configuration"
log_info " 3. Restart cluster services"
log_info " 4. Verify cluster health"
log_info ""
log_warn "This operation is complex and may cause service interruption."
log_warn "It is recommended to leave cluster node names as-is unless necessary."
echo ""
log_info "For now, we'll document the current state and verify cluster health."
echo ""
# Verify cluster health
log_info "Verifying cluster health..."
sshpass -p "password" ssh -o StrictHostKeyChecking=no root@${PROXMOX_HOST_ML110:-192.168.11.10} bash <<'ENDSSH'
echo "=== Cluster Status ==="
pvecm status 2>&1
echo ""
echo "=== Cluster Nodes ==="
pvecm nodes 2>&1
echo ""
echo "=== Cluster Quorum ==="
pvecm expected 2>&1
echo ""
ENDSSH
log_success "Cluster health check complete"
echo ""
log_info "Recommendation:"
log_info " - Cluster node names (pve/pve2) are cosmetic only"
log_info " - System hostnames (r630-01/r630-02) are correct"
log_info " - Cluster functionality is not affected"
log_info " - No action required unless you specifically need matching names"
echo ""