Infiniband交换机的软件补丁包,随着软件版本的不同,其发布方式也有所变化,从如下图表可以看出,1.3.3-2这个版本是一个分水岭,这个版本及以前的版本,补丁包是单独下载的,而之后的版本,infiniband的升级包跟随着存储节点的补丁包一起发布。
图 Infiniband交换机的软件补丁包
1.3.3-2版本之前
1、1.3.3-2及之前的版本,升级方法基本一样,但不同的版本对应的升级包也不同。
3、如果Exadata机架上存在spine IB交换机,则需要先升级spine IB交换机。
下面以从1.1.3-2升级到1.3.3-2为例,示范1.3.3-2及之前的版本Infiniband的升级过程:
1、下载IB交换机升级补丁包12373676和11891229至计算节点。
# 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 |
将sundcs_36p_repository_1.3.3_2.pkg和ibswitchcheck.sh文件上传至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% / # |
确保根目录(/)有足够的剩余空间,否则,需要删除根目录(/)中的无效文件。
# 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 |
# /tmp/ibswitchcheck.sh pre |
如果所有检查的结果都是 [SUCCESS],可以继续进行升级。
再次执行#/tmp/ibswitchcheck.sh pre 通过。
# 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. -> |
->load -source /tmp/sundcs_36p_repository_1.3.3_2.pkg |
# disablesm |
12、校验/conf/configvalid的内容为1,如果是0,设置成1:
#echo 1 > /conf/configvalid |
# setsmpriority list |grep smpriority |
如果升级的是spine IB交换机,则以上命令的输出应该为8,如果输出不是8,则需要使用以下命令手动设置:
# setsmpriority 8 |
如果升级的是leaf IB交换机,则上述命令的输出应该为5。
# reboot |
# enablesm |
# /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的升级过程:
(2).如果使用ibswitch_group配置文件,则该文件必须放在升级包目录下。
(root)# chkconfig --level 2345 ntpd on |
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 |
# 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 |
(DB01)# export EXADATA_IMAGE_IBSWITCH_ROLLBACK_VERSION=1.3.3-2 |
只有当前的IB交换机版本为1.3.3-2时,才设置该环境变量,其它版本无需设置
(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"。
(DB01)# ./patchmgr -ibswitches -upgrade [-force] |
如果只升级Exadata机架中的一部分infiniband交换机时,则先配置ibswitch_group文件,然后使用以下命令:
(root)# ./patchmgr -ibswitches ibswitch_group -upgrade |
检查升级过程中生成的日志,是否为"SUCCESS",如果在升级过程中出现错误,可以修复这些错误后,再次执行升级命令。
1、IB交换机的升级不能并行执行,它会一台接着一台地升级。建议同一个RACK中的IB交换机都放入一个配置文件中。
2、不要使用串口,例如ILOM,来进行升级工作,只能使用以太网来升级,否则升级工作会hung住。