8.0 KiB
Storage and Network Configuration Verification
Last Updated: 2025-01-11
Purpose: Guide for verifying storage and network configuration for optimal deployment performance
Overview
Proper storage and network configuration significantly impacts deployment performance. This guide provides verification steps and recommendations for optimal deployment speed.
Storage Configuration
Why Storage Matters
- Container Creation: Faster I/O = faster container creation
- OS Template Installation: Local storage = ~15-30 minutes saved
- Package Installation: Local storage reduces I/O wait times
- Overall Impact: Local storage can save 15-30 minutes total
Storage Types
| Storage Type | Performance | Recommendation |
|---|---|---|
| local-lvm | Excellent | ✅ Recommended (local SSD/HDD) |
| local (dir) | Good | ✅ Recommended for small deployments |
| local-zfs | Excellent | ✅ Recommended (ZFS pools) |
| nfs | Variable | ⚠️ Depends on network speed |
| ceph | Good | ⚠️ Network latency may impact |
| glusterfs | Variable | ⚠️ Network latency may impact |
Verification Steps
1. Run Storage Verification Script
# Verify storage configuration
./scripts/validation/verify-storage-config.sh
This script will:
- Check if configured storage exists
- Verify storage type (local vs. network)
- Check available capacity
- Provide recommendations
2. Manual Verification
# List available storage
pvesm status
# Check storage details
pvesm status | grep local
# Verify configured storage exists
grep PROXMOX_STORAGE config/proxmox.conf
3. Storage Configuration
Ensure config/proxmox.conf has:
# Use local storage for best performance
PROXMOX_STORAGE="local-lvm" # Or "local" or "local-zfs"
Recommendations
- Use Local Storage: Prefer
local-lvm,local, orlocal-zfs - SSD Storage: Use SSD-based storage for fastest performance
- Sufficient Capacity: Ensure ~100GB per container (67 containers ≈ 6.7TB)
- Monitor I/O: Watch storage I/O during deployment
Network Configuration
Why Network Matters
- Package Downloads: ~500 MB - 2 GB per container
- OS Template Downloads: ~200-500 MB (one-time)
- Configuration Transfers: Minimal but frequent
- Overall Impact: Good network can save 30-60 minutes total
Network Requirements
| Connection Speed | Performance | Recommendation |
|---|---|---|
| 1 Gbps (Gigabit) | Excellent | ✅ Recommended |
| 100 Mbps (Fast Ethernet) | Good | ⚠️ Acceptable, may be slower |
| 10 Mbps | Slow | ❌ Not recommended for large deployments |
| Wireless | Variable | ⚠️ Use wired if possible |
Verification Steps
1. Run Network Verification Script
# Verify network configuration
./scripts/validation/verify-network-config.sh
This script will:
- Check network connectivity to Proxmox host
- Test latency
- Verify network interface speeds
- Check DNS resolution
- Test internet connectivity and download speed
- Verify Proxmox bridge configuration
2. Manual Verification
# Check network interfaces
ip link show
# Check bridge status
ip link show vmbr0
# Test connectivity
ping -c 3 <proxmox-host>
# Test download speed (rough estimate)
curl -o /dev/null -w "Speed: %{speed_download} bytes/s\n" https://github.com
3. Network Configuration
Ensure config/proxmox.conf has:
# Configure bridge (usually vmbr0)
PROXMOX_BRIDGE="vmbr0"
# Configure Proxmox host (if remote)
PROXMOX_HOST="192.168.11.10" # Or hostname
Network Optimization Recommendations
- Use Wired Connection: Avoid wireless for deployment
- Gigabit Ethernet: Use 1 Gbps or faster connection
- Low Latency: Ensure <50ms latency to Proxmox host
- Local Package Mirrors: Consider apt mirrors for faster package downloads
- Pre-cache Templates: Run
pre-cache-os-template.shbefore deployment - Monitor Bandwidth: Watch network usage during deployment
Expected Network Usage
For complete deployment (67 containers):
| Operation | Data Transfer | Frequency |
|---|---|---|
| OS Template | ~200-500 MB | One-time (if not cached) |
| Package Downloads | ~500 MB - 2 GB per container | Per container |
| Configuration Files | ~1-10 MB per container | Per container |
| Total | ~35-135 GB | Complete deployment |
Breakdown:
- Besu nodes (12): ~6-24 GB
- CCIP nodes (41-43): ~20-86 GB
- Other services (14): ~7-28 GB
Pre-Deployment Checklist
Storage Checklist
- Run
verify-storage-config.sh - Verify storage is local (not network-based)
- Check sufficient capacity (6.7TB+ recommended)
- Confirm storage is accessible
- Verify
PROXMOX_STORAGEin config matches available storage
Network Checklist
- Run
verify-network-config.sh - Verify network interface is Gigabit (1 Gbps) or faster
- Test latency to Proxmox host (<50ms recommended)
- Verify DNS resolution working
- Test internet connectivity
- Check download speed (>100 Mbps recommended)
- Verify Proxmox bridge is UP
- Confirm
PROXMOX_BRIDGEin config matches actual bridge
Optimization Steps
-
Before Deployment:
# Pre-cache OS template (saves 5-10 minutes) ./scripts/deployment/pre-cache-os-template.sh # Verify storage ./scripts/validation/verify-storage-config.sh # Verify network ./scripts/validation/verify-network-config.sh -
During Deployment:
- Monitor storage I/O:
iostat -x 1 - Monitor network usage:
iftopornload - Watch resource usage:
htop
- Monitor storage I/O:
-
After Deployment:
- Review deployment logs for bottlenecks
- Adjust parallel execution limits if needed
- Consider optimizations for future deployments
Troubleshooting
Storage Issues
Problem: Slow container creation
- Solution: Use local storage instead of network storage
- Check: Run
pvesm statusto verify storage type
Problem: Insufficient storage space
- Solution: Free up space or expand storage
- Check:
pvesm statusshows available capacity
Network Issues
Problem: Slow package downloads
- Solution: Use local package mirrors or upgrade network
- Check: Run network verification script
Problem: High latency
- Solution: Use wired connection, optimize network path
- Check:
ping <proxmox-host>shows latency
Problem: DNS resolution failures
- Solution: Configure proper DNS servers
- Check:
nslookup github.comshould resolve
Performance Impact
Storage Impact
| Storage Type | Container Creation | OS Installation | Total Impact |
|---|---|---|---|
| Local SSD | Fast | Fast | Optimal |
| Local HDD | Good | Good | Good |
| Network (1 Gbps) | Moderate | Moderate | Acceptable |
| Network (<100 Mbps) | Slow | Slow | Significant delay |
Time Savings: Local storage saves ~15-30 minutes vs. network storage
Network Impact
| Connection Speed | Package Downloads | Template Download | Total Impact |
|---|---|---|---|
| 1 Gbps | Fast | Fast | Optimal |
| 100 Mbps | Moderate | Moderate | Acceptable |
| 10 Mbps | Slow | Slow | Significant delay |
Time Savings: 1 Gbps saves ~30-60 minutes vs. 100 Mbps for complete deployment
References
- Deployment Time Estimate:
docs/DEPLOYMENT_TIME_ESTIMATE.md - Optimization Recommendations:
docs/DEPLOYMENT_OPTIMIZATION_RECOMMENDATIONS.md - Parallel Execution Limits:
docs/PARALLEL_EXECUTION_LIMITS.md - Proxmox Storage Documentation: https://pve.proxmox.com/wiki/Storage
Quick Verification
Run both verification scripts before deployment:
# Verify storage configuration
./scripts/validation/verify-storage-config.sh
# Verify network configuration
./scripts/validation/verify-network-config.sh
Both scripts will provide recommendations for optimal deployment performance.