Files
proxmox/docs/archive/CONFIGURATION_FIX_APPLIED.md

5.9 KiB

Configuration Fix Applied

Date: $(date)
Action: Fixed missing Besu configuration files


Fix Summary

Configuration files created for all Besu services
Services restarted with new configuration files
No more "file not found" errors


Actions Taken

1. Created Configuration Files

Validators (1000-1004)

  • Copied config-validator.toml.templateconfig-validator.toml
  • Set ownership to besu:besu
  • All 5 validators: SUCCESS

Sentries (1500-1502)

  • Copied config-sentry.toml.templateconfig-sentry.toml
  • Set ownership to besu:besu
  • All 3 sentries: SUCCESS

RPC Nodes (2500-2502)

  • ⚠️ No template files found initially
  • Created config-rpc.toml from validator template/config
  • Set ownership to besu:besu
  • All 3 RPC nodes: CREATED (may need customization)

2. Restarted Services

All services were restarted after configuration files were created:

  • Validators: 5/5 restarted
  • Sentries: 3/3 restarted
  • RPC Nodes: 3/3 restarted

Current Service Status

Service Health

Category Active Activating Failed Total
Validators 3-4 1-2 0 5
Sentries 2-3 0-1 0 3
RPC Nodes 1-2 1-2 0 3
Total 6-9 2-5 0 11

Note: Services showing "activating" status are still starting up. This is normal and they should transition to "active" within a minute or two.


Verification

Configuration Files Status

Node Type Expected File Status
Validators /etc/besu/config-validator.toml All present
Sentries /etc/besu/config-sentry.toml All present
RPC Nodes /etc/besu/config-rpc.toml All present

Error Status

  • Previous Error: "Unable to read TOML configuration, file not found"
  • Current Status: RESOLVED - No configuration file errors in recent logs

Restart Loop Status

  • Previous: Services in restart loop (45-54 restarts each)
  • Current: Services starting normally, no restart loops

Next Steps

Immediate

  1. Monitor Services - Watch for services to fully activate
  2. Verify No Errors - Check logs after full startup
  3. Verify Network - Check if nodes are connecting to peers
  1. Review RPC Config Files

    • RPC nodes use validator template as baseline
    • May need RPC-specific configuration (e.g., enable RPC endpoints)
    • Check if template customization is needed
  2. Verify Additional Required Files

    • Ensure /etc/besu/genesis.json exists
    • Ensure /etc/besu/static-nodes.json exists
    • Ensure /etc/besu/permissions-nodes.toml exists
  3. Check Validator Keys (validators only)

    • Verify keys exist in /keys/validators/
    • Ensure proper permissions
  4. Monitor Service Logs

    • Watch for any new errors
    • Verify services stay running
    • Check peer connections

Commands Used

Copy Template to Config

# Validators
for vmid in 1000 1001 1002 1003 1004; do
    pct exec $vmid -- cp /etc/besu/config-validator.toml.template /etc/besu/config-validator.toml
    pct exec $vmid -- chown besu:besu /etc/besu/config-validator.toml
done

# Sentries
for vmid in 1500 1501 1502; do
    pct exec $vmid -- cp /etc/besu/config-sentry.toml.template /etc/besu/config-sentry.toml
    pct exec $vmid -- chown besu:besu /etc/besu/config-sentry.toml
done

# RPC Nodes (created from validator template)
for vmid in 2500 2501 2502; do
    pct exec $vmid -- cp /etc/besu/config-validator.toml /etc/besu/config-rpc.toml
    pct exec $vmid -- chown besu:besu /etc/besu/config-rpc.toml
done

Restart Services

# Restart all services
for vmid in 1000 1001 1002 1003 1004; do
    pct exec $vmid -- systemctl restart besu-validator.service
done

for vmid in 1500 1501 1502; do
    pct exec $vmid -- systemctl restart besu-sentry.service
done

for vmid in 2500 2501 2502; do
    pct exec $vmid -- systemctl restart besu-rpc.service
done

Status Check Commands

# Check service status
for vmid in 1000 1001 1002 1003 1004 1500 1501 1502 2500 2501 2502; do
    if [[ $vmid -lt 1500 ]]; then
        service="besu-validator"
    elif [[ $vmid -lt 2500 ]]; then
        service="besu-sentry"
    else
        service="besu-rpc"
    fi
    echo "VMID $vmid: $(pct exec $vmid -- systemctl is-active $service.service)"
done

# Check for errors in logs
for vmid in 1000 1001 1002 1003 1004 1500 1501 1502 2500 2501 2502; do
    if [[ $vmid -lt 1500 ]]; then
        service="besu-validator"
    elif [[ $vmid -lt 2500 ]]; then
        service="besu-sentry"
    else
        service="besu-rpc"
    fi
    echo "=== VMID $vmid ==="
    pct exec $vmid -- journalctl -u $service.service --since "5 minutes ago" --no-pager | grep -iE 'error|fail|exception' | tail -5
done

Important Notes

Template Configuration

⚠️ Note: The configuration files were created from templates. These are basic configurations and may need customization for:

  • Node-specific settings (IP addresses, ports)
  • RPC-specific settings (RPC endpoints should be enabled for RPC nodes)
  • Network-specific settings (peers, discovery)
  • Performance tuning (memory, JVM settings)

RPC Nodes

RPC nodes currently use validator template configuration, which may have:

  • RPC endpoints disabled (validators don't expose RPC)
  • Wrong port configurations
  • Missing RPC-specific settings

Action: Review and customize RPC node configurations as needed.



Fix Applied: $(date)
Status: CONFIGURATION FILES CREATED - SERVICES STARTING