GNS3 is a great application for practice, training and simulating network designs/changes when you don’t have the luxury of a proper lab or dev environment. I came up against an issue today on a lab I had built for test purposes. I had already done the basic configuration for a bunch of routers, switches and hosts, the issue appeared when I tried to add some VLANs at the core and distribute them using VTP (VLAN Trunking Protocol)
Now, I personally would not use VTP in a production environment but that’s purely my preference, I know plenty of network engineers who run it on their networks without issue. I’ve just heard way too many horror stories but let’s shelf that for now…
If you’re new to GNS3 it can be a little clunky to get going with it so hopefully this helps some others that come across this problem.
As shown in figure 1, I tried to add a VLAN (VLAN 10) named ‘devops’. On applying this I got an error to say it was not possible in client mode… Easy, I’ll change it to server mode. On running ‘vtp server’ I was presented with 2 errors, ‘Not enough space on the flash to store the VLAN database’ and then ‘No device available’
I should mention at this point, ‘vlan database’ is a deprecated command, VLANs should be configured from privileged exec mode in the global config when using real Cisco kit but GNS3 requires ‘vlan database’.
Now, we need to shutdown the affected virtual switch(s) and choose ‘configure’ from the right click options as shown in figure 2:
I have found that basic configuration items like hostname, banner, interface setup and vty lines etc, are saved (as expected) to the non volatile RAM but any configuration in ‘vlan database’ mode is written to, and referenced in flash.
The default setting for IOS images in GNS3 for the PCMCIA disks is ‘0 MiB’ meaning nothing can be written to storage thus causing the issue at hand.
Set this to at least 1 MiB as shown in figure 3:
Side note: Many seasoned IT Pro’s have often questioned the difference between MB and MiB, if you are asking the same question, it’s answered nicely here:
Now that we have some disk space to write our ‘vlan database’ configuration to, we need to power the switch on and run ‘erase flash’ from privileged exec mode to initialize it as shown in figure 4:
You can now go ahead and add you VLAN configuration using ‘vlan database’ and it should successfully apply without error.
As I mentioned earlier, GNS3 is a great tool but it can be a little tricky getting started with it, especially if you are new to networking. There is plenty of decent online resources that will help you along, their forum is also a good support resource:
I also recommend the GNS3 training course by Keith Barker over at CBT Nuggets:
Leave a comment if you have anything to ask or add, I’ll be happy to respond…