一种SAS卡固件在线升级可靠性的检测方法与流程

文档序号:16207096发布日期:2018-12-08 07:14阅读:642来源:国知局
一种SAS卡固件在线升级可靠性的检测方法与流程

本发明涉及计算机技术领域,更具体的说是涉及一种sas卡固件在线升级可靠性的检测方法。

背景技术

sas(serialattachedscsi,串行连接scsi)是新一代的scsi技术,和现在流行的sata(serialadvancedtechnologyattachment,串行高级技术附件)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。sas是并行scsi接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ata硬盘的兼容性。作为一种新的存储接口技术,sas不仅在功能上可与fibrechannel媲美,还具有兼容sata的能力,因而被业界公认为取代并行scsi的不二之选。sas的优势主要体现在:灵活性,可以兼容sata,为用户节省投资;扩展性,一个sas域最多可以直连16384个设备。基于sas接口技术的以上优点,sas卡在服务器领域具有非常广泛的应用,sas卡通过背板管理和连接硬盘,为服务器系统提供高容量的存储设备。

在通用服务器存储子系统中,sas卡是整个存储链路的核心,在上行与操作系统、下行与硬盘间的交互起到了重要作用。通常,为了解决客户端出现的掉盘、系统报错等问题,会需要升级sas卡固件来达到消除故障的目的。

一般情况下,为了不影响客户主机业务的运行,需要一种在线升级sas卡固件的方法。检查固件升级后是否成功的标志,一般是在系统下通过命令行工具或软件等获取sas卡固件版本号与所升级的固件版本号是否一致。此方法仅从操作系统端获取sas卡固件版本,而无法确定sas卡中运行的固件与烧录到sas卡中的固件是否完全相同。



技术实现要素:

针对以上问题,本发明的目的在于提供sas卡固件在线升级可靠性的检测方法,将sas卡固件以文件的形式存放在系统下,获取sas卡固件原文件和读取出的固件的校验码,通过比较两固件文件校验码是否相同判断sas卡固件升级的可靠性。

本发明为实现上述目的,通过以下技术方案实现:一种sas卡固件在线升级可靠性的检测方法,其特征在于,包括如下步骤:

步骤1:获取sas卡固件原文件校验码;

步骤2:在线升级sas卡固件;

步骤3:获取sas卡固件文件;

步骤4:获取sas卡固件文件校验码;

步骤5:比较sas卡固件原文件校验码和sas卡固件文件校验码,如果相同,则升级成功;如果不同,则升级失败。

进一步,在步骤1之前还包括:

步骤0:在主板sata接口安装linux操作系统,sas卡接背板并满配硬盘,在linux系统下安装sas卡驱动。

进一步,在所述步骤1之前还包括:创建shell脚本文件test.sh并拷贝至linux系统下任意目录中。

进一步,所述步骤1还包括:利用cksum命令获取sas卡固件原文件校验码。

进一步,所述步骤1还包括:利用md5sum命令获取sas卡固件原文件校验码。

进一步,所述步骤2具体为:利用sas3flsh工具在线升级sas卡固件。

进一步,所述步骤3具体为:利用sas3flsh工具获取sas卡固件文件。

进一步,利用cksum命令或md5sum命令获取sas卡固件文件校验码。

对比现有技术,本发明有益效果在于:本发明提出的一种sas卡固件在线升级可靠性的检测方法,利用linux操作系统下的sas卡命令行工具sas3flsh将sas卡固件在线烧录到sas卡中。不仅如此,此工具还可以将sas卡固件从sas卡中读取出来,以文件形式存放在系统下。然后利用linux系统下shell脚本调用系统命令cksum或md5sum获取sas卡固件原文件和读取出的固件文件的校验码,通过脚本函数比较两文件的校验码是否相同来判断两文件是否一致,从而判断sas卡固件在线升级是否可靠。

本发明,在通用服务器搭配sas卡条件下,具体实现了下列功能:

(1)通过sas卡命令行工具读取sas卡固件,并以文件形式存放系统下。

(2)利用shell脚本调用系统命令cksum或md5sum获取sas卡固件原文件和读取出的固件的校验码。

(3)通过shell脚本比较两固件文件校验码是否相同判断sas卡固件升级的可靠性。

本发明利用linux操作系统实现,灵活易用,适用于多种服务器型号。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

附图1是本发明实施例一的方法流程图。

附图2是本发明实施例二的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式做出说明。

实施例一:

如图1所示的一种sas卡固件在线升级可靠性的检测方法,其特征在于,包括如下步骤:

步骤1:获取sas卡固件原文件校验码。

步骤2:在线升级sas卡固件。

步骤3:获取sas卡固件文件。

步骤4:获取sas卡固件文件校验码。

步骤5:比较sas卡固件原文件校验码和sas卡固件文件校验码,如果相同,则升级成功;如果不同,则升级失败。

本实施例能够将sas卡固件在线烧录到sas卡中。不仅如此,还可以将sas卡固件从sas卡中读取出来,以文件形式存放在系统下。然后获取sas卡固件原文件和读取出的固件文件的校验码,通过比较两文件的校验码是否相同来判断两文件是否一致,从而判断sas卡固件在线升级是否可靠。

实施例二:

如图2所示的一种sas卡固件在线升级可靠性的检测方法,其特征在于,包括如下步骤:

步骤1:在主板sata接口安装linux操作系统,sas卡接背板并满配硬盘,在linux系统下安装sas卡驱动。

通过本步骤,为本发明的实施搭建了有效的测试环境。

步骤2:创建shell脚本文件test.sh并拷贝至linux系统下任意目录中。

步骤3:利用cksum或md5sum命令获取sas卡固件原文件校验码。

具体命令为:cksumfw.bin或md5sumfw.bin。

步骤4:利用sas3flsh工具在线升级sas卡固件。

步骤5:利用sas3flsh工具获取sas卡固件文件。

步骤6:利用cksum或md5sum命令获取sas卡固件文件校验码。

具体命令为:cksumimage.fw或md5sumimage.fw。

步骤7:比较sas卡固件原文件校验码和sas卡固件文件校验码,如果相同,则升级成功;如果不同,则升级失败。

在上述基础上,shell脚本解析如下:

1shell脚本获取sas卡固件原文件校验码:

1)利用cksum命令获取校验码:

cksumfw.bin>$file_dir/fw_original_cksum.txt

original_fw_cksum=$(cat$file_dir/fw_original_cksum.txt|awk-f”'{print$1}')

2)利用md5sum命令获取校验码:

cksumfw.bin>$file_dir/fw_original_md5.txt

original_fw_md5sum=`cat$file_dir/fw_original_md5.txt|awk-f”'{print$1}'`

2shell脚本获取sas卡读取出的固件文件校验码:

1)利用cksum命令获取校验码:

cksumimage.fw>$file_dir/fw_upload_cksum.txt

upload_fw_cksum=$(cat$file_dir/fw_upload_cksum.txt|awk-f”'{print$1}')

2)利用md5sum命令获取校验码:

md5sumimage.fw>$file_dir/fw_original_md5.txt

original_fw_md5sum=`cat$file_dir/fw_original_md5.txt|awk-f”'{print$1}'`

3比较sas卡固件原文件与读取出的固件文件校验码:

1)利用cksum获取的校验码比较:

2)利用md5sum获取的校验码比较:

特别指出的是,以上脚本中利用linux系统命令cksum和md5sum两种方式获取固件文件校验码的方式,任选一种即可。

本实施例提出的一种sas卡固件在线升级可靠性的检测方法,利用linux操作系统下的sas卡命令行工具sas3flsh将sas卡固件在线烧录到sas卡中。不仅如此,此工具还可以将sas卡固件从sas卡中读取出来,以文件形式存放在系统下。然后利用linux系统下shell脚本调用系统命令cksum或md5sum获取sas卡固件原文件和读取出的固件文件的校验码,通过脚本函数比较两文件的校验码是否相同来判断两文件是否一致,从而判断sas卡固件在线升级是否可靠。

结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1