前不久升级一台比较老旧的Nexus3000 Series,结果就碰到了这个问题。
升级过程
这个没什么好说的,就是一系列的常规操作。
轮流升级,先备后主。
确认bootflash大小,备份旧版本bin和kickstart,license。
通过厂商给的过渡版本和kickstart文件,以及最新版本的文件。核对md5后上传至交换机。
这一步发现新版本的NXOS直接上传会无法直接升级,需要升级到过渡版本后出现新命令compact,通过该命令上传文件至交换机。
install过渡版本6,安装前会确认与现网配置是否会冲突和破坏。
升级完毕后返回终端,提示10s后重启。
重启确认version无误,继续升级新版本7。
install过渡版本,安装前会确认与现网配置是否会冲突和破坏。
升级完毕后返回终端,提示10s后重启。
结果
环境是主备两台Nexus3000,做了vpc,没有注意到这点。导致备机升级到新版本7后,版本跨度过大导致主机的vpc产生了未定义的错误,使得主机所有端口errdisable和suspend by vpc,端口都掉了。
解决办法是紧急下线主机,备机先单台撑住,把peer-link端口关闭。隔离升级主机版本。
升级完后打开端口,好了……
回溯
其实这个问题在cisco的官方guide里面有说明,不支持跨版本的vpc。然而当时厂商给的升级方案也没有注意到这点,结果就崩了……
其次没有做下线隔离,因为之前都是让厂商来做。为什么这次没让厂商来做,因为这两台设备已经接近EOL了所以没有续保……