I know I said in the last post that I was saving NX-OS (Titanium) for another day, well, today is that day!
Finding a suitable vmdk file to use was the hardest part.. but in the end I did. I copied it to the tmp directory and tried the usual:
root@iou:/tmp# ls N7K.vmdk root@iou:/tmp# qemu-img convert -f vmdk -O qcow2 N7K.vmdk hda.qcow2 root@iou:/tmp# mkdir /p /opt/unetlab/addons/qemu/titanium-7 root@iou:/tmp# mv hda.qcow2 /opt/unetlab/addons/qemu/titanium-7/ root@iou:/tmp# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions root@iou:/tmp# ls -l /opt/unetlab/addons/qemu/ total 16 drwxr-xr-x 2 root root 4096 Feb 19 14:26 asa-8.42 drwxr-xr-x 2 root root 4096 Feb 19 16:16 titanium-7 drwxr-xr-x 2 root root 4096 Feb 19 13:53 vios-adventerprisek9-m15.4-1.2.0-173 drwxr-xr-x 2 root root 4096 Feb 17 11:02 xrv-k9-5.2.2 root@iou:/tmp#We have the files loaded and they are visible in Unetlab:
Topology:
Do they run?
Nope. They refuse to start.
From the documentation for CSR1000v it says to run:
# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom csr1000v-universalk9.03.13.00.S.154-3.S-ext.iso
However, this is not working for me:
root@iou:/opt/unetlab/addons/qemu/titanium-7# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso Could not access KVM kernel module: No such file or directory failed to initialize KVM: No such file or directory root@iou:/opt/unetlab/addons/qemu/titanium-7#
This link would indicate that the module is not installed. I get the same when trying in VirtualBox. I did some googling and tried everything I can, turns out that my bargain ESXi box is missing one vital piece:
So I imported it into VMWare Fusion.
Now the message that the necessary bits arn't working has gone.
If you are having a similar issue then this is the screen that you don't want:
This is what you do want:
I can check that Qemu will be happy by doing this:
More importantly, the NX-OS routers fire up:
We have connectivity...
NXOS1# sh ver Cisco Nexus Operating System (NX-OS) Software TAC support: http://www.cisco.com/tac Documents: http://www.cisco.com/en/US/products/ps9372/tsd_products_support_serie s_home.html Copyright (c) 2002-2014, Cisco Systems, Inc. All rights reserved. The copyrights to certain works contained herein are owned by other third parties and are used and distributed under license. Some parts of this software are covered under the GNU Public License. A copy of the license is available at http://www.gnu.org/licenses/gpl.html. Titanium is a demo version of the Nexus Operating System Software loader: version N/A kickstart: version 7.0(1) [build 7.0(1)ZD(0.216)] system: version 7.0(1) [build 7.0(1)ZD(0.216)] kickstart image file is: bootflash:///titanium-d1-kickstart.7.0.1.ZD.0.216.bin kickstart compile time: 6/13/2014 20:00:00 [06/14/2014 05:45:18] system image file is: bootflash:///titanium-d1.7.0.1.ZD.0.216.bin system compile time: 6/13/2014 20:00:00 [06/14/2014 09:32:30] Hardware cisco Nexus7000 C7018 (18 Slot) Chassis ("Unknown Module") Unknown CPU with 2042092 kB of memory. Processor Board ID TM00010000B Device name: NXOS1 bootflash: 0 kB Kernel uptime is 0 day(s), 1 hour(s), 7 minute(s), 29 second(s) plugin Core Plugin, Ethernet Plugin NXOS1# NXOS1# sh cdp neigh Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge S - Switch, H - Host, I - IGMP, r - Repeater, V - VoIP-Phone, D - Remotely-Managed-Device, s - Supports-STP-Dispute Device-ID Local Intrfce Hldtme Capability Platform Port ID NXOS2(TB00020000B) Eth2/1 141 R S s N7K-C7018 Eth2/1 NXOS1# NXOS2# sh cdp neigh Capability Codes: R - Router, T - Trans-Bridge, B - Source-Route-Bridge S - Switch, H - Host, I - IGMP, r - Repeater, V - VoIP-Phone, D - Remotely-Managed-Device, s - Supports-STP-Dispute Device-ID Local Intrfce Hldtme Capability Platform Port ID NXOS1(TB00010000B) Eth2/1 175 R S s N7K-C7018 Eth2/1 NXOS2#
There we have it... NX-OS (Titanium) running inside of Unetlab. So if your virtualization platform supports a KVM guest, and you don't see "Warning: neither Intel VT-x or AMD-V found", then you should be OK.
26 comments
commentsHi Stuart,
ReplyThanks for this Titanium Tutorial. I couldn't get this up. If I am not wrong, are you able to run this setup "only" in the fusion? if not how do you run in windows pc and vmware workstation.
Thanks
David
Hi David
ReplyIt also works on VMWare Workstation - Andrea has the docs on his website:
http://www.unetlab.com/documentation/
Cheers
Stuart
More preciously, I am confusing how to get the console access after create the topology?
Replythanks
David
Hi Stuart,
ReplyCan you make me clear on this;
root@iou:/opt/unetlab/addons/qemu/titanium-7# /usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso
where the nexus.iso is coming from?? does it come with the Titanium image you are using?
Thanks
David
Hey David,
ReplyIt was a shot in the dark, I was working from the docs on the unetlab site, so was guessing at some commands... http://www.unetlab.com/2014/11/adding-cisco-cloud-service-router-csr1000v-images/
how can i get telnet to work on titanium-7? i have it setup on unetlab and connected but no cli. the router starts well but just stuck
Replyis there something special i need to configure to have telnet access?
Hi.
ReplyEdit vmx file VM UnetLab
[root@host:~] vi /vmfs/volumes/raid-10/UNL/UNL.vmx
vhv.enable = "true"
or via WinSCP press f4 and edit *.vmx
vhv.enable = "true"
It is work.
Hi Stuart,
ReplyWhere did you get nexus.iso or you just rename csr1000v and enter this command in you UNL-VM?
/usr/bin/qemu-system-x86_64 --enable-kvm -serial mon:stdio -nographic -boot order=c,once=d -smp 1 -m 3072 -usb -hda hda.qcow2 -cdrom nexus.iso
Thanks
Downloaded the Titanium emulator - thats the NX-OS
ReplyAnd thats titanium has nexus.iso?
Replyits the iso download for Titanium but renamed to nexus.iso
ReplyCould you share this iso?
ReplyNo, you'll need to google it.
ReplyHi Stuart,
ReplyI am having issues using the new NXOS image, I was able to import and start device but afterwards I get a blank telnet session [Have tried a million different things but no luck]. The NXOS image boots properly in vm workstation with telnet port 7000 instead 9001 because it's an updated nxos image.
FYI - vhv.enable = "true" is already setup for me.
any help would be great.
NX-OS can take quite a while to load up, how long are you waiting before trying to access it? Start it up and go and grab a coffee! What version are you running?
ReplyHi Stuart,
ReplyI know this is an older post, but still seems like the freshest on the topic. I'm running the latest UNL 0.9.0-96 and have tried your process above - thanks for this. My problem is that when I try to add the new N7K to my labs, the new image does not appear as an option. Some background; my titanium image was running fine on VMWare workstation; I tied converting this from qemu-img, but without success. I the used Vmware converter to convert the image using "other" option in the converter tool - this generated a new ".vmdk" image that I can succefully convert using qemu-img; I now have a "hda.qcow2" image. I moved this to /opt/unling/addons/qemu/N7K directory and ran the permissions change, but I still don't see the image as an available option int my UNL lab edit view when adding nodes. FYI, my add node options list "Cisco NX-OSv (Titanium)", but when selected, my new image is not available. By the way, the "Cisco NX-OSv (Titanium)" was default option right after the install of UNL. Sure appreciate if you can help me get past this problem so I can see if the new image will boot. Thank you!
you need to name the folder titanium-7k, not N7K. SSH onto your VM and run:
Replycat /opt/unetlab/html/includes/init.php
You'll see a long list of how things need to be named. NX-OS needs to have the prefix titanium.
Stuart,
ReplyThanks my friend... perfect! That does the job and thank you for pointing out the init.php!!
hello stuart
ReplyI have the same issue like this ''Hi Stuart,
I am having issues using the new NXOS image, I was able to import and start device but afterwards I get a blank telnet session [Have tried a million different things but no luck]. The NXOS image boots properly in vm workstation.
FYI - vhv.enable = "true" is already setup for me.
any help would be great.''
I too fired up nexus titanium but same problem...blank telnet session
ReplyDoes it support vpc.
Replygetting this error , help needed please.
Replyroot@unl01:~# cd /tmp/
root@unl01:/tmp# ls -l
total 2097164
-rw-r--r-- 1 root root 2147483648 Dec 5 2012 N7K.vmdk
drwxr-xr-x 2 unl0 unl 4096 Aug 21 16:37 netio32768
drwx------ 2 root root 4096 Aug 21 15:44 vmware-root
root@unl01:/tmp# qemu-img convert -f vmdk -O qcow2 N7K.vmdk hda.qcow2
-bash: qemu-img: command not found
root@unl01:/tmp# qemu-img convert -f vmdk -0 qcow2 N7K.vmdk hda.qcow2
-bash: qemu-img: command not found
Thanks
if you try hide your Nexus ISO so no need to post your sweet lab with Nexus in your blog
ReplyI don't understand what you mean...
Replyyou are in the wrong folder, try /opt/qemu/bin/qemu-img
Replyjust google it @abdulfattah, nexus iso has copyright, you will never get it here...
Reply