GNS3 and vmWare part5: NX-OS 7k
Hardware is GOOD
In this chapter (and accompanying video) I detail how to get Nexus-7k emulation running under GNS3. So, now, I'm running the Nexus-7k-Emulator in both GNS3 and vmWare. And I'm starting to accumulate quite the "stack" of virtualized equipment. Such as: NX-OS, Arista-EOS, vIOS. Then there's the "common" Cisco hardware like: (IOS) C7200, C3725, C2800-X11's- (and many more). And I can hook it all to Nexus1000v in ESXi- And then there IS the whole "ESXi-thing".
...I think I'm gonna need more RAM
Basically, what we do here is run the Nexus-7k emulator under vmWare Workstation, and we create an appliance (using Workstation to do so) of the *.ovf-style. (The vmWare open-virtualization format.) And then we utilize THAT *.ovf to import the appliance into GNS3, whereby we may utilize GNS3 as a finer networking simulation. This is getting so interesting, I definitely can see the need for more RAM.
"Hello, my name is Steve, and I'm a Hardware-a-holic." ("...Hi Steve...")
Funny how we try to "get away" from pure hardware dependency, by virtualizing infrastructure... yet we come full-circle to the point where we wind up DEMANDING more hardware anyway, to support our new Hardware-Abstraction-Addiction, eh? (I don't mind.)
Titanium is not-quite a FULLY functional version of N7k, but... its certainly enough to begin familiarizing with the NX-OS. AND we can actually network the emulation a little bit as well.
I'm not sure... exactly ...of how I'm going to accomplish virtual-port-channeling... (in conjunction with this N7k-emulation) ...but I've definitely got a couple-a ideas here, that are brewing. Thangs that most people probably are not expecting (if you think traditionally).
Trust me... I'm a scientist.
NX-OS Titanium was designed as a purely Cisco-internal tool
But then it was "leaked" into the "wild", a couple of years ago.
Titanium is an emulation of the Nexus 7000-series of data-center-switch. The syntax and general behavior of Titanium-NXOS, at the command-line, is fundamentally very very similar to the functional behavior of the full-grown N7k-beast.
In the video (immediately below) I detail the process outlined in this chapter. The first 15 minutes are directly relevant. Towards the end of the video, I just include "details" for the curious. From 16minutes to about 20minutes, I include some (boring) boot-up screen-cam of the N7k-vm startup. It's boring, so you can skip ahead to the 20 minute mark or the very finale... The very end of the video is just me adding a couple of network devices and connecting them to make a "Graphically Pleasing" end. But, just as soon as you have ADDED the N7k, to the "device list" of GNS3, this task is complete.
AutomationDnD - N7k under GNS3 - on YouTube
GNS3 and VirtualBox
Any "wanna-be" systems admin/engineer, would peruse the contents of this little N7k emulation gladly to "pick at it" for the hints and tidbits of knowledge that can be gleaned. Much easier (and safer) to "familiarize" with a system that you are free to "break", while you play with it's configuration.
By "breaking" things we learn to put them together... usually. (Sometimes.)
Hey- it's the way Physicists learn about the universe. "Smashing atoms", n' stuff.
Find Titanium - download it
Titanium was originally a tool intended for "internal use" at Cisco Systems. Some geek-no-crat "Leaked" it out into the internet wilds. And it can be found with a little search-engine action.
It will probably be in the form of a compressed file, about 99-megs in size. So download it, unzip it, and save it into a folder you can work with. Also, back it up or duplicate it in one or two other locations in case you damage your original versions, or suffer from an irreparable virtual "machine" crash.
The files as unzipped, are essentially READY to open and run in vmWare workstation. You only have to locat the file with an extension of *.vmx - right click it, and open it with vmWare workstation.
You just have to add a serial port and "pipe" it outClick thumbnail to view full-size
Now start the N7k-VM
After you have added a "named-pipe" / com-port serial connection for PUTTY, you're basically ready to just start the VM. Standby for a message that should be popping up.
It will look like this...
click on " I COPIED IT "
Then just stand by awaiting the login screen to pop up. You may want to start your task manager just to monitor CPU activity and RAM usage. It can take a couple of minutes for this virtual machine to finish booting up. So be patient.
You can go ahead and start up a session of PUTTY-terminal and have it awaiting the pending connection to the VM. Then, just as soon as a serial connection is established, you'll "see" signs of activity.. followed shortly by a login prompt.
The user ID and Password, respectively are: "admin" and "cisco".
Your PUTTY-terminal session connecting to the VMClick thumbnail to view full-size
Now we create a Virtual Appliance within vmWare
Once we have verified that the VM basically operates correctly, we can use vmWare Workstation to create a "Virtual Appliance". We'll be making it using the "Open Virtualization Format" (OVF).
Shut down the VM. Go to "File" and "Export to OVF" and browse to a folder to save the appliance to. Create the N7k appliance.
Go to "File" and "Export to OVF" -
After making the virtual appliance, you can shut down vmWorkstation. We'll use VirtualBox.
VirtualBox is very closely integrated with GNS3. What we will do is use VBox to create as many VM's as we wish to run under GNS3. Later, we can invoke these VBox-Machines from GNS3.
Go to "FILE" and "IMPORT APPLIANCE"- browse to the OVFClick thumbnail to view full-size
Create a named "PIPE" for serial connection in VBoxClick thumbnail to view full-size
The new VBox-VM should be READY TO RUNClick thumbnail to view full-size
After testing the VBox machine, CLONE it
Now that you've established the proper function of the VM, replicate it within VBox for as many instances of the VM as you wish to run upon GNS3. If you have a PC with 4 gigs of RAM you won't be able to run two instances of N7k at the very same time...
But you may want to configure different VERSIONS of the N7k-vm so you can experiment with settings. So, the "cloning" aspect of VBox is very very good in that respect. Very handy.
Okay, you know the new N7k-vm works in VirtualBox.
Now RUN IT IN GNS3.
The whole idea is to get this VM into a system where you can network it easily. You CAN "network" it within vmWare Workstation. But the graphics are cludgy, and it's "networking" does not parallel classic thinking from a "topological" point of view. GNS3 inherently, tries harder to keep the whole "feel" of networking "classic". Up to and including the "plugging in" of your virtual cabling. The fundamental "graphics" are there.
AND the graphics of the network look good too.
Open GNS3, "EDIT" and "PREFERENCES" then "VIRTUALBOX"Click thumbnail to view full-size
Just as we did for ARISTA Switches in Part4, also with N7k-vm
Setting up the N7k is similar to the ARISTA switches. They both were VM's we run from VirtualBox.
Basically, once you've found / added the machine to GNS3 (through VBox Manager), you're now ready to run it. This time you will NOT use a named-pipe to console into the device. GNS3 will provide the console to connect to the N7k-vm. So, just go ahead and 'start' the machine, then Right Click it and select "CONSOLE".
We're running the Nexus-7k-Emulator in GNS3 and vmWare: NX-OS, Arista-EOS, vIOS, C7200-IOS, C2800-X11's- all hooked to Nexus1000v in ESXi- ...I think I'm gonna need more RAM