Deploying the Cisco IOS XRv Router

This chapter covers information about deploying the Cisco IOS XRv Router using VMware ESXi and KVM/QEMU hypervisors, and booting the Cisco IOS XRv Router as the VM.

Deployment Types

Like other IOS XR platforms, Cisco IOS XRv Router supports turboboot pre-installed hard disks (VMDK).

TurbobootCisco IOS XRv Router can turboboot from a .vm or .vmdk image. When booting Cisco IOS XRv Router for the first time from a hard disk image, IOS XR undergoes a normal turboboot process that involves expanding the IOS XR software on disk, followed by an automatic reload. After this reboot, IOS XR is fully installed and boots normally from this disk.

Hardcoded Username for Demo-Locked Image

As an anti-security feature for demo-locked image, Cisco IOS XRv Router provides hard-coded username-password combinations that can be used to login at and administer the VM:

Username Password

lab

lab

cisco

cisco

root

root

admin

admin


Note


These hardcoded username-password combinations are available only in the demo-locked image. You cannot configure these user names (even at the initial "Admin Setup Dialog"); attempting to do so will be rejected with an appropriate error message. The workaround is simply to pick a different username (other than above listed) to configure instead.


Cisco IOS XRv Router Deployment on VMware ESXi

VMware ESXi is an enterprise-level computer virtualization product offered by VMware. It is VMware's enterprise software hypervisor for guest virtual servers that run directly on the host server hardware without requiring an additional underlying operating system. For more information, refer to VMware documentation.

Prerequisites

  • Before creating a new VM, upload the Cisco IOS XRv Router VMDK to your ESXi server.
  • The Cisco IOS XRv Router is compatible with ESXi server version 5.0 or later.
  • The ESXi server supports only E1000 network driver and does not support virtio. Hence, make sure you define all NICs as E1000 before running on ESXi.
  • The Firewall options on the host server must be enabled to allow the VM serial port to be connected over the network. To enable Firewall option, select Configuration->Security Profile->Firewall Properties->'VM serial port connected over network' on the host server.

Supported Parameters

While creating a new virtual machine using vSphere, specify these parameters with the recommended settings:

Parameters Recommendation

Configuration

Custom

Name and Location

as with any other VM

Storage

as with any other VM

Virtual Machine Version

Virtual Machine Version: 8

Guest Operating System

Other, Version: Other (32-bit)

CPUs

1 virtual socket, 1 core per virtual socket

Memory

minimum 4 GB, maximum 8 GB

Network

1-4 NICs, each NIC must use "E1000" adapter type. First NIC will be MgmtEthernet0/0/CPU0/0 while subsequent NICs will be GigabitEthernet

Note   

VMware ESXi only allows up to 4 NICs when initially creating the VM, but you can later add additional NICs as needed.

SCSI Controller

LSI Logic Parallel (default)

Select a Disk

Use an existing virtual disk

Select Existing Disk

select Cisco IOS XRv Router VMDK image

Advanced Options

(default)

Ready to Complete

select Edit the virtual machine settings before completion

Creating the Cisco IOS XRv Router Virtual Machine Using the vSphere GUI

To create the Cisco IOS XRv Router Virtual Machine using the VMware VSphere, perform these tasks:


Note


The following procedure provides a general guideline for how to deploy the Cisco IOS XRv Router. However, the exact steps that you need to perform may vary depending on the characteristics of your VMware environment and setup.


Before You Begin

Before you go ahead, make sure that:

  • The vSphere Client is installed on your machine.
  • You have set the correct Firewall Options to allow VM Serial port to be connect over network.

    Step 1   Download the xrvr-full-demo.vmdk or xrvr-full-prod.vmdk file from the Cisco IOS XRv Router software installation image package and copy it to the VM Datastore.
    Step 2   In the VSphere client, first select the host on which you want to create the Cisco IOS XRv Router VM, and then select Create a New Virtual Machine.
    Step 3   Select the Custom configuration for the VM, and click Next.
    Step 4   Specify the name of the VM, select Inventory Location, and click Next.
    Step 5   Select the Datastore where the Cisco IOS XRv Router .vmdk file is stored and click Next.
    Step 6   Select the VMware version as Virtual Machine Version: 8. Click Next.
    Note   

    The Cisco IOS XRv Router is compatible with ESXi Server versions 5.0 and later.

    Step 7   Select the guest operating system to use with this VM as Other and version as Other (32-bit) from the drop-down menu. Click Next.
    Step 8   Select the number of virtual CPUs for the VM.
    • Number of virtual sockets (virtual CPUs)
    • Number of cores per virtual socket (Currently only 1 core per CPU is supported)

    Click Next.

    Step 9   Configure the VM's memory size. Click Next.
    Note   

    Supported memory size range is from 2 GB to 8 GB.

    Step 10   Select the number of NICS required and the Network that each interface needs to be connected to. Select the E1000 adapter. Click Next.
    Note   

    The first NIC added to a Cisco IOS XRv Router VM is mapped to the Management Ethernet interface (MgmtEth0/0/CPU0/0). Additional NICs are mapped to Gigabit Ethernet interfaces such as GigabitEthernet0/0/0/0, GigabitEthernet0/0/0/1, GigabitEthernet0/0/0/2, etc.

    Step 11   Select LSI Logic Parallel for the SCSI Controller and click Next.
    Step 12   Select Use an existing virtual disk option and click Next.
    Step 13   Browse to the VMDK file copied to the Datastore as the virtual disk.
    Step 14   Make sure you have selected the correct VMDK image file and click Next.
    Step 15   Keep the Advanced Options as is and click Next.
    Step 16   On Ready to Complete screen, click the checkbox to Edit the virtual machine settings before completion. Click Continue.
    Step 17   The Virtual Machine Properties window gets opened. You can add other hardware to the VM.
    Step 18   To add a serial port (Console Port), click Add under the Hardware tab.
    Step 19   Select Serial Port and click Next.
    Step 20   Select Connect via Network and click Next.
    Step 21   Select Server and add a telnet address (of the host) and a port higher than 1000. Click Next.
    Step 22   On Ready to Complete screen, select Finish.
    Step 23   (Optional) Repeat Step 18 to Step 21 to add another serial port (Auxiliary Port).
    Step 24   Both the serial ports are now added to the VM.

    What to Do Next

    Start Cisco IOS XRv Router VM and telnet to the serial ports in the terminal. Wait for the LR-PLANE-READY DECLARATION and then:
    • on the demo locked image, login with hardcoded username/password combinations.
    • on the production image, you will be prompted to configure a root-system username and password, which can subsequently use to log in.
    Interfaces are up and you can ping the default gateway. Now you are ready to configure the Cisco IOS XRv Router.

    Cisco IOS XRv Router Deployment on KVM/QEMU

    Kernel-based Virtual Machine (KVM) is a virtualization infrastructure for the Linux kernel. QEMU (Quick EMUlator) is a free and open-source software product that performs hardware virtualization. You can run QEMU on a Cisco UCS server with KVM installed. The recommended version of QEMU for Cisco IOS XRv Router reference platform is QEMU 1.0.

    Supported Parameters

    Table 1 Supported Parameters for Cisco IOS XRv Router Deployment on KVM/QEMU
    Parameters Cisco IOS XRv Router Comments

    -nographic

    Recommended as Cisco IOS XRv Router does not support VGA.

    -m memory

    -m 4096 - minimum supported is 3072 (3 GB), maximum is 8192 (8 GB)

    -hda disk-image

    Required. Minimum/preferred size is 2 GB.

    Note   

    Do not start multiple VM instances using the same hard disk image file.

    -hdb disk-image-2

    Optional. For disk1

    -serial ...

    Requires at least one, can use up to 4 (IOS console + 3 ksh consoles)

    -cdrom ...

    Supported for configuration from CVAC. As the CD-ROM is read-only, it is safe for multiple VM instances to share a CD-ROM if desired.

    -net ... -net or

    -netdev ... -device

    The -netdev ... -device... syntax is preferred.

    Note   

    Prior to QEMU 1.4, -netdev socket may fail with the following error: Property 'e1000.netdev' can't find value 'mgmt'. If you are using sockets you must use the -net parameter instead. For other networking modes (e.g., tap) you may use -netdev without issue.

    Creating and Modifying Disk Images

    Cisco IOS XRv Router supports a secondary disk as a means to provide files beyond the base OS.

    To create and modify disk images perform these steps:

    SUMMARY STEPS

      1.    Format the disk in MSDOS (FAT32) format.

      2.    Open the disk image in guestfish.

      3.    List disk partitions.

      4.    Mount the desired partition as root filesystem.

      5.    Add the desired file to the disk.

      6.    (Optional) Verify the file is present.


    DETAILED STEPS
      Step 1   Format the disk in MSDOS (FAT32) format.

      Example:
      mkfs.msdos filedisk.vmdk
      Step 2   Open the disk image in guestfish.

      Example:
      guestfish -a filedisk.vmdk
      run
      Step 3   List disk partitions.

      Example:
      list-filesystems /dev/vda: vfat
      Step 4   Mount the desired partition as root filesystem.

      Example:
      mount /dev/vda/
      Step 5   Add the desired file to the disk.

      Example:
      upload xrvr-4.3.2.08I.pie /xrvr.pie
      Step 6   (Optional) Verify the file is present.

      Example:
      ls /xrvr.pie

      Creating Cisco IOS XRv Router Virtual Machine Using QEMU

      To create Cisco IOS XRv Router Virtual Machine using QEMU, perform these tasks:

      Before You Begin

      Before you go ahead, make sure you have QEMU emulator version 1.0.

      SUMMARY STEPS

        1.    Download xrvr-full-demo.vmdk or xrvr-full-prod.vmdk file from Cisco IOS XRv Router software installation image package and copy it to the VM Datastore.

        2.    (Optional) Create a disk1.

        3.    Start QEMU with IOS XRv image.

        4.    QEMU waits for first serial.

        5.    Start TELNET sessions to the configured serial ports in separate windows.

        6.    Cisco IOS XRv Router proceeds with TURBOBOOT.


      DETAILED STEPS
        Step 1   Download xrvr-full-demo.vmdk or xrvr-full-prod.vmdk file from Cisco IOS XRv Router software installation image package and copy it to the VM Datastore.
        Step 2   (Optional) Create a disk1.

        Example:
        qemu-img create -f vmdk blank.vmdk 1G
        Step 3   Start QEMU with IOS XRv image.

        Example:
        qemu-system-x86_64\
        -smp cores=1,sockets=8\ 
        -nographic\
        -m 8192\
        -hda xrvr-full-turboboot-prod.vmdk\
        -hdb blank.vmdk\
        -serial telnet::13101,server,wait\ 
        -serial telnet::13102,server,nowait\ 
        -serial telnet::13103,server,nowait\ 
        -net nic,model=e1000,vlan=1,macaddr=00:01:00:ff:00:0\
        
        Step 4   QEMU waits for first serial.
        Step 5   Start TELNET sessions to the configured serial ports in separate windows.

        Example:
        telnet localhost 13101 (IOS XRv Console Port)
        telnet localhost 13102 (IOS XRv Auxiliary (AUX) Port)
        
        Step 6   Cisco IOS XRv Router proceeds with TURBOBOOT.

        Examples: Cisco IOS XRv Router Deployment on KVM/QEMU

        The following examples show the deployment of Cisco IOS XRv Router on KVM/QEMU for two VMs, two NICs each, back-to-back, socket transport.
        VM 1 VM 2
        qemu-system-x86_64 \
        -nographic \
        -m 4096 \
        -hda xrvr-full-turboboot-1.vmdk \
        -serial telnet::9101,server,nowait \
        -serial telnet::9102,server,nowait \
        -net socket,listen=localhost:9001,vlan=1 \
        -net nic,model=e1000,vlan=1,macaddr=00:01:00:ff:00:00 \
        -net socket,listen=localhost:9002,vlan=2 \
        -net nic,model=e1000,vlan=2,macaddr=00:01:00:ff:00:01
        
        qemu-system-x86_64 \
        -nographic \
        -m 4096 \
        -hda xrvr-full-turboboot-2.vmdk \
        -serial telnet::9111,server,nowait \
        -serial telnet::9112,server,nowait \
        -net socket,connect=localhost:9001,vlan=1 \
        -net nic,model=e1000,vlan=1,macaddr=00:01:00:ff:00:10 \
        -net socket,connect=localhost:9002,vlan=2 \
        -net nic,model=e1000,vlan=2,macaddr=00:01:00:ff:00:11