Skip to main content

Scale GNS3

GNS3 itself doesn’t have limitation on the number of nodes you can run into it. The limitation will be your hardware.

Run GNS3 on a remote server

If your local machine is not enough to let you create the sorts of topologies you want to use, you can run GNS3 on a bigger machine locally or on a cloud Provider like Packet.

Split the load on multiple machine

In order to cross the limitation of your hardware, you can use multiple GNS3 servers for running the same topology.

An example is Jason C. Neumann running GNS3 in a Raspberry Pi cluster: https://www.gns3.com/discussions/the-worlds-first-gns3-beowulf-cl

note

The PI use an ARM processor that is not adapted to run x86 code on Qemu. Also since this forum post, the interfaces have changed.

screenshot

Requirements

  • You need the same version of the GNS3 server on all machines
  • All servers need to be on the same network . Nothing should prevent them from being able to communicate with each other

Limitations

  • A node need to be explicitly created on a server. There is no smart allocation
  • You need to create an appliance template by server
  • You can’t move a node from a server to another
  • Portable projects are not supported
note

This is not definitive. GNS3 is evolving and contributions are welcome

Setup

Add your remote servers

First you need to add your remote servers in the Server preferences:

screenshot

You will see these appear in the Server summary pane, along with the CPU/RAM usage of each:

screenshot

Setup the Appliance Templates

When you create your appliance template, choose a remote server:

screenshot

At the node name step, choose a name to help you remember which server this node will be run on:

screenshot

Create a second template for the other server. You have now two nodes that allow you to manually dispatch the load between servers:

screenshot

You can use the server summary in order to know which server has free resources:

screenshot