一种硬盘盘位识别和故障诊断方法及其服务器设备的制造方法_3

文档序号:9708185阅读:来源:国知局
00〃
[0056] ahci4-chan = "ata5. 00〃
[0057] ahci5-chan = "ata6. 00〃
[0058] S2":依次对硬盘通道上的硬盘进行侦测,读取挂接在所述硬盘盘位上的硬盘信 息,建立硬盘通道与硬盘之间的映射关系,生成硬盘通道与硬盘映射关系表,具体实现过程 为:
[0059] (1)使用Linux操作系统下的shell命令获取硬盘信息:
[0060] fdisk-Ι | grep^Disk/dev/ts, hjd^ | sed-e' s / :// gJ |awk-F////J {print$2}J >hddevs. txt
[0061] 此命令的功能是获取操作系统中所有以/dev/hd或/dev/sd开头的硬盘的设备名 称。
[0062] (2)根据linux启动信息分析SAS驱动扫描到的SAS设备,并记录系统中SAS设 备的个数
[0063] 其实现原理就是以hdds. conf配置文件中记录的SAS通道(如sas:phy-l:0) 为关键字查找dmesg启动信息中扫描到的SAS设备,并将扫描到的SAS硬盘信息记录在 sasdevs. txt文件中。记录SAS设备个数目的是为了调整SATA硬盘的ΑΤΑ通道,因为SAS 硬盘会抢占 SATA硬盘的ΑΤΑ通道,例如假设在系统没有接SAS硬盘时,主板上SATA0的ΑΤΑ 通道为atal. 00,当主板上接了两个SAS硬盘时,主板上SATA0的ΑΤΑ通道变为ata3. 00。实 现此功能的linux命令如下:
[0064] dmesg|grep^sas:phy-l:^|awk' {print$l, $2}' >sasdevs. txt
[0065] 此命令的功能是以SAS硬盘盘位的硬件通道sas:phy-l为关键字,在系统启动信 息dmesg中检索SAS硬盘盘位连接的设备。
[0066] sas_num = " wc_l sasdevs. txt | awk' {print$l}' "
[0067] 此命令的功能是获取系统中SAS设备的个数。
[0068] (3)建立SAS硬盘盘位与SAS硬盘之间的映射关系文件sas. txt
[0069] 根据配置文件hdds. conf对sasdevs. txt文件中的每个元素进行分析,建立SAS 硬盘与SAS硬盘盘位的映射关系文件sas. txt。其实现原理如下:
[0070] 因为没有接设备的SAS硬盘盘位对应的SAS通道在dmesg启动信息中没有记录, 所以步骤(2)生成的临时文件sasdev. txt只记录了用户接了 SAS设备的SAS硬盘盘位与 SAS硬盘之间的映射关系。
[0071] 对hdds. conf配置文件中描述的SAS硬盘盘位个数及每个SAS硬盘盘位对应的 SAS通道,以SAS硬盘盘位对应的SAS通道(如SAS硬盘盘位1对应的通道为sas: phy-1:0) 为关键字,依次检索sasdev. txt文件。例如:
[0072] 如果sas:phy_l :0在sasdev. txt文件中,则将该条件记录复制到sas. txt文件 中,否则将S-SATAO, N/A信息写入sas. txt文件中,表示SAS硬盘盘位S-SATA0没有接设备 或设备丢失。
[0073] (4)建立SATA硬盘盘位与SATA硬盘之间的映射关系文件sata. txt,并修正SATA 硬盘盘位的ΑΤΑ硬盘通道
[0074] 主要的实现过程如下:
[0075] 判断SATA控制器的工作模式是IDE模式还是AHCI模式
[0076] 根据配置文件hdds. conf和操作系统中侦测的SAS硬盘个数,修正IDE模式或 AHCI模式下SATA硬盘的ΑΤΑ通道。
[0077] 根据SATA硬盘盘位的ΑΤΑ硬盘通道,在系统启动信息(dmesg)中查找SATA硬盘。 如果该硬盘通道上接了硬盘,则记录硬盘型号,否则标记"N/A","N/A"表示硬盘没接或丢 失。
[0078] S3" :根据硬盘盘位与硬盘通道映射关系表、硬盘通道与硬盘映射关系表,建立所 述硬盘盘位与所述硬盘之间的映射关系,具体地,循环对硬盘文件hddevs. txt中的每个设 备进行分析,使用smartctl命令获取硬盘的型号和序列号等信息,因此可以根据硬盘型 号,判断该硬盘是否记录在sas. txt和sata. txt中,从而判断该硬盘是否属于SAS硬盘或 SATA硬盘,并获取该硬盘的详细信息,如型号,厂商,温度或健康状况等,并将hddevs. txt 的设备名称进行分类,分别存储到SAS硬盘日志文件sas_hdds. txt和SATA硬盘日志文件 sata_hdds. txt 中。
[0079] 至此,完成了在Linux操作系统下建立硬盘盘位与硬盘之间的映射关系,通过预 先建立硬盘盘位与所述硬盘盘位所在的SAS和/或SATA控制器硬盘通道之间的映射关系, 生成所述硬盘盘位与所述硬盘通道映射关系表;依次对硬盘通道上的硬盘进行侦测,读取 挂接在所述硬盘盘位上的硬盘信息,建立硬盘通道与硬盘之间的映射关系,生成硬盘通道 与硬盘映射关系表;根据硬盘盘位与硬盘通道映射关系表、硬盘通道与硬盘映射关系表,建 立所述硬盘盘位与所述硬盘之间的映射关系,当硬盘出现故障时,用户可以快速、准确地判 断和定位哪个硬盘盘位上的硬盘出现故障,该实施例提供的硬盘盘位识别与故障诊断方法 可以直接通过Linux操作系统下的应用软件来实现,对于已有硬件平台,增加此功能时,无 需更新BIOS。
[0080] 如图5所示为本发明实施例四提供的一种硬盘盘位识别和故障诊断方法流程图, 所述硬盘盘位识别与故障诊断方法包括如下步骤:
[0081] S1 :预先建立硬盘盘位与所述硬盘盘位所在的SAS和/或SATA控制器硬盘通道之 间的映射关系,生成所述硬盘盘位与所述硬盘通道映射关系表;
[0082] 具体地,计算机主板在设计时已经确定了硬盘盘位与硬盘通道之间的映射关系, 硬盘盘位名称在主板上通过丝印的方式标记出来,该步骤需要将硬盘盘位与所述硬盘盘位 所在的SAS和/或SATA控制器硬盘通道之间的映射关系生成一个硬盘盘位与所述硬盘通 道映射关系表,以方便后续步骤操作。
[0083] S2 :依次对硬盘通道上的硬盘进行侦测,读取挂接在所述硬盘盘位上的硬盘信息, 建立硬盘通道与硬盘之间的映射关系,生成硬盘通道与硬盘映射关系表;
[0084] 具体地,通过侦测每个硬盘通道上的硬盘,获取硬盘信息,这样就可以建立硬盘通 道与硬盘之间的映射关系,生成硬盘通道与硬盘映射关系表。
[0085] S3 :根据硬盘盘位与硬盘通道映射关系表、硬盘通道与硬盘映射关系表,建立所述 硬盘盘位与所述硬盘之间的映射关系。
[0086] 具体地,在操作系统层,以硬盘通道为桥梁,根据硬盘盘位与硬盘通道映射关系 表、硬盘通道与硬盘映射关系表,建立所述硬盘盘位与所述硬盘之间的映射关系,从而使得 硬盘盘位与硬盘对应起来,方便在硬盘出现故障时,快速、准确地判断和定位哪个硬盘盘位 上的硬盘出现故障。
[0087] S4:将所述硬盘盘位与对应的硬盘信息输出到终端或者显示装置上,所述信息包 括但不限于硬盘盘位名称、硬盘温度、硬盘剩余容量。用户可以直观的看到硬盘盘位上挂接 的硬盘信息。
[0088] S5 :通过所述硬盘信息判断所述硬盘是否丢失,所述硬盘剩余容量是否过低或所 述硬盘健康是否存在异常,并根据所述判断结果输出报警信息。用户可以根据报警信息及 时排查故障,提高系统的可用性。
[0089] 通过预先建立硬盘盘位与所述硬盘盘位所
...
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1