CN110502386B - 硬盘的故障在线诊断方法和装置 - Google Patents

硬盘的故障在线诊断方法和装置 Download PDF

Info

Publication number
CN110502386B
CN110502386B CN201910812589.8A CN201910812589A CN110502386B CN 110502386 B CN110502386 B CN 110502386B CN 201910812589 A CN201910812589 A CN 201910812589A CN 110502386 B CN110502386 B CN 110502386B
Authority
CN
China
Prior art keywords
hard disk
fault
server
information
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910812589.8A
Other languages
English (en)
Other versions
CN110502386A (zh
Inventor
王锦伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Yep Telecommunication Technology Co Ltd
Original Assignee
Xian Yep Telecommunication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Yep Telecommunication Technology Co Ltd filed Critical Xian Yep Telecommunication Technology Co Ltd
Priority to CN201910812589.8A priority Critical patent/CN110502386B/zh
Publication of CN110502386A publication Critical patent/CN110502386A/zh
Application granted granted Critical
Publication of CN110502386B publication Critical patent/CN110502386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供的一种硬盘的故障在线诊断方法和装置,BMC系统接收服务器的基本输入输出系统BIOS系统发送的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,对故障硬盘数据进行数据备份。该方法通过BIOS系统在所述服务器开机时,获取的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,能够及时发现故障硬盘并进行恢复,不会对服务器的使用造成影响。并且进行故障诊断时采用服务器的BIOS系统,不需要额外的诊断设备,节省了诊断成本,而且诊断结果可靠,总体提高了服务器上故障硬盘的诊断效率以及数据恢复的可靠性。

Description

硬盘的故障在线诊断方法和装置
技术领域
本发明涉及计算机技术,尤其涉及一种硬盘的故障在线诊断方法和装置。
背景技术
随着科学技术的不断发展,计算机的应用越来越广泛,硬盘作为计算机主机上的存储设备,对用户资料和信息数据进行存储,是计算机硬件中最重要的部分。当硬盘出现故障时,不仅需要及时诊断出故障硬盘的位置,还需要及时对故障硬盘的数据进行恢复。
计算机硬盘故障通常可分为硬故障和软故障,其中,硬盘的硬故障主要包括:硬盘的连接或设置错误、接口电路故障、磁头芯片故障、电机驱动芯片故障、硬盘供电问题等。硬盘的软故障主要包括:硬盘的引导区损坏、硬盘被逻辑锁锁住、硬盘坏道、分区表丢失等。现有技术中,当计算机硬盘出现故障,无法正常存储和读取数据时,使用计算机硬盘故障诊断仪,人为对故障硬盘进行检修操作。
由于故障诊断仪不便于日常携带且不易架设,所以当硬盘临时出现故障的紧急情况下,因无法及时提供故障诊断仪,不能在第一时间诊断出硬盘故障位置,造成计算机长时间停机,严重影响了计算机的正常工作。且计算机硬盘故障诊断仪工作效率比较低,一块4TB(太字节,Terabyte)硬盘的检测需要7~8个小时,也不能准确判断硬盘出现故障位置的具体磁道信息。因此,通过计算机硬盘故障诊断仪对计算机硬盘进行故障诊断,不仅费时费力,且诊断结果可靠性较低、可用性较低。
发明内容
本发明提供一种硬盘的故障在线诊断方法和装置,能够在线进行硬盘的故障检测,提高了服务器硬盘故障诊断的效率。
本发明第一方面提供一种硬盘的故障在线诊断方法,应用于基板管理控制器BMC系统,包括:
接收服务器的基本输入输出系统BIOS系统发送的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;其中,所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息为所述BIOS系统在所述服务器开机时,获取的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;
根据所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,对所述故障硬盘进行数据备份;
根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复。可选的,所述BMC系统根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复之前,还包括:
所述BMC系统根据所述故障硬盘的信息中包括的所述故障硬盘的型号,获取与所述故障硬盘的型号相匹配的目标故障固件;
所述BMC系统根据所述目标硬盘固件,对所述故障硬盘的固件进行更新。
可选的,所述BMC系统根据所述故障硬盘的信息中包括的所述故障硬盘的型号,获取与所述故障硬盘的型号相匹配的目标故障固件,包括:
所述BMC系统根据所述故障硬盘的型号,从本地存储设备中或者数据库中查找与所述故障硬盘的型号相匹配的目标故障固件。
可选的,所述BMC系统根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复,包括:
所述BMC系统根据所述故障硬盘的备份数据和所述故障硬盘的现有数据,进行差异恢复。
可选的,所述BMC系统根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份之前,还包括:
所述BMC系统通知用户硬盘发生故障,并等待第一预设时间;
在所述第一预设时间达到之后,BMC系统根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份。
本发明第二方面提供一种硬盘的故障在线诊断方法,应用于基本输入输出系统BIOS系统,包括:
在服务器开机时,获取故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;
将所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,发送给所述服务器的基板管理控制器BMC系统;
其中,在所述服务器开机时,获取故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,包括:
读取所述服务器挂载的硬盘在本次开机时的第一分区信息以及在所述服务器上次正常开机时的第二分区信息;
比较所述服务器挂载的硬盘的所述第一分区信息和所述第二分区信息,确定所述故障硬盘,所述故障硬盘包括:本次开机时分区不存在的硬盘,和/或,本次开机的分区信息与上次正常开机的分区信息不一致的硬盘。
本发明第三方面提供一种基板管理控制器BMC系统,包括第一方面任一项所述的所述硬盘的故障在线诊断方法,所述BMC系统还用于:
在对所述故障硬盘的数据进行恢复之前,根据所述故障硬盘的信息中包括的所述故障硬盘的型号,从本地存储设备中或者数据库中查找与所述故障硬盘的型号相匹配的目标硬盘固件;
根据所述目标硬盘固件,对所述故障硬盘的固件进行更新。
可选的,所述BMC系统还用于:
在对故障硬盘进行数据备份之前,通知用户硬盘发生故障,并等待第一预设时间;
在所述第一预设时间达到之后,根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份;
根据所述故障硬盘的备份数据和所述故障硬盘的现有数据,进行差异恢复。
本发明第四方面提供一种基板管理控制器BMC系统,包括第二方面所述的硬盘的故障在线诊断方法。
本发明第五方面提供一种服务器,包括:基本输入输出系统BIOS系统和基板管理控制器BMC系统;
所述BIOS系统用于:
在所述服务器开机时,获取故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;
将所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,发送给所述服务器的基板管理控制器BMC系统;
所述BMC系统用于:
根据所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,对所述故障硬盘进行数据备份;
根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复。
本发明提供的一种硬盘的故障在线诊断方法和装置,BMC系统接收服务器的基本输入输出系统BIOS系统发送的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,对故障硬盘数据进行数据备份。该方法通过BIOS系统在所述服务器开机时,获取的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,能够及时发现故障硬盘并进行恢复,不会对服务器的使用造成影响。并且进行故障诊断时采用服务器的BIOS系统,不需要额外的诊断设备,节省了诊断成本,而且诊断结果可靠,总体提高了服务器上故障硬盘的诊断效率以及数据恢复的可靠性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例一提供的硬盘的故障在线诊断方法的流程图;
图2为本发明实施例二提供的硬盘的故障在线诊断方法的流程图;
图3为本发明实施例三提供的硬盘的故障在线诊断方法的流程图;
图4为本发明实施例四提供的硬盘的故障在线诊断装置的示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行说明:
基本输入输出系统:(Basic Input Output System,简称BIOS);
基板管理控制器:(Baseboard Management Controler,简称BMC);
最新BIOS传输模式启动顺序:(Unified Extensible Firmware Interface,简称UEFI);
全局唯一标识磁盘分区表:(GUID Partition Table,简称GPT);
主引导记录:(Main Boot Record,简称MBR);
BIOS参数块:(BIOS Parameter Block,简称BPB);
文件分配表:(File Allocation Table,简称FAT);
文件目录表:(Directory,简称DIR);
磁盘操作系统:(Disk Operating System,简称DOS);
智能平台管理接口:(Intelligent Platform Management Interface,简称IPMI);
加电自检:(Power On Self Test,简称POST);
中央处理器:(Central Processing Unit,简称CPU);
结构化查询语言:(Structured Query Language,简称SQL)。
硬盘是服务器系统极重要的一部分,所有的资料和数据都会保存在硬盘中。在经历长时间的使用或者使用不当之后,服务器系统难免会发生一些问题。而硬盘作为服务器系统中最主要的存储设备,恰恰又是服务器系统中最不可靠、最脆弱的零部件,非常容易出现因硬盘分区信息错误导致数据丢失,服务器无正常启动的问题。
硬盘根据其材质、存储速度和接口类型可分为传统机械硬盘和固态硬盘,固态硬盘与传统机械硬盘相比,其优点是数据读写速度快、抗震性强、功耗小、无噪音、重量轻;缺点是存储容量小、价格高、数据丢失后不可恢复。硬盘型号是对硬盘厂家对自己生产的某种规格、采用某些技术的硬盘赋予的一个编号,硬盘型号中通常会标明该硬盘的容量信息、硬盘厂家信息等。
通常通过硬盘分区表对硬盘进行管理和控制,硬盘分区表中记录了各个分区的起始、结束位置及分区属性和分区的大小。根据硬盘的结构,一般把硬盘分为以下五部分:
1.主引导扇区,位于整块硬盘的逻辑最前列,在硬盘的0磁道0柱面1扇区。它的作用是:存放硬盘分区表,检查硬盘分区的正确性,确定活动分区号,并读出操作系统的引导记录,检查操作系统引导记录的正确性,释放引导权给相应的操作系统。
2.操作系统引导扇区,是操作系统可访问的第一个扇区,由高级格式化程序产生。由引导记录和BPB组成。引导记录用来加载操作系统的引导文件,BPB记录了本分区的起始扇区、结束扇区、文件存储区格式、文件分配表FAT个数、分配单元大小等参数。
3.文件分配表FAT,是文件在硬盘中存储位置的登记表,是系统中文件的寻址系统。文件在硬盘中的基本存储单位是簇,簇由若干扇区组成,同一文件的数据并不完整的存储在磁盘的一个连续区域内,而是像链子一样分成若干段分开存储,FAT保存了文件段与段之间的连接关系。FAT表中有很多表项,项数和数据区的总簇数相当,表项中记录一个簇的信息。FAT表就是通过表项记录哪些簇已被文件占用,并为每个已经占用簇指明存储后继内容的下一个簇号。
4.文件目录表DIR,DIR记录了每个文件的起始单元、相关文件属性等,位于第二个FAT表之后,结合FAT就可以知道文件在磁盘的具体位置及大小,从而从数据区读出该文件。
5.数据区,是存放文件的实际区域。数据区占据了硬盘的绝大部分空间,整个数据区被分成若干簇,簇的大小和数据区的大小以及FAT表项的数目有关。
当硬盘分区表被破坏后,启动系统时往往会出现硬盘故障等提示信息。硬盘分区表错误是硬盘的严重错误,不同的错误程度会造成不同的损失。如果硬盘分区表中没有活动分区标志,则服务器系统无法启动。如果硬盘分区表中的某一个分区类型错误,可造成该分区的丢失。例如基本磁盘操作系统DOS分区值为06,而扩展的DOS分区值是05。如果把基本DOS分区类型改为05,则服务器系统无法正常启动,并且不能读写其中的数据。如果把06改为DOS不识别的类型,则DOS认为改分区不是DOS分区,当然无法读写。硬盘分区表中还有其他数据用于记录分区的起始或终止地址。这些数据的损坏将造成该分区的混乱或丢失,一般无法进行手工恢复,可用的方法是用备份的分区表数据重新写回,或者从其他的相同类型的并且分区状况相同的硬盘上获取分区表数据。否则将导致其他的数据永久的丢失。
现阶段,当服务器系统硬盘出现故障而无法正常存储和读取数据时,使用计算机硬盘故障诊断仪,人为对故障硬盘进行检修操作。但由于故障诊断仪由于设备本身局限性而不便于日常携带,当硬盘临时出现故障的紧急情况下,若无法及时提供故障诊断仪,则无法在第一时间诊断出硬盘故障位置,造成服务器长时间停机,严重影响了计算机的正常工作。因此,通过计算机硬盘故障诊断仪对计算机硬盘进行故障诊断,不仅费时费力,且诊断结果可靠性较低、可用性较低。
本发明提供的硬盘的故障在线诊断方法,可以在不使用计算机硬盘故障诊断仪的情况下,通过BIOS系统读取故障硬盘上次正常开机时的分区信息和故障硬盘的型号等,并将上述信息通过IPMI指令发送给BMC系统;BMC系统在轮询状态下收到故障硬盘的IPMI指令后,BMC系统对故障硬盘数据进行差异性的恢复和故障硬盘固件在线实时更新,提高了服务器上硬盘的故障诊断效率和故障硬盘数据恢复的可靠性。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
图1为本发明实施例一提供的硬盘的故障在线诊断方法的流程图,如图1所示,该方法可以包括以下:
S101:服务器的BIOS系统在服务器开机时,获取故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息。
故障硬盘包括导致服务器不能正常开机的所有硬盘,该故障硬盘包括以下硬盘中的一种或多种:本次开机时分区不存在的硬盘,和本次开机的分区信息与上次正常开机的分区信息不一致的硬盘,当然还可能存在其他故障的硬盘。
其中,该故障硬盘的信息包括槽位、硬盘型号、硬盘分区等,该故障硬盘在服务器上次正常开机时的分区信息是该故障硬盘的正确分区信息,该故障硬盘在上次正常开机时正常工作的。
本步骤中通过BIOS系统获取故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息,BIOS系统是固化在计算机主板芯片里的软件系统,也称固件。其中,BIOS系统主要功能如下:
1、当服务器刚接通电源时,BIOS系统用于对硬件部分的检测,也叫做加电自检,功能是检查服务器是否良好。一旦在自检中发现问题,系统将给出提示信息或鸣笛警告。
2、BIOS系统负责服务器硬件初始化功能,包括创建中断向量、设置寄存器、对一些外部设备进行初始化和检测等,其中很重要的一部分是BIOS系统设置,主要是对硬件设置的一些参数,当电脑启动时会读取这些参数,并和实际硬件设置进行比较,如果参数不符合硬件设置,会影响硬件系统的启动。
3、BIOS系统负责引导DOS或其他操作系统。BIOS系统先从软盘或硬盘的开始扇区读取引导记录,如果没有找到,则会在显示器上显示没有引导设备,如果找到引导记录会把电脑的控制权转给引导记录,由引导记录把操作系统装入电脑,在电脑启动成功后,BIOS系统的这部分任务就完成了。
示例性的,BIOS系统通过如下方式获取故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息:BIOS系统检测到服务器开机之后,进行自检,自检即对硬件部分进行检测,已确定服务器系统功能是否正常。示例性的,BIOS系统自检程序对CPU、系统主板、基本内存、等器件进行测试。若发现错误,如内存条未插紧或损坏、系统时钟错误等故障,BIOS给操作者提示或警告当前服务器开机故障信息。
当BIOS系统自检发现问题后,会读取服务器挂载的硬盘在本次开机时的第一分区信息以及在所述服务器上次正常开机时的第二分区信息。然后,BIOS系统比较服务器挂载的硬盘的第一分区信息和第二分区信息,确定故障硬盘,该故障硬盘包括:本次开机时分区不存在的硬盘,和/或,本次开机的分区信息与上次正常开机的分区信息不一致的硬盘。
在服务器启动过程中,如果某个硬盘当前的分区不存在,则BIOS系统无法正常读取该硬盘的分区,从而无法正常启动硬盘存储系统,导致服务器启动失败。或者,BIOS系统读取到的硬盘分区信息与硬盘实际的分区信息不一致,也会导致无法正常启动硬盘存储系统。
当BIOS系统加电自检结果为服务器系统功能良好、服务器可以正常启动后,BIOS系统会保存本次开机时、当前在服务器下挂载的所有硬盘的分区信息,包括槽位、硬盘型号、硬盘分区等信息。当服务器在下次开机时,如果因硬盘分区故障而无法正常启动时,BIOS系统可在系统中读取上次服务器正常开机保存的硬盘分区信息,便于对故障硬盘按照上次正常开机时的分区信息进行数据备份。
S102:BIOS系统将故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息,发送给服务器的BMC系统。
BMC系统类似服务器中的管家,能对整个服务器系统的电源、温度等性能进行管理,并且在服务器系统死机时还能充当看门狗的角色,对CPU进行重启操作。BMC系统支持行业标准的IPMI规范。该规范描述了已经内置到主板上的管理功能这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除。
BIOS系统与BMC系统之间通过IPMI进行通信,IPMI是一种开放标准的硬件管理接口规格,定义了嵌入式管理子系统进行通信的特定方法。BMC系统不能主动与BIOS系统通信的,BIOS系统会发送IPMI命令给BMC系统,BMC系统如果成功接收的话,会向BIOS系统发送确认信息。
本实施例中,BIOS系统可以将故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息以IPMI命令格式发送给BMC系统。BMC系统在正常开机运行过程中实时轮询接收BIOS系统发送的信息。
S103:BMC系统根据故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息,对故障硬盘进行数据备份。
BMC系统根据故障硬盘的硬盘型号、上次正常开机时的分区信息,将故障硬盘的数据备份在BMC系统中。
可选的,BMC系统在进行数据备份之前,通知用户硬盘发生故障,并等待第一预设时间,在第一预设时间达到之后,BMC系统根据故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息。
可选的,BMC系统在收到故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息之后,会在服务器人机交互界面弹出通知,提示用户当前无法正常启动服务器,硬盘发生故障。该提示消息会在人机交互界面显示期限为第一预设时间段,便于用户看到提示信息发现硬盘故障。
S104:BMC系统根据故障硬盘的备份数据,对故障硬盘的数据进行恢复。
当故障硬盘修复成功后,可根据BMC系统中已备份的原始数据对故障硬盘的数据进行恢复。当服务器再次开机时,故障硬盘分区信息和故障硬盘中存储的数据都已被修复,服务器可正常启动。
一种实现方式中,BMC系统根据故障硬盘的备份数据和故障硬盘的现有数据,进行差异恢复。由于修复故障硬盘会影响硬盘的数据存储,造成部分存储数据丢失。该种实现方式通过在修复故障硬盘前,提前将故障硬盘中的数据进行备份。当故障硬盘修复后,根据已备份的硬盘数据对修复后的故障硬盘进行差异性恢复。其中,差异性恢复是指不需要对故障硬盘的全部数据进行恢复,而是只需对故障硬盘中丢失的数据进行差异性恢复,对未丢失的数据不做处理。只对故障硬盘进行差异性恢复,可以大大节约数据恢复时间。差异性恢复的具体实现方式可采用已有的技术,本实施例不再赘述。
另一种实现方式中,BMC系统根据故障硬盘的备份数据,对故障硬盘的所有数据进行恢复。
本实施例中,当服务器因故障硬盘分区信息错误而无法正常启动时,BIOS系统获取故障硬盘的信息和故障硬盘在上次正常开机时的分区信息,并将上述信息发送给BMC系统;BMC系统在接收到上述信息后,对故障硬盘数据进行数据备份。该方法通过在服务器开机时对硬盘故障进行在线诊断,能够及时发现故障硬盘并进行恢复,不会对服务器的使用造成影响。并且进行故障诊断时采用服务器的BIOS系统,不需要额外的诊断设备,节省了诊断成本,而且诊断结果可靠,总体提高了服务器上故障硬盘的诊断效率以及数据恢复的可靠性。
图2为本发明实施例二提供的硬盘的故障在线诊断方法的流程图,如图2所示,本实施例的方法可以包括以下步骤:
S201:服务器的BIOS系统在所述服务器开机时,获取故障硬盘的信息以及所述故障硬盘上次正常开机时的分区信息。
S202:BIOS系统将故障硬盘的信息以及故障硬盘在所述服务器上次正常开机时的分区信息,发送给服务器的基板管理控制器BMC系统。
S203:BMC系统根据故障硬盘的信息以及所属故障硬盘在所属服务器上次正常开机时的分区信息,对所述故障硬盘进行数据备份。
步骤S201-S203的具体实现方式与步骤S101-103的方式相同,此处不再赘述。
S204:BMC系统根据故障硬盘的信息中包括的故障硬盘的型号,获取与故障硬盘的型号相匹配的目标硬盘固件。
硬盘固件安装在硬盘的一个小记忆芯片上,用于引导硬盘工作。在硬盘中,硬盘固件负责驱动、控制、解码、传送、检测等工作,如管理数据的存放位置、记录己经损坏的缺陷扇区、避免使用过程中再次用到这些坏的缺陷扇区、记录硬盘在工作中的温度或出现的错误等。硬盘固件型号与硬盘品牌、硬盘容量、接口类型和外形尺寸等相关,不同型号硬盘的硬盘固件不同。
BMC系统根据故障硬盘的型号,获取与故障硬盘的型号相匹配的目标硬盘固件。更新硬盘固件相当于更新引导硬盘工作的软件系统。硬盘型号必须与硬盘固件型号一致,如果型号不一致将导致固件更新后硬盘无法存储数据。且由于升级硬盘固件会导致原硬盘数据全部丢失,所以在更新硬盘固件前务必要备份硬盘数据。
本实施例中,硬盘固件可以存储在服务器的本地存储设备中,也可以存储在远程数据库中,因此,BMC系统可以根据故障硬盘的型号,从本地存储设备中或者数据库中查找与故障硬盘的型号相匹配的目标硬盘固件。
其中,服务器的本地存储设备一般包括服务器存储硬盘等,服务器的数据库即在服务器上安装了一个数据库软件,数据库软件可以为SQL和一个对象一关系数据库管理系统(orcal)等。
S205:BMC系统根据目标硬盘固件,对故障硬盘的硬盘固件进行更新。
硬盘固件更新可修复硬盘可能存在的漏洞、提升硬盘数据的稳定性与可靠性和延长硬盘的寿命等。
S206:BMC系统根据故障硬盘的备份数据,对故障硬盘的数据进行恢复。
由于更新硬盘固件会导致原硬盘数据全部丢失或部分丢失,所以在更新硬盘固件前需要对硬盘数据进行备份。在更新硬盘固件后,还需对已更新硬盘的数据进行恢复,将备份数据恢复至硬盘中。
本实施例中,BMC系统在对故障硬盘的数据进行备份之后,根据故障硬盘的型号,获取与故障硬盘的型号相匹配的目标硬盘固件,并根据目标硬盘固件,对故障硬盘的硬盘固件进行更新,在硬盘固件更新完成之后,BMC系统根据故障硬盘的备份数据,对故障硬盘的数据进行恢复。本实施例中更新故障硬盘固件后可修复故障硬盘信息,在固件更新前备份硬盘数据,可避免由于固件更新造成的数据丢失。
图3为本发明实施例三提供的硬盘的故障在线诊断方法的流程图,如图3所示,本实施例的方法可以包括以下步骤:
S301:服务器上电开机。
S302:BIOS系统自检。
S303:BIOS系统读取挂载的所有硬盘的信息。
BIOS系统的模式为UEF或Legacy,BIOS系统根据模式读取挂载的所有硬盘的信息,硬盘的信息包括硬盘的槽位、硬盘型号、硬盘分区等。当BIOS系统的模式为UEFI时,服务器使用的硬盘类型为GPT硬盘,BIOS系统读取GPT硬盘的信息,包括硬盘的槽位、硬盘型号、硬盘分区等。当BIOS系统的模式为Legacy时,服务器使用的硬盘类型为MBR硬盘,BIOS系统读取MBR硬盘的信息,包括硬盘的槽位、硬盘型号、硬盘分区等。
本步骤中UEFI和Legacy都是指BIOS系统中可拓展接口的类型,其中UEFI是新式的BIOS系统,Legacy是传统BIOS系统。UEFI是新BIOS系统架构,更加开放和支持更多设备厂家自己开发的UEFI驱动,拓展了BIOS系统的功能。
本步骤中GPT是一种硬盘的分区表的结构布局的标准。它是可扩展固件接口标准的一部分,GPT硬盘中的分区表信息储存在GPT头中。
本步骤中MBR,又叫做主引导扇区,是服务器上电后访问硬盘时必须要读取的首个扇区。服务器上电后,开机时访问磁盘信息必须先访问MBR,从而获取到磁盘的相关信息,例如磁盘的分区信息、分区信息的起始地址和分区信息的结束地址等。
S304:BIOS系统判断所有硬盘分区是否存在、且是否与服务器上次正常开机时硬盘的分区信息一致。
若所有硬盘分区均存在,且所有硬盘的分区信息与服务器上次正常开机时硬盘的分区信息一致,则执行步骤S305。若有部分硬盘分区不存在,和/或,有部分硬盘的分区信息与服务器上次正常开机时硬盘的分区信息不一致,则执行步骤S307。
S305:BIOS系统正常启动服务器。
S306:当服务器正常启动后,BIOS记录本次开机时挂载的所有硬盘的信息。
S307:判断检测次数是否小于预设值。
检测次数是指BIOS系统判断所有硬盘分区是否存在且是否与服务器上次正常开机时硬盘的分区信息一致的次数,若检测次数小于该预设值,则返回执行步骤S305。若检测次数不小于(即大于或等于)该预设值,则执行步骤S308。可选的,检测次数的预设值可以为5次。
若步骤S304中识别出故障硬盘分区信息不存在或者硬盘分区信息记录与上次正常开机是的分区信息不一致时,BIOS系统重新执行步骤S304,继续判断故障硬盘的分区是否正确;若重复执行步骤S304在5次以内可辩别出硬盘的分区信息正常,则执行步骤S305,若重复执行步骤S304达5次以上仍无法确认硬盘的分区信息时,判断此硬盘为故障硬盘,执行步骤S308。
S308:BIOS系统将故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息以IPMI命令格式发送给BMC系统。
S309:BMC系统实时轮询收集BIOS系统发送的故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息。
正常开机运行过程中,BMC系统会实时轮询收集BIOS系统发送过来的信息。
S310:BMC系统通知用户硬盘发生故障,并判断第一预设时间内是否检测到用户对故障硬盘的处理操作。
BMC系统收到BIOS系统发送的故障硬盘的信息以及该故障硬盘在服务器上次正常开机时的分区信息后,可以通过生成并显示提示信息通知用户硬盘发生故障,并在第一预设时间内等待用户处理提示信息,示例性的,该第一预设时间为10分钟或者5分钟。
如果BMC系统在第一预设时间内检测到用户对故障硬盘进行了处理,则执行步骤S311,如果BMC系统在第一预设时间内检测到用户没有对故障硬盘进行处理,则执行步骤S312。
S311:BMC系统输出硬盘故障错误信息。
S312:BMC系统根据故障硬盘上次正常开机时的硬盘分区信息对故障硬盘进行数据备份,在本地存储设备或者BMC系统数据库中查找与故障硬盘型号相匹配的目标硬盘固件。
S313:BMC系统根据目标硬盘固件,对故障硬盘的固件进行更新。
S314:BMC系统根据故障硬盘的备份数据,对故障硬盘的数据进行差异性恢复。
S315:重新启动服务器。
S316:结束。
另一方面,本发明实施例提供一种基板管理控制器BMC系统,包括了上述实施例所述的硬盘的故障在线诊断方法。
另一方面,本发明实施例提供一种基本输入输出系统BIOS系统,包括了上述实施例所述的硬盘的故障在线诊断方法。
图4为本发明实施例四提供服务器的一种结构示意图,如图4所示,该服务器10包括:BIOS系统11和BMC系统12。
所述BIOS系统11用于:在服务器开机时,获取故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息;将故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息,发送给BMC系统12。
所述BMC系统12用于:根据故障硬盘的信息以及故障硬盘在服务器上次正常开机时的分区信息,对故障硬盘进行数据备份;根据故障硬盘的备份数据,对故障硬盘的数据进行恢复。
可选的,所述BMC系统12还用于:在对所述故障硬盘的数据进行恢复之前,根据所述故障硬盘的信息中包括的所述故障硬盘的型号,获取与所述故障硬盘的型号相匹配的目标硬盘固件,根据所述目标硬盘固件,对所述故障硬盘的固件进行更新。
可选的,所述BMC系统12具体用于:根据所述故障硬盘的型号,从本地存储设备中或者数据库中查找与所述故障硬盘的型号相匹配的目标硬盘固件。
可选的,所述BMC系统12具体用于:根据所述故障硬盘的备份数据和所述故障硬盘的现有数据,进行差异恢复。
可选的,所述BMC系统12还用于:在对故障硬盘进行数据备份之前,通知用户硬盘发生故障,并等待第一预设时间。在所述第一预设时间达到之后,根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份。
可选的,所述BIOS系统11具体用于:读取所述服务器挂载的硬盘在本次开机时的第一分区信息以及在所述服务器上次正常开机时的第二分区信息。比较所述服务器挂载的硬盘的所述第一分区信息和所述第二分区信息,确定所述故障硬盘,所述故障硬盘包括:本次开机时分区不存在的硬盘,和/或,本次开机的分区信息与上次正常开机的分区信息不一致的硬盘。
其中,本实施例的的具体实现方式参照上述方法实施例一和方法实施例二的描述,这里不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

Claims (4)

1.一种硬盘的故障在线诊断方法,其特征在于,应用于基板管理控制器BMC系统,包括:
接收服务器的基本输入输出系统BIOS系统发送的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;其中,所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息为所述BIOS系统在所述服务器开机时,获取的故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息;
根据所述故障硬盘的信息以及所述故障硬盘在所述服务器上次正常开机时的分区信息,对所述故障硬盘进行数据备份;其中,所述故障硬盘的信息包括槽位、硬盘型号、硬盘分区;
根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复;
所述BMC系统根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复,包括:
所述BMC系统根据所述故障硬盘的备份数据和所述故障硬盘的现有数据,进行差异恢复。
2.根据权利要求1所述的方法,其特征在于,所述BMC系统根据所述故障硬盘的备份数据,对所述故障硬盘的数据进行恢复之前,还包括:
根据所述故障硬盘的信息中包括的所述故障硬盘的型号,获取与所述故障硬盘的型号相匹配的目标硬盘固件;
根据所述目标硬盘固件,对所述故障硬盘的固件进行更新。
3.根据权利要求1所述的方法,其特征在于,所述BMC系统根据所述故障硬盘的信息中包括的所述故障硬盘的型号,获取与所述故障硬盘的型号相匹配的目标硬盘固件,包括:
所述BMC系统根据所述故障硬盘的型号,从本地存储设备中或者数据库中查找与所述故障硬盘的型号相匹配的目标硬盘固件。
4.根据权利要求1所述的方法,其特征在于,所述BMC系统根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份之前,还包括:
所述BMC系统通知用户硬盘发生故障,并等待第一预设时间;
在所述第一预设时间达到之后,BMC系统根据所述故障硬盘信息以及所述服务器上次正常开机时硬盘的分区信息,对故障硬盘进行数据备份。
CN201910812589.8A 2019-08-30 2019-08-30 硬盘的故障在线诊断方法和装置 Active CN110502386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910812589.8A CN110502386B (zh) 2019-08-30 2019-08-30 硬盘的故障在线诊断方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910812589.8A CN110502386B (zh) 2019-08-30 2019-08-30 硬盘的故障在线诊断方法和装置

Publications (2)

Publication Number Publication Date
CN110502386A CN110502386A (zh) 2019-11-26
CN110502386B true CN110502386B (zh) 2023-08-22

Family

ID=68590619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910812589.8A Active CN110502386B (zh) 2019-08-30 2019-08-30 硬盘的故障在线诊断方法和装置

Country Status (1)

Country Link
CN (1) CN110502386B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112562774B (zh) * 2020-12-14 2024-02-23 深圳市网心科技有限公司 存储设备挂载方法、装置、计算机设备和存储介质
CN112905392B (zh) * 2021-05-07 2021-09-28 湖南华自信息技术有限公司 一种更新设备存储器的系统、方法及计算机存储介质
CN113886128B (zh) * 2021-10-20 2022-09-09 深圳市东方聚成科技有限公司 一种ssd故障诊断及数据恢复的方法和系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1445667A (zh) * 2002-03-20 2003-10-01 联想(北京)有限公司 计算机硬盘内信息恢复和备份的实现方法
CN1534490A (zh) * 2003-03-31 2004-10-06 联想(北京)有限公司 一种计算机硬盘数据恢复和备份的实现方法
CN103383656A (zh) * 2012-05-02 2013-11-06 华为终端有限公司 恢复存储系统的方法和装置
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
CN105095017A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种基于分区表的硬盘修复方法及装置
CN105786633A (zh) * 2016-02-26 2016-07-20 四川效率源信息安全技术股份有限公司 一种西数硬盘固件区虚拟方法
CN105893178A (zh) * 2016-03-30 2016-08-24 苏州美天网络科技有限公司 移动硬盘的数据备份方法
CN108153618A (zh) * 2017-12-22 2018-06-12 国网浙江杭州市萧山区供电有限公司 硬盘数据恢复方法、装置及硬盘数据恢复设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1205555C (zh) * 2001-11-12 2005-06-08 联想(北京)有限公司 硬盘数据备份与恢复方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1445667A (zh) * 2002-03-20 2003-10-01 联想(北京)有限公司 计算机硬盘内信息恢复和备份的实现方法
CN1534490A (zh) * 2003-03-31 2004-10-06 联想(北京)有限公司 一种计算机硬盘数据恢复和备份的实现方法
CN103383656A (zh) * 2012-05-02 2013-11-06 华为终端有限公司 恢复存储系统的方法和装置
CN105095017A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种基于分区表的硬盘修复方法及装置
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
CN105786633A (zh) * 2016-02-26 2016-07-20 四川效率源信息安全技术股份有限公司 一种西数硬盘固件区虚拟方法
CN105893178A (zh) * 2016-03-30 2016-08-24 苏州美天网络科技有限公司 移动硬盘的数据备份方法
CN108153618A (zh) * 2017-12-22 2018-06-12 国网浙江杭州市萧山区供电有限公司 硬盘数据恢复方法、装置及硬盘数据恢复设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
硬盘分区数据的备份与恢复;郭溪川;;农业网络信息(02);全文 *

Also Published As

Publication number Publication date
CN110502386A (zh) 2019-11-26

Similar Documents

Publication Publication Date Title
CN110502386B (zh) 硬盘的故障在线诊断方法和装置
KR930007679B1 (ko) 개인용 컴퓨터 시스템과, 이 시스템에 bios를 적재하기 위한장치 및 방법
US20240012706A1 (en) Method, system and apparatus for fault positioning in starting process of server
KR930007680B1 (ko) 개인용 컴퓨터 시스템에 bios를 적재하기 위한 장치 및 방법
JP4518672B2 (ja) システムバックアップ及び復元
US5634137A (en) Method and apparatus for updating system configuration based on open/closed state of computer housing cover
US6665778B1 (en) System and method for storage of device performance data
TW201715395A (zh) 基板管理控制器的回復方法及基板管理控制器
JP2001522088A (ja) 取り外し可能大容量媒体を使用したコンピュータ回復用システム
US6374366B1 (en) Automated drive repair systems and methods
TW201520895A (zh) Bios自動恢復系統及方法
US20100313069A1 (en) Computer system and failure recovery method
US20100049961A1 (en) Update method for basic input/output system and update system thereof
US20230129037A1 (en) Board management controller and method for starting thereof
CN111722954A (zh) 服务器异常定位方法、装置、存储介质及服务器
US6745324B1 (en) Dynamic firmware image creation from an object file stored in a reserved area of a data storage device of a redundant array of independent disks (RAID) system
CN114895845A (zh) 一种emmc数据存储的控制方法及嵌入式主板
US9250942B2 (en) Hardware emulation using on-the-fly virtualization
US20190138407A1 (en) Systems and methods of deploying an operating system from a resilient virtual drive
US20070271311A1 (en) Disk array device and data management method for managing master data and replication data replicated from master data
US11263083B1 (en) Method and apparatus for selective boot-up in computing devices
JP7426269B2 (ja) 情報処理装置および情報処理システム
JPH076114A (ja) コンピュータシステム
JP2010198314A (ja) 情報管理装置
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant