Infiniband交换机的软件补丁包,随着软件版本的不同,其发布方式也有所变化,从如下图表可以看出,1.3.3-2这个版本是一个分水岭,这个版本及以前的版本,补丁包是单独下载的,而之后的版本,infiniband的升级包跟随着存储节点的补丁包一起发布。
图 Infiniband交换机的软件补丁包
1.3.3-2版本之前
1、1.3.3-2及之前的版本,升级方法基本一样,但不同的版本对应的升级包也不同。
2、有些升级包是不允许跨版本升级的。例如:如果想将36口的Infiniband交换机升级到1.3.3-2版本,则交换机的当前版本必须为1.1.3-2或1.3.3-1。如果你的Infiniband交换机当前版本为1.0.1-1,则你必须首先将版本升级到1.1.3-2 或1.3.3-2, 然后再升级到1.3.3-2版本。细节内容在升级之前还需要参考MOS文档888828.1。
3、如果Exadata机架上存在spine IB交换机,则需要先升级spine IB交换机。
下面以从1.1.3-2升级到1.3.3-2为例,示范1.3.3-2及之前的版本Infiniband的升级过程:
1、下载IB交换机升级补丁包12373676和11891229至计算节点。
2、解压缩升级包:
# unzip p11891229_133_Generic.zip # tar -zxvf SUN_DCS_36p_1.3.3.tar.gz # unzip p12373676_112100_Linux-x86-64.zip |
3、将解压后的升级包上传至infiniband交换机主机上:
# scp sundcs_36p_repository_1.3.3_2.pkg Infiniband主机名:/tmp # scp ibswitchcheck.sh Infiniband主机名:/tmp |
将sundcs_36p_repository_1.3.3_2.pkg和ibswitchcheck.sh文件上传至infiniband交换机主机上的/tmp目录中。
4、检查infiniband交换机的/tmp目录剩余空间:
# df -h /tmp Filesystem Size Used Avail Use% Mounted on tmpfs 250M 240K 249M 1% /tmp # |
# df -h / Filesystem Size Used Avail Use% Mounted on /dev/hda2 471M 287M 161M 65% / # |
确保根目录(/)有足够的剩余空间,否则,需要删除根目录(/)中的无效文件。
6、检查infiniband交换机有足够的剩余内存:
# free -m total used free shared buffers cached Mem: 498 104 393 0 12 47 -/+ buffers/cache: 45 453 Swap: 0 0 0 # |
7、关闭infiniband交换机的subnet manager:
# disablesm |
8、运行升级前检查:
# /tmp/ibswitchcheck.sh pre |
如果所有检查的结果都是 [SUCCESS],可以继续进行升级。
实际检查过程中发现,3台机器都没有设置NTP服务器,按照客户给的内部NTP服务器地址设置NTP服务器,(修改/etc/ntp.conf ,加入server XX.XX.XX.XX)启动NTPD服务:service ntpd start
再次执行#/tmp/ibswitchcheck.sh pre 通过。
9、运行spsh 进入 ILOM CLI:
# spsh Sun(TM) Integrated Lights Out Manager Version ILOM 3.0 r47111 Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. -> |
10、正式升级:
->load -source /tmp/sundcs_36p_repository_1.3.3_2.pkg |
(选择Yes确认升级)
11、再次关闭subnet manager:
# disablesm |
12、校验/conf/configvalid的内容为1,如果是0,设置成1:
#echo 1 > /conf/configvalid |
# setsmpriority list |grep smpriority |
如果升级的是spine IB交换机,则以上命令的输出应该为8,如果输出不是8,则需要使用以下命令手动设置:
# setsmpriority 8 |
注意:
如果升级的是leaf IB交换机,则上述命令的输出应该为5。
14、重启IB交换机:
# reboot |
15、启动subnet manager:
# enablesm |
16、做升级后检查:
# /tmp/ibswitchcheck.sh post |
(升级后文件系统整个被刷新,这个脚本需要再次上传到IB交机)
1.3.3-2版本之后
注意:
1、1.3.3-2之后的版本,Infiniband的升级方法有所变化,升级工具也从以前的ILOM升级改变成现在的patchmgr工具。
说明:
1、Infiniband的升级包和升级工具(patchmgr)是随着存储节点的升级包一起发布的。
2、升级工具(patchmgr)是在其中的一个计算节点发起升级命令,来升级所有的infiniband交换机版本。
3、infiniband交换机的升级只能是" rolling"(滚动)方式,也即一台一台地串行升级。即使业务系统和数据库都停止,也无法并行地升级infiniband交换机。
4、如果一台Exadata中含有"Spine"(骨干)infiniband交换机,则必须先升级Spine infiniband交换机。
下面以从2.1.5-1升级到2.1.8-1为示例,示范1.3.3-2及之前的版本Infiniband的升级过程:
1、在计算节点DB01运行ibswitches命令:
(DB01)# ibswitches
说明:
(1).在升级IB交换机时,如果不指定ibswitch_group配置文件(ibswitch_group配置文件列出将进行升级的IB交换机,一行一个IB交换机名或IP),则默认会将ibswitches命令中显示出来的所有IB交换机都进行升级,如果是级联环境,需要注意这个。
(2).如果使用ibswitch_group配置文件,则该文件必须放在升级包目录下。
2、确保所有IB交换机上的ntpd服务已经启动
(root)# chkconfig --level 2345 ntpd on (root)# chkconfig --list | grep ntpd ntpd 0:off 1:off 2:off 3:on 4:off 5:off 6:off |
3、确保计算节点DB01与IB交换机的SSH连接性互信已经配置:
(DB01)# dcli -g /u03/12.1.2.3.3/CELL/patch_12.1.2.3.3.161109/ibswitch_group -l root -k (DB01)# dcli -g /u03/12.1.2.3.3/CELL/patch_12.1.2.3.3.161109/ibswitch_group -l root date |
4、确保IB交换机的主机名带有域名:
# hostname |
确保返回的主机名是带有域名的。如果主机名不带域名,则必须修改/etc/sysconfig/network文件中的HOSTNAME值,然后重启系统生效。
5、确保IB交换机的/etc/hosts文件中有IB交换机的主机名解析条目:
格式要求:
<ip_address> <fully_qualified_hostname> <short_hostname>
例如:
10.244.37.156 slcc31sw-ibs0.oracle.com slcc31sw-ibs0 |
6、设置环境变量:
(DB01)# export EXADATA_IMAGE_IBSWITCH_ROLLBACK_VERSION=1.3.3-2 |
注意:
只有当前的IB交换机版本为1.3.3-2时,才设置该环境变量,其它版本无需设置
7、升级前检查:
(DB01)# cd /u03/12.1.2.3.3/CELL/patch_12.1.2.3.3.161109 (DB01)# ./patchmgr –ibswitches ibswitch_group -upgrade -ibswitch_precheck [-force] |
说明:
1、[-force] 选项会忽略IB交换机拓扑和计算节点到IB交换机连通性方面的报错,这方面的错误不影响IB交换机的升级。
2、升级前的预检查必须全部"SUCCESS",如果有错误出现,在升级之前必须解决这些错误,然后再次执行升级前的预检查,直到全部"SUCCESS"。
8、正式升级:
(DB01)# ./patchmgr -ibswitches -upgrade [-force] |
说明:
如果只升级Exadata机架中的一部分infiniband交换机时,则先配置ibswitch_group文件,然后使用以下命令:
(root)# ./patchmgr -ibswitches ibswitch_group -upgrade |
9、升级后检查:
检查升级过程中生成的日志,是否为"SUCCESS",如果在升级过程中出现错误,可以修复这些错误后,再次执行升级命令。
注意事项:
1、IB交换机的升级不能并行执行,它会一台接着一台地升级。建议同一个RACK中的IB交换机都放入一个配置文件中。
2、不要使用串口,例如ILOM,来进行升级工作,只能使用以太网来升级,否则升级工作会hung住。