4.0 KiB
4.0 KiB
Deployment Execution Guide
Date: 2025-01-20
Deployment Type: Complete Validated Deployment (Option 1)
Quick Start
SSH to ml110 and Run Deployment
ssh root@192.168.11.10
cd /opt/smom-dbis-138-proxmox
./scripts/deployment/deploy-validated-set.sh --source-project /opt/smom-dbis-138
What the Deployment Script Does
The deploy-validated-set.sh script orchestrates the complete deployment in these phases:
Phase 1: Deploy Containers
- Creates LXC containers for all Besu nodes:
- 5 Validator containers (VMIDs 1000-1004)
- 4 Sentry containers (VMIDs 1500-1503)
- 3 RPC containers (VMIDs 2500-2502)
- Installs Besu on each container
- Configures network settings
- Sets up systemd services
Timeout: 1 hour (3600 seconds)
Phase 2: Copy Configuration
- Copies
genesis.jsonto all containers - Copies validator keys to respective containers
- Copies configuration files (
config-validator.toml, etc.) - Copies permissions files (
permissions-nodes.toml, etc.) - Sets correct file permissions
Timeout: 30 minutes (1800 seconds)
Phase 3: Bootstrap Network
- Generates
static-nodes.jsonwith correct enode URLs - Updates network configuration
- Configures peer discovery
- Sets up initial network connections
Timeout: 5 minutes (300 seconds)
Phase 4: Validation
- Validates container status
- Checks service status
- Verifies configuration files
- Validates key files
- Checks network connectivity
Expected Duration
- Full Deployment: 30-60 minutes
- Quick Deployment (containers already exist): 10-15 minutes
Monitoring Progress
The script provides progress indicators and logs. Watch for:
- Container Creation: Progress for each container
- Configuration Copy: Files being copied to each container
- Network Bootstrap: Enode URL generation
- Validation: Status checks for each component
Troubleshooting
If Deployment Fails
-
Check Logs: The script logs to stdout/stderr
-
Verify Prerequisites:
# Check source project exists ls -la /opt/smom-dbis-138/config/genesis.json # Check validator keys exist ls -la /opt/smom-dbis-138/keys/validators/ -
Retry with Skip Options:
# If containers already exist, skip deployment ./scripts/deployment/deploy-validated-set.sh \ --source-project /opt/smom-dbis-138 \ --skip-deployment
Common Issues
Issue: Containers already exist
- Solution: Use
--skip-deploymentflag
Issue: Configuration files not found
- Solution: Verify source project path:
/opt/smom-dbis-138
Issue: Keys not found
- Solution: Ensure validator keys are in
/opt/smom-dbis-138/keys/validators/
Alternative: Step-by-Step Deployment
If the automated script fails, deploy manually:
# Step 1: Deploy containers
./scripts/deployment/deploy-besu-nodes.sh
# Step 2: Copy configuration
./scripts/copy-besu-config.sh /opt/smom-dbis-138
# Step 3: Fix IPs (if needed)
./scripts/fix-container-ips.sh
# Step 4: Bootstrap network
./scripts/network/bootstrap-network.sh
# Step 5: Start services
./scripts/fix-besu-services.sh
# Step 6: Validate
./scripts/validation/validate-deployment-comprehensive.sh
Post-Deployment Verification
After deployment completes, verify:
# Check container status
pct list | grep -E "100[0-4]|150[0-3]|250[0-2]"
# Check services
pct exec 1000 -- systemctl status besu-validator.service
# Check network
pct exec 1000 -- curl -X POST -H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":1}' \
http://localhost:8545
Next Steps After Deployment
- Monitor Logs: Watch Besu logs for each validator
- Verify Consensus: Check that blocks are being produced
- Test RPC: Verify RPC nodes are accessible
- Network Health: Monitor peer connections
Ready to Deploy: All prerequisites met ✅
Genesis.json: Updated with current validator addresses ✅
Keys: All 5 validator keys present and verified ✅