长话短说,Ontap升级无特殊情况均可以用WebUI傻瓜式一键升级,首先导航到Ontap的升级界面,如下图:
不同版本的Ontap实际位置可能会有不同,另外注意9.5之后的版本新增从客户端添加,但实测效率和稳定性都不如从服务器,建议使用HTTP或FTP的方式,个人习惯用HTTP,好用的开源工具HFS:
将准备好的镜像直接拖入HFS,需要注意,主机多网口情况下选择正确的网卡,另外确保防火墙关闭以及与NetApp e0M的通讯正常(Ontap镜像提前在Support网站下好:https://mysupport.netapp.com/site/,需要NetApp账号)
完成后直接下一步开始预检,正常情况会出现多个黄色感叹号告警,只要不出现红色叉的告警可以忽略,直接开始升级动作,整个升级流程自动进行,全程不需要干预,大致自动升级逻辑如下:
其中需要特别说明,流程中任何两个步骤之间都会进行所有LIF,SVM以及业务的可访问性认证,中间任何一个过程中出现验证失败,都无法进入下一个步骤,换句话说,整个升级过程可能会在中间某个环节失败,但一定不会造成业务的中断(硬件等故障另说)
整个升级过程并不会很复杂,但需要注意以下事项:
1.升级过程不会造成业务中断,但经过我实际升级过程测试,在controller takeover/giveback的过程会延迟会有短时的增大,在条件允许的情况下尽量选择停机窗口或业务低谷时间段
2.升级应严格遵守官方的升级路径,截止目前9.9版本的Upgrade Path如下:
最后记录一次极为罕见的升级的故障,仅作记录,可能很难再有人会碰到,该Bug触发仅存在于9.1升级至9.2,升级过程中直接告警证书问题升级中断,同时也无法回退,经查询为9.2至9.3先前版本存在的恶性Bug,在9.3P15过后修复:
相关Bug KB:https://mysupport.netapp.com/NOW/cgi-bin/bol?Type=Detail&Display=1250500
解决方法:
进入diag模式后修改底层相关参数并重启:
cluster::*>debug smdb table capability show -node local -capability security.certificate.default.bundle.load
cluster::*>debug smdb table capability delete -node local -capability security.certificate.default.bundle.load
cluster::*>system node upgrade-revert upgrade -node local
cluster::*>debug smdb table capability_checksum_cdb modify -checksum ""
cluster::*>systemshell -node nodename "sudo killall -TERM mgwd"
整个处理过程同样不会造成业务中断