99 lines
3.2 KiB
Bash
99 lines
3.2 KiB
Bash
|
|
#!/bin/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
|
||
|
|
|
||
|
|
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]="192.168.11.11:password:pve:r630-01"
|
||
|
|
HOSTS[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@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 ""
|