Tags
data center, Fryguy, fryguy_pa, issu, kickstart, nexus, nexus 7000, nexus 7010, nxos
Before we release our Nexus 7000’s to the productions packets, we are upgrading to a newer version of code. Since we are doing this, I figured it would be a good opportunity to document the ISSU upgrade process.
The Nexus 7000 has two images in order to run. The first is a Kickstart image and the second is the actual System image. The Kickstart image contains the Linux kernel, basic drivers, and initial file system. The System Image contains the system software and infrastructure code.
I prefer to use FTP to transfer large files; you can also copy them via TFTP or USB if you wish. For this post, I will demonstrate FTP.
1. Start your local FTP server (or place files on common FTP server). In my case the IP of the FTP server is 10.1.3.11
2. On the Nexus 7000, execute the following command to copy the kickstart image using the management VRF in this example:
N7K1# copy ftp://nexus@10.1.3.11/n7000-s1-kickstart.5.0.3.bin bootflash://sup-local/
Enter vrf (If no input, current vrf ‘default’ is considered): management
Password: nexus
[## ] 4.15MB
This is the progress indicator bar that shows you transfer status
***** Transfer of file Completed Successfully *****
3. Now you can copy the NXOS code to the bootflash:
N7K1# copy ftp://nexus@10.1.3.11/n7000-s1-dk9.5.0.3.bin bootflash://sup-local/
Enter vrf (If no input, current vrf ‘default’ is considered): management
Password: nexus
[## ] 4.15MB
***** Transfer of file Completed Successfully *****
4. Now that you have the files on the Active supervisor, copy them to the standby supervisor:
N7K1# copy bootflash:/n7000-s1-dk9.5.0.3.bin bootflash://sup-2/
Copy progress 100% 107430KB !This is the progress indicator bar that shows you transfer status
N7K1# copy bootflash:/n7000-s1-kickstart.5.0.3.bin bootflash://sup-2/
Copy progress 100% 24522KB
5. To validate that you have successfully copied to the standby supervisor, you should also attach to it and check the directory.
N7K1# attach module 6
Attaching to module 6 …
To exit type ‘exit’, to abort type ‘$.’
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0 or the GNU
Lesser General Public License (LGPL) Version 2.1. A copy of each
such license is available at (SNIP)
N7K1(standby)# dir
3610 Jul 14 20:37:16 2010 aaa_cnv.log
16384 Jan 13 12:40:30 2008 lost+found/
100118021 Jan 14 11:11:23 2008 n7000-s1-dk9.4.2.4.bin
107369112 Jul 14 19:58:04 2010 n7000-s1-dk9.5.0.2a.bin
107430217 Aug 10 14:14:19 2010 n7000-s1-dk9.5.0.3.bin
24727552 Jan 14 11:11:37 2008 n7000-s1-kickstart.4.2.4.bin
23613440 Jul 14 19:56:49 2010 n7000-s1-kickstart.5.0.2a.bin
24522752 Aug 10 14:21:11 2010 n7000-s1-kickstart.5.0.3.bin
4096 Jan 13 14:29:21 2008 vdc_2/
4096 Jan 13 14:29:21 2008 vdc_3/
4096 Jan 13 14:29:21 2008 vdc_4/
Usage for bootflash://
513769472 bytes used
1296130048 bytes free
1809899520 bytes total
N7K1(standby)#
6. Now you can return to the active supervisor by typing exit
N7K1(standby)# exit
rlogin: connection closed.
N7K1#
7. Before continuing, make sure that all your configs are saved and backed up to an external device. I suggest copying them to a TFTP server for disaster recovery. A rollback will automatically be created when you perform the upgrade, but an added insurance policy is suggested.
N7K1# checkpoint file bootflash:081010_MainVDC.cfg
Done
N7K1# switchto vdc coreSwitch1
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0 or the GNU
Lesser General Public License (LGPL) Version 2.1. A copy of each
such license is available at
(SNIP)
N7K1-CoreSwitch1# checkpoint file bootflash:081010_VDC1.cfg
Done
N7K1-CoreSwitch1# switchback
N7K1#
8. Prior to the upgrade of the code, I highly recommend checking the impact of the upgrade. This is a good command to run
when you are preparing your Chance Controls as you can validate the file as well as the impact.
You can do this by using the following command:
N7K1# show install all impact kickstart bootflash:n7000-s1-kickstart.5.0.3.bin system bootflash:n7000-s1-dk9.5.0.3.bin
Verifying image bootflash:/n7000-s1-kickstart.5.0.3.bin for boot variable “kickstart”.
[####################] 100% — SUCCESS
Verifying image bootflash:/n7000-s1-dk9.5.0.3.bin for boot variable “system”.
[####################] 100% — SUCCESS
Verifying image type.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “bios” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “system” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “kickstart” version from image bootflash:/n7000-s1-kickstart.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “cmp” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “cmp-bios” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Performing module support checks.
[####################] 100% — SUCCESS
Notifying services about system upgrade.
[####################] 100% — SUCCESS
Compatibility check is done:
Module bootable Impact Install-type Reason
—— ——– ————– ———— ——
2 yes non-disruptive rolling
3 yes non-disruptive rolling
4 yes non-disruptive rolling
5 yes non-disruptive reset
6 yes non-disruptive reset
7 yes non-disruptive rolling
8 yes non-disruptive rolling
9 yes non-disruptive rolling
10 yes non-disruptive rolling
[==== Output Omitted ====]
N7K1#
Note: The key piece of information here is the Impact column. As you can see here,
this upgrade is non-disruptive (call it minimal) to traffic. The only two modules
that need to be reset are the Supervisors (Mod 5 and 6)
9. Once you have validated the images, you can now proceed with the upgrade. To upgrade the images, use the install command.
N7K1# install all kickstart bootflash:n7000-s1-kickstart.5.0.3.bin system bootflash:n7000-s1-dk9.5.0.3.bin
Verifying image bootflash:/n7000-s1-kickstart.5.0.3.bin for boot variable “kickstart”.
[####################] 100% — SUCCESS
Verifying image bootflash:/n7000-s1-dk9.5.0.3.bin for boot variable “system”.
[####################] 100% — SUCCESS
Verifying image type.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “bios” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “system” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “kickstart” version from image bootflash:/n7000-s1-kickstart.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “lc1n7k” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “cmp” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Extracting “cmp-bios” version from image bootflash:/n7000-s1-dk9.5.0.3.bin.
[####################] 100% — SUCCESS
Performing module support checks.
[####################] 100% — SUCCESS
Notifying services about system upgrade.
[####################] 100% — SUCCESS
Compatibility check is done:
Module bootable Impact Install-type Reason
—— ——– ————– ———— ——
2 yes non-disruptive rolling
3 yes non-disruptive rolling
4 yes non-disruptive rolling
5 yes non-disruptive reset
6 yes non-disruptive reset
7 yes non-disruptive rolling
8 yes non-disruptive rolling
9 yes non-disruptive rolling
10 yes non-disruptive rolling
Images will be upgraded according to following table:
Module Image Running-ersion(pri:alt) New-Version Upg-Required
[===== Output Omitted ====]
Note: As you can see, it does the impact analysis for you anyways when you do the install.
You will now need to confirm if you do want to do the upgrade by entering Y
Do you want to continue with the installation (y/n)? [n] y
Install is in progress, please wait.
Performing runtime checks.
[####################] 100% — SUCCESS
Syncing image bootflash:/n7000-s1-kickstart.5.0.3.bin to standby.
[####################] 100% — SUCCESS
Syncing image bootflash:/n7000-s1-dk9.5.0.3.bin to standby.
[####################] 100% — SUCCESS
Setting boot variables.
[####################] 100% — SUCCESS
Performing configuration copy.
[####################] 100% — SUCCESS
Module 2: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 3: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 4: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 5: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 6: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 7: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 8: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 9: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
Module 10: Refreshing compact flash and upgrading bios/loader/bootrom.
Warning: please do not remove or power off the module at this time.
[####################] 100% — SUCCESS
2010 Aug 10 15:22:34 N7K1 %PLATFORM-2-MOD_REMOVE: Module 6 removed (Serial number JAF14XXXXXX)
2010 Aug 10 15:26:43 N7K1 %CMPPROXY-STANDBY-2-LOG_CMP_UP: Connectivity Management processor(on module 6) is now UP
Module 6: Waiting for module online.
— SUCCESS
Notifying services about the switchover.
[####################] 100% — SUCCESS
“Switching over onto standby”.
2010 Aug 10 15:33:55 N7K1 %$ VDC-1 %$ %CMPPROXY-STANDBY-2-LOG_CMP_UP: Connectivity Management processor(on module 5) is now UP
Module 2: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 3: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 4: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 7: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 8: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 9: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Module 10: Non-disruptive upgrading.
[####################] 100% — SUCCESS
Install has been successful.
User Access Verification
N7K1 login:
10. And just like that, both supervisors have been upgraded and are running the new code:
N7K1# sh ver
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained in this software are
owned by other third parties and used and distributed under
license. Certain components of this software are licensed under
the GNU General Public License (GPL) version 2.0 or the GNU
Lesser General Public License (LGPL) Version 2.1. A copy of each
such license is available at
(SNIP)
Software
BIOS: version 3.22.0
loader: version N/A
kickstart: version 5.0(3)
system: version 5.0(3)
BIOS compile time: 02/20/10
kickstart image file is: bootflash:/n7000-s1-kickstart.5.0.3.bin
kickstart compile time: 7/12/2010 18:00:00 [07/24/2010 11:47:30]
system image file is: bootflash:/n7000-s1-dk9.5.0.3.bin
system compile time: 7/12/2010 18:00:00 [07/24/2010 13:21:35]
rickmur said:
You know it's not necessary to copy the image to the second supervisor. It's even not necessary to copy the image up front. You can just issue install all kickstart ftp://x.x.x.x/image.bin system ….. and the install command will first copy the image from FTP to the active sup and then as a first step in the upgrade process, distribute that to the second sup. Even easier 🙂
Of course if you want to have FULL control on what you are doing you would want to do this, but the install command will never procede if it can't copy the file correctly or if verification of it fails (on both sups!)
fryguypa said:
Agreed. I tend to lean towards the overly cautious approach.
Thanks for the input, much appreciated!
Pingback: Bookmarks (2010-08-12) « My Network Stories
Pingback: Cisco Nexus 7000 Stuff | routersysco