Saturday, April 20, 2019

Install Cisco csr1000v on ESXi

Based on Rob Riker's and Kevin Wallace's instructional video, I setup a virtual lab with a few Cisco csr1000v routers on an ESXi server. Those two video tutorials are awesome. You can click on the author's name to view the detailed steps.

The notes below is not step by step procedure. It just highlight a few important details that might save you some time.

  • Per Kevin's suggestion, use csr1000v-universalk9.03.11.02.S.154-1.S2-std.iso
  • You can use ESXi console to manage your router. But you can't cut & paste in the console session. To use Putty access to the virtual router, you will need Enterprise Plus license to use Virtual Serial feature on ESXi server.
  • By default, ESXi disables the Virtual Serial in its firewall policy and you will need to enable it. Even though it appears it only two ports are open for the virtual serial connection, it is not. Port 1024 and above are open.

  • Instead of using ova template, I used the virtual router's ISO image to create virtual router/machine. Here are the VM settings and import settings are highlighted:


Note:192.168.4.187 is my ESXi server IP and
 CDROM is pointing to the router's ISO 
that uploaded to the Datastore earlier.

  • After you created the VM and power it on, it is important you get into the VM Console session immediately and hit any key to select "CSR 1000V Serial Console". If you miss the selection, you can restart right away the VM and try again. 




  • After the above selection, you can sit back and relax. Your VM will go through installation process and reboot again. If you see "Press any key to continue" again, ignore it.
  • After the router rebooted, it appears the router stopped at following message in the console session:
                                         Unable to open /dev/cdrom0
                                         INIT: Entering runlevel: 2
                                         INIT: Switching to runlevel: 3



  • You can get into the console session and hit keys, but goes nowhere. Don't worry, if you open a telnet session to the virtual router with the port you have defined in previous step (e.g. 192.168.4.187:2310), you will see your router is running normally :)
  • If you need to do more troubleshooting, you can get VM log from Datastore: