Migrating the operating system of Cisco N9000-series switches

To manage a Cisco N9000-series switch with the Cisco Nexus Hyperfabric cloud controller, you must migrate the switch's software to the Nexus Hyperfabric operating system. Likewise, if you no longer want to manage a N9300 switch with Nexus Hyperfabric, you can migrate the switch's software back to NX-OS.

Supported Cisco N9000-series switches for migration

You can migrate these switches to or from the Cisco Nexus Hyperfabric operating system:

  • Cisco N93108TC-FX3
  • Cisco N9164E-NS4-O

Supported Cisco N9000-series switch operating system migration paths

This table specifies the supported paths for migrating between Cisco N9000-series switch operating systems.

Supported Cisco N9000-series switch operating system migration paths

From \ To

NX-OS

ACI

Nexus Hyperfabric

NX-OS

Upgrade/downgrade

Direct migration

Direct migration

ACI

Direct migration

Upgrade/Downgrade

ACI → NX-OS → Nexus Hyperfabric

Nexus Hyperfabric

Direct migration

Nexus Hyperfabric → NX-OS → ACI

Upgrade/downgrade

Migrate from NX-OS to the Nexus Hyperfabric operating system

Make sure you meet these requirements before migrating a switch's operating system:

  • The switch must have reachability to hyperfabric.cisco.com. If the switch does not have reachability, you must update the switch configuration so that it will have reachability.
  • The switch must have NX-OS version 10.7(2) or later if you want to use the boot system command. Otherwise, the switch must have NX-OS version 10.5(1) or later and you can only use Bash commands, which is documented in this procedure.

Follow these steps to migrate from NX-OS to the Nexus Hyperfabric operating system.


Step 1

Connect to the switch using Telnet, SSH, or the serial console.

For Telnet, follow these substeps.

  1. Connect using either the hostname or IP address of the switch.

    host$ telnet {hostname:port | ip_address:port}
  2. At the switch login prompt, enter your username and password.

    If the switch does not have a password configured, press Enter.

For SSH, follow these substeps.

  1. Connect using either the hostname or IP address of the switch and optionally specify the port and username.

    host$ ssh [-D port] {[user@] hostname | ip_address}
  2. At the switch login prompt, enter your username and password.

    If the switch does not have a password configured, press Enter.

For the serial console, see the "Configuring Terminal Settings and Sessions" chapter of the Cisco N9000 Series NX-OS Fundamentals Configuration Guide for information and procedures.

Step 2

See if the Nexus Hyperfabric operating system binary file is already present in the switch's bootflash.

switch# ls -lrt /bootflash

For example, for the N93108TC-FX3 switch, look for a filename similar to HFSONIC-N9K-C93108TC-FX3-202505c.1.0-0323.bin. The filename must include the product ID of your switch. The exact version number might be different.

If the binary is not present, follow these substeps.

  1. Download the Nexus Hyperfabric operating system binary from the Software Download page.

    For example, you can download the N93108TC-FX3 binary from here.

  2. Copy the binary to the bootflash.

    This example command uses SCP to copy the binary, but you can use other protocols:

    switch# copy scp: bootflash:

    Answer the copy prompts as follows:

    • source filename: Enter the binary filename.
    • vrf: Enter the VRF instance where you want to copy the file. If you press Enter without specifying a VRF instance name, the copy command uses default.
    • hostname for the scp server: Enter the hostname or IP address of the SCP server. If you used a different protocol, the copy command prompts you as appropriate for the protocol that you used.
    • username: Enter your username.

Step 3

Convert the operating system to Nexus Hyperfabric.

  1. Start a new Bash session and switch to the root user.

    switch# configure terminal
    switch(config)# feature bash-shell
    switch(config)# run bash sudo su
  2. Install the binary.

    bash-4.4# sh binary_filename [--proxy proxy_address --proxy-type type --proxy-user username --proxy-password password --no-check-connectivity]
    • --proxy proxy_address: Specifies the HTTP/S proxy URL for cloud connectivity.
    • --proxy-type type: Specifies the proxy protocol type. These are the possible types:
      • http
      • https
      • socks5
    • --proxy-user username: Specifies the proxy authentication username.
    • --proxy-password password: Specifies the proxy authentication password.
    • --no-check-connectivity: Skips the cloud connectivity probe.

    The parameters are optional; include only the parameters that you need.

  3. After the command verifies the integrity of the binary, use the claim code in the output to claim the device in the Nexus Hyperfabric cloud controller.

    The code is valid for two hours. For more information, see Claim a switch using a claim code in Cisco Nexus Hyperfabric — Getting Started.

    After you claimed this first switch, you can claim any addition switches without using a claim code. For more information, see Claim a discovered device without using a claim code in Cisco Nexus Hyperfabric — Getting Started.

    After the upgrade completes, the switch reboots.

  4. If the conversion succeeded, access the switch using the serial console, enter the privileged mode, and configure the terminal.

    Configure the terminal so that its settings match the serial console setting on the switches running the Nexus Hyperfabric operating system. By default, NX-OS uses different settings.

    This configuration example specifies 8 lines and 115200 baud for the Nexus Hyperfabric operating system:

    switch# enable
    switch# configure terminal
    switch(config)# line 8
    switch(config-line)# exit
    switch(config)# line console
    switch(config-console)# speed 115200
    switch(config-console)# end

If the conversion is successful, then the switch will be automatically connected to the Nexus Hyperfabric cloud controller at hyperfabric.cisco.com and the subsequent process will be the same as onboarding a new switch with Nexus Hyperfabric. The conversion preserves the switch's IP address, as well as the proxy address if you configured one.

If the conversion process fails due to a connectivity issue with the Nexus Hyperfabric cloud controller, the switch reverts back to the NX-OS image.

During Nexus Hyperfabric operating system image creation, if you abandon the conversion process or if there is a power failure after the cloud probe succeeds, the switch may drop back to the bootloader. In this case, you must copy the NX-OS image to the switch, and then you can boot the switch back in NX-OS mode. For more information about recovering from the bootloader, see "Recovery from the loader> Prompt" in Cisco N9000 Series NX-OS Troubleshooting Guide, Release 10.6(x). Even though this document is for the 10.6 releases, the procedure is the same for later releases.

Migrate from the Nexus Hyperfabric operating system to NX-OS

Before migrating a switch's operating system, ensure that you have access to the switch's console menu.

Follow these steps to migrate from the Nexus Hyperfabric operating system to NX-OS.


Step 1

Connect the switch's OOB management interface to an Internet connection.

Step 2

Log in to the serial console using your username and password.

Step 3

In the Craft console, select Factory-reset and Reboot Switch.

The console will prompt for 3 parameters: image location, username, and password. The image location must be a hostname or IP address with the full path.

Step 4

Select Restore NxOS.

Step 5

If the conversion succeeded, access the switch using the serial console, enter the privileged mode, and configure the terminal.

Configure the terminal so that its settings match the serial console setting on the switches running NX-OS. By default, Nexus Hyperfabric operating system uses different settings.

This configuration example specifies 8 lines and 9600 baud for NX-OS:

switch# enable
switch# configure terminal
switch(config)# line 8
switch(config-line)# exit
switch(config)# line console
switch(config-console)# speed 9600
switch(config-console)# end