Exadata中Infiniband交换机升级

Posted missyou_shiyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Exadata中Infiniband交换机升级相关的知识,希望对你有一定的参考价值。

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交换机主机上:

将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

#

 

5、检查infiniband交换机的根目录(/)剩余空间:

# 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

 

13、检查SM权限是否为8(仅限于spine IB交换机)

# 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服务已经启动

 

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住。

 

以上是关于Exadata中Infiniband交换机升级的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE EXADATA 12.1.2.3.7 虚拟环境模拟 (一)

Large Writes in Exadata FlashCache

[转帖]InfiniBand 主流厂商 和 产品分析

传统网络栈与InfiniBand栈对比图

InfiniBand主流厂商和产品分析

Persistent Memory in Exadata X8M