Back to Home

GNS3 Scaling for Heavy Labs

The article describes setting up horizontal scaling of GNS3 for launching 40–60 resource-intensive nodes like IOS-XRv9K. External VM servers, IOS-XRd, and Workstation are used. Achieved 64 vCPU/200 GB without failures.

GNS3: launching 50+ IOS-XRv9K in a VM cluster
Advertisement 728x90

# Horizontal Scaling GNS3 for Resource-Intensive Network Labs

GNS3 lets you distribute resource-hungry network nodes across multiple virtual machines using external servers. This approach is essential for simulating large topologies with IOS-XRv9K, CSR1000v, and NSO, where a single VM hits vCPU and RAM limits. The author describes switching from a laptop (8 vCPU, 16 GB) to a Workstation-based VM cluster, totaling 64 vCPU and 200 GB RAM.

Comparison of Simulators and Use Cases

Among network lab tools, EVE-NG, PNETLab, GNS3, and containerlab stand out. GNS3 excels in horizontal scaling: nodes are spread across VMs without manual cloud setup like in EVE-NG.

Key use cases:

Google AdInline article slot
  • Studying protocols like LISP, BGP, and OSPF.
  • Prep for exams with vendor-specific images (IOS-XRv9K needs 4 vCPU per node).
  • Proof of Concept before deployment.

For Cisco SP labs (up to 50 nodes), standard simulators crash with 8+ IOS-XRv9K: freezes, reboots. Math: 50 × 4 vCPU = 200 vCPU, impossible on one machine.

Resource-Intensive Images and Container Optimization

IOS-XRv9K (4 vCPU, heavy RAM) can be swapped for IOS-XRd — a containerized control plane version (1 vCPU, 2 GB RAM, boots in 30s). This cuts load while keeping functionality.

Author's hardware:

Google AdInline article slot
  • SuperMicro X10DRL-i server: 80 vCPU, 256 GB RAM, 2 NUMA nodes.
  • OS: Windows 10 Pro (gaming load), Workstation (32 vCPU/128 GB limit per VM).
  • 3 GNS3 VMs: isolating IOS-XRv9K and CSR1000v.

GNS3 Architecture with External Servers

GNS3 includes Controller, GNS3 GUI/Web, and Compute Nodes (VMs with Docker/QEMU). Compute Nodes on the desktop, controller on the laptop, connected via LAN.

Advantages:

  • Automatic traffic routing between VMs.
  • CPU/RAM load monitoring across servers.
  • Distributing images across VMs for balance.

Limitations of GNS3 2.2.46

Despite the upsides, issues crop up:

Google AdInline article slot
  • Topology won't open — delete hub in .gns3 file.
  • ioll2-xe-17-12-01 won't start.
  • Calvados AUX errors in XRv9K (not critical).
  • Saving Docker configs requires volume setup.
  • Interface changes: disconnect links, edit, reconnect.

Step-by-Step Scaling Setup

  • Planning: Assign VMs by NUMA (at least 2–3), resources (64 vCPU, 200 GB). Isolate node types.
  • Preparing GNS3 VMs:

- Download OVA, set static IP (Network → config).

- Port (Configure → config).

  • Adding Servers: Edit → Preferences → Remote Servers → Add (IP, name, no auth for LAN).
  • Images: Assign to specific VMs (duplicate for distribution).
  • Topology: GNS3 handles connectivity automatically.

Monitoring: Servers Summary shows load.

Key Takeaways

  • Use IOS-XRd for control plane: 1 vCPU/2 GB vs 4 vCPU for XRv9K.
  • Spread across 3+ VMs for 40–60 nodes without crashes.
  • Workstation limit: 32 vCPU/128 GB per VM (NUMA).
  • Docker volumes for persistent configs.
  • GNS3 > EVE-NG for multi-VM without clouds.

This scales labs to exam-level loads, bypassing hardware limits without renting servers.

— Editorial Team

Advertisement 728x90

Read Next