Files
proxmox/docs/archive/STORAGE_NETWORK_VERIFICATION.md

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

  1. Use Local Storage: Prefer local-lvm, local, or local-zfs
  2. SSD Storage: Use SSD-based storage for fastest performance
  3. Sufficient Capacity: Ensure ~100GB per container (67 containers ≈ 6.7TB)
  4. 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

  1. Use Wired Connection: Avoid wireless for deployment
  2. Gigabit Ethernet: Use 1 Gbps or faster connection
  3. Low Latency: Ensure <50ms latency to Proxmox host
  4. Local Package Mirrors: Consider apt mirrors for faster package downloads
  5. Pre-cache Templates: Run pre-cache-os-template.sh before deployment
  6. 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_STORAGE in 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_BRIDGE in config matches actual bridge

Optimization Steps

  1. 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
    
  2. During Deployment:

    • Monitor storage I/O: iostat -x 1
    • Monitor network usage: iftop or nload
    • Watch resource usage: htop
  3. 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 status to verify storage type

Problem: Insufficient storage space

  • Solution: Free up space or expand storage
  • Check: pvesm status shows 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.com should 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.