CN116737066A - 磁盘故障容忍度配置方法、装置、计算机设备及存储介质 - Google Patents

磁盘故障容忍度配置方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116737066A
CN116737066A CN202310515958.3A CN202310515958A CN116737066A CN 116737066 A CN116737066 A CN 116737066A CN 202310515958 A CN202310515958 A CN 202310515958A CN 116737066 A CN116737066 A CN 116737066A
Authority
CN
China
Prior art keywords
disk
data
fault tolerance
fault
cluster
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.)
Pending
Application number
CN202310515958.3A
Other languages
English (en)
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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202310515958.3A priority Critical patent/CN116737066A/zh
Publication of CN116737066A publication Critical patent/CN116737066A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及集群技术领域,公开了磁盘故障容忍度配置方法、装置、计算机设备及存储介质,配置方法包括:获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点;根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果;根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。本发明根据预测的磁盘的故障发生可能结果,动态配置磁盘故障容忍度,避免了磁盘故障容忍度的手动配置方案存在的缺陷,从而在避免磁盘故障对集群的影响的前提下明显地提升集群服务质量,进而提高集群的稳定性和可靠性。

Description

磁盘故障容忍度配置方法、装置、计算机设备及存储介质
技术领域
本发明涉及集群技术领域,具体涉及磁盘故障容忍度配置方法、装置、计算机设备及存储介质。
背景技术
集群技术中,需使用大量的服务器,每个服务器上一般设置有多个磁盘,因而集群下的磁盘数量很大,经常会发生磁盘故障的情况。为避免磁盘故障对集群的影响,技术人员会根据历史经验和实际情况手动设置磁盘故障容忍度。如果手动设置一个较小的值,故障磁盘数量达到该值时则会使得故障磁盘所在节点无法启动,将会导致磁盘容灾能力过低、存储效率过低以及运维难度增大的问题,可能会导致集群不可用;如果手动设置一个较大的值,将会导致集群中副本恢复任务过多、占用正常服务资源的问题。可见,相关技术中手动设置磁盘故障容忍度的方式,易导致集群服务质量下降的问题。
发明内容
有鉴于此,本发明能够提供一种磁盘故障容忍度配置方法、装置、计算机设备及存储介质,以解决相关技术中的手动设置磁盘故障容忍度的方式引起的集群服务质量下降等问题。
第一方面,本发明提供了一种磁盘故障容忍度配置方法,配置方法包括:
获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点;
根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果;
根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。
本发明根据预测的磁盘的故障发生可能结果,动态配置磁盘故障容忍度,避免了磁盘故障容忍度的手动配置方案存在的缺陷,从而在避免磁盘故障对集群的影响的前提下明显地提升集群服务质量,进而提高集群的稳定性和可靠性。
在一种可选的实施方式中,根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置,包括:
确定发生损坏的磁盘的第一数量;以及根据每个磁盘的故障发生可能结果,确定存在损坏风险的磁盘的第二数量;
根据第一数量与第二数量的第一总和,确定数据节点的磁盘故障容忍度的目标值,以及利用目标值对磁盘故障容忍度进行配置。
本发明在确定磁盘故障容忍度的目标值时,综合考虑了存在损坏风险的磁盘和发生损坏的磁盘两者的数量,从而实现更准确地配置磁盘故障容忍度。
在一种可选的实施方式中,确定发生损坏的磁盘的第一数量,包括:
接收数据节点上报的发生损坏的磁盘的监测信息;
其中,发生损坏的磁盘为多次未采集到健康指标数据的磁盘;
根据监测信息,确定发生损坏的磁盘的第一数量。
本发明能够通过数据节点上报的磁盘的监测信息直接判断当前磁盘是否为发生损坏的磁盘,通过这种方式不仅能够精准地确定发生损坏的磁盘的数量,而且整个过程更容易实现。
在一种可选的实施方式中,根据第一数量与第二数量的第一总和,确定数据节点的磁盘故障容忍度的目标值,包括:
确定第一总和与预设值的第二总和;
将第二总和确定为数据节点的磁盘故障容忍度的目标值。
本发明还通过第一总和与预设值相加的方式对第一总和进行微调,从而将通过微调得到的第二总和作为数据节点的磁盘故障容忍度的目标值,该方式有助于提高磁盘故障容忍度设置的准确性。
在一种可选的实施方式中,数据节点包括集群中用于存储数据的每个节点;配置方法还包括:
确定发生损坏的磁盘和存在损坏风险的磁盘的总容量;
判断总容量是否大于或等于预设容量阈值,预设容量阈值为集群中所有磁盘的容量的一半;
如果总容量大于或等于预设容量阈值,则发出告警。
本发明还能够在集群中的磁盘的损坏程度达到一定的阈值时,及时向运维人员进行告警,以有效地提醒运维人员进行及时处理,进而可保证集群服务的可靠性,提升了集群用户的体验和满意度。
在一种可选的实施方式中,获取数据节点中的每个磁盘的健康指标数据,包括:
按照预设周期,获取集群中的每个数据节点中的每个磁盘的健康指标数据。
本发明基于预设周期还能够定期地获取集群中磁盘的健康指标数据,从而根据最新的健康指标数据预测出每个磁盘的故障发生可能结果,进而实现了对数据节点的磁盘故障容忍度进行自动更新。
在一种可选的实施方式中,根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果,包括:
利用训练完成的分类模型预测出每个磁盘的故障发生可能结果;
其中,分类模型输入为每个磁盘的健康指标数据,分类模型输出为每个磁盘的故障发生可能结果,故障发生可能结果包括故障结果和/或健康结果。
本发明以磁盘的健康指标数据作为输入,通过训练完成的分类模型,提高对每个磁盘的故障发生可能结果预测的准确性。
第二方面,本发明提供了一种磁盘故障容忍度配置装置,该装置包括:
数据获取模块,用于获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点;
故障预测模块,用于根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果;
容忍度配置模块,用于根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的磁盘故障容忍度配置方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的磁盘故障容忍度配置方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的磁盘故障容忍度配置方法的流程示意图;
图2是根据本发明实施例的另一磁盘故障容忍度配置方法的流程示意图;
图3是根据本发明实施例的又一磁盘故障容忍度配置方法的流程示意图;
图4是根据本发明实施例的再一磁盘故障容忍度配置方法的流程示意图;
图5是应用本发明实施例的分布式存储系统架构的结构示意图;
图6是根据本发明实施例的分类模型预测的实现原理示意图;
图7是根据本发明实施例的磁盘故障容忍度配置装置的结构框图;
图8是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
HDFS(Hadoop Distributed File System,海杜普分布式文件系统),是一种分布式文件系统,其设计目标是存储海量数据,为分布在网络中的大量客户端提供数据访问等功能,HDFS是一个具有高度容错性的系统,所以适合部署在廉价的服务器上,具体实现时,单个文件被拆成固定大小的多个数据块(block),多个数据块可存储于不同的数据节点上,对于某个数据块来说,保存在哪一个数据节点上可以随机选取,在这种情况下,访问某个文件时需要访问多个数据节点,这意味着HDFS支持的文件大小远远小于单机的磁盘容量。海杜普集群中,经常会发生磁盘只读或者损坏等故障情况,数据节点在启动时会使用目标目录下(例如dfs.datanode.data.dir,数据节点存储数据的本地路径)配置的文件夹,以存储数据块,若有一些磁盘不可用且不可用磁盘个数大于磁盘故障容忍度(dfs.datanode.failed.volumes.tolerated,HDFS可忍受的磁盘损坏的个数)的值,则数据节点就会启动失败,该情况导致海杜普集群服务质量下降。因此,设置合适的磁盘故障容忍度的值对于保持集群的稳定性至关重要。
相关技术中,可根据数据节点中的磁盘数量手动设置一个确定的值,默认值是0。如果使用默认值或者手动设置一个较小的值(例如1),将会导致数据节点服务的磁盘容灾能力过低,增大集群的运维难度,存储效率较低,在数据节点服务较少的情况下,可能导致集群不可用;如果手动设置一个较大的值,例如设置为n-1,其中,n表示数据节点中磁盘的数量,而对于进程关闭的数据节点中的数据块,需要调度至正常工作的数据节点中,该过程会造成很多不必要的块复制,将会导致集群中副本恢复任务增多,占用正常服务资源,在可用的磁盘资源和存储数据容量接近的情况下,有可能会导致服务不可用。
根据本发明实施例,提供了一种磁盘故障容忍度配置方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种磁盘故障容忍度配置方法,可用于上述的集群中的预设节点,图1是根据本发明实施例的磁盘故障容忍度配置方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点。
其中,本发明实施例涉及的健康指标数据为SMART指标数据,SMART(Self-Monitoring Analysis and Reporting Technology,自我检测分析与报告技术),用于自动监控磁盘驱动器完好状况和报告潜在问题。数据节点用于采集包含的各个磁盘的SMART指标数据,并用于将SMART指标数据写入HDFS,以供HDFS调用。
本发明实施例在集群运行过程中,获取集群中的数据节点中的每个磁盘的健康指标数据,磁盘的健康指标数据例如为在预设时间段内的磁盘的健康指标数据,预设时间段例如可以为90天。
具体实施时,可以在集群中各个数据节点中部署磁盘的SMART指标数据定时采集任务,并将采集到的SMART指标数据存入HDFS中。本实施例涉及的SMART指标可包括但不限于重映射扇区数、通电累计时长、无法校正错误计数、命令超时、磁头升降周期计数、温度、待映射扇区数、无法校正扇区数、总逻辑块地址写入及总逻辑块地址读取。对于每一个SMART指标,可采集该指标的归一化值(VALUE)、原始值(RAW_VALUE)、阈值(THRESH)以及最差值(WORST)等数据,例如下表所示,采集的数据写入HDFS中具有预设格式(例如csv)的文件。
ID(编号) 属性名 含义
5 Reallocated_Sector_Ct 重映射扇区数
9 Power_On_Hours 通电累计时长
187 Uncorrectable_Error_Cnt 无法校正错误计数
188 Command_Timeout 命令超时
193 Load_Cycle_Count 磁头升降周期计数
194 Temperature_Celsius 温度
197 Current_Pending_Sector 待映射扇区数
198 Offline_Uncorrectable 无法校正扇区数
241 Host_Writes_32MiB 总逻辑块地址写入
242 Host_Reads_32MiB 总逻辑块地址读取
本发明实施例的一个数据节点(DataNode)具体为集群中单独的一台机器(用于存储数据的服务器/主机),用于存储数据,集群例如可以为海杜普集群。集群中的数据节点可为集群中的全部节点,或者为集群中的一个或多个节点。
另外,本发明实施例的集群中的不同的数据节点各自具有的磁盘数量可以相同。
步骤S102,根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果。
本实施例中,对于每个磁盘,磁盘的健康指标数据用于表征着磁盘的故障发生可能结果,该健康指标数据可包含多种健康指标的数据,从而能够较准确地预测出磁盘的故障发生可能结果。
步骤S103,根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。
其中,对数据节点的磁盘故障容忍度进行配置,包括:对数据节点的磁盘故障容忍度的值进行自动设置。
本实施例中的磁盘故障容忍度的值具体表示允许数据节点启动的故障磁盘的最大数量,超过该最大数量,则不允许磁盘所在的数据节点启动。
应当理解的是,本发明执行一次上述步骤S101至步骤S103,则实现依次对磁盘故障容忍度的自动配置。
本发明实施例能够在集群运行过程中根据实际预测的磁盘的故障发生可能结果,动态配置磁盘故障容忍度,避免了磁盘故障容忍度的手动配置方案存在的磁盘故障容忍度的值过高或过低的问题,可见本实施例能够减少不必要的块复制,减少集群中副本恢复任务,减少对正常服务资源的占用,提高数据节点服务可用性,本实施例还能够提高数据节点服务的磁盘容灾能力,并降低集群的运维难度,以及有助于提高存储效率,从而在避免磁盘故障对集群的影响的前提下明显地提升集群服务质量,进而极大地提高集群的稳定性和可靠性,并能够有助于提高集群的智能化水平。
在一些可选的实施方式中,上述步骤S102包括:利用训练完成的分类模型预测出每个磁盘的故障发生可能结果;其中,分类模型输入为每个磁盘的健康指标数据,分类模型输出为每个磁盘的故障发生可能结果,故障发生可能结果包括故障结果和/或健康结果。其中,本实施例涉及的故障结果用于表示磁盘将会发生故障,健康结果表示磁盘健康。
其中,分类模型具体为二分类模型,例如SVM(Support Vector Machines,支持向量机,一种二分类模型,用于将实例的特征向量映射为空间中的一些点)。
本实施例还可包括对每个磁盘的健康指标数据进行预处理,以及将预处理后的健康指标数据输入至分类模型中。其中,预处理过程包括但不限于标准化处理、差分处理等,以有助于提高分类模型的预测精度。
本发明实施例通过训练完成的分类模型,以预处理后的健康指标数据作为输入,提高对每个磁盘的故障发生可能结果预测的准确性。
在本实施例中提供了一种磁盘故障容忍度配置方法,可用于上述的集群中的预设节点,图2是根据本发明实施例的磁盘故障容忍度配置方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S202,根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S203,根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。
具体地,上述步骤S203包括:
步骤S2031,确定发生损坏的磁盘的第一数量;以及根据每个磁盘的故障发生可能结果,确定存在损坏风险的磁盘的第二数量。
本实施例能够确定发生损坏的磁盘的数量,即第一数量,并能够确定存在损坏风险的磁盘的数量,即第二数量,从而实现对处于这两种状态的磁盘数量进行统计。
其中,存在损坏风险的磁盘表示本实施例预测出的即将发生损坏的磁盘,本实施例中的“即将”可以理解为“几分钟”、“几小时”或“几天”。
步骤S2032,根据第一数量与第二数量的第一总和,确定数据节点的磁盘故障容忍度的目标值,以及利用目标值对磁盘故障容忍度进行配置。
本实施例可以将第一数量与第二数量的第一总和作为数据节点的磁盘故障容忍度的目标值,或者对数据节点的磁盘故障容忍度的目标值进行微调之后的结果作为数据节点的磁盘故障容忍度的目标值。
其中,对第一数量与第二数量进行求和后得到第一总和,即第一总和=第一数量+第二数量。
相比于常规技术,本实施例不仅考虑了预测的存在损坏风险的磁盘对磁盘故障容忍度设置的影响,而且考虑了发生损坏的磁盘对磁盘故障容忍度设置的影响,基于存在风险的与发生故障的磁盘数量总和,更准确地配置磁盘故障容忍度。
在一些可选的实施方式中,上述步骤S2031中,确定发生损坏的磁盘的第一数量,包括:
步骤a1,接收数据节点上报的发生损坏的磁盘的监测信息;其中,发生损坏的磁盘为多次未采集到健康指标数据的磁盘。
其中,多次未采集到健康指标数据的磁盘是指至少两次未采集到健康指标数据的磁盘。
本实施例中,多次未采集到健康指标数据的磁盘的情况包括:磁盘对数据节点的数据采集指令无响应,或者磁盘停止工作;其中,数据采集指令为定时采集任务执行时由数据节点向磁盘发出的指令。
结合上述的实施例,对于未采集到的SMART指标数据,在HDFS中具有预设格式的文件中将其值设置为0,例如,将归一化值、原始值、阈值及最差值均置0,从而标识出未采集到的SMART指标数据。
步骤a2,根据监测信息,确定发生损坏的磁盘的第一数量。
对于一次容忍度设置过程中获取的监测信息,统计发生损坏的磁盘的数量,即得到第一数量。
本实施例中未采集到的SMART指标数据在HDFS中具有预设格式的文件中将其值设置为0,例如通过对设置结果为0的数量的统计,可以精准地确定发生损坏的磁盘的数量。
在一些可选的实施方式中,上述步骤S2032中,根据第一数量与第二数量的第一总和,确定数据节点的磁盘故障容忍度的目标值,包括:
步骤b1,确定第一总和与预设值的第二总和。
本实施例将第一数量与第二数量的第一总和与预设值相加,得到第二总和,本实施例的预设值为一个设定的经验值,该预设值例如可以为1,当然并不限于此。
步骤b2,将第二总和确定为数据节点的磁盘故障容忍度的目标值。
本实施例在发生故障的磁盘数量与存在损坏风险的磁盘数量的总和基础上增加预设值,以得到数据节点的磁盘故障容忍度的目标值,从而进一步提高集群可靠性。
在本实施例中提供了一种磁盘故障容忍度配置方法,可用于上述的集群中的预设节点,图3是根据本发明实施例的磁盘故障容忍度配置方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S302,根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S303,根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S304,确定发生损坏的磁盘和存在损坏风险的磁盘的总容量。
本发明实施例中,计算发生损坏的所有磁盘的第一容量和存在风险的所有磁盘的第二容量,将第一容量与第二容量的和作为发生损坏的磁盘和存在损坏风险的磁盘的总容量。
步骤S305,判断总容量是否大于或等于预设容量阈值,预设容量阈值为集群中所有磁盘的容量的一半。
具体实施时的预设容量阈值也可以根据实际需要设定,例如为集群中所有磁盘的容量的5/8,当然并不限于此。
步骤S306,如果总容量大于或等于预设容量阈值,则发出告警。
本实施例中,告警的对象可以是运维人员和/或用户等。
如果总容量小于预设容量阈值,则对总容量进行持续监测。
本发明还能够在集群中的磁盘的损坏程度达到一定的阈值时,及时向运维人员进行告警,以有效地提醒运维人员进行及时处理,进而可保证集群服务的可靠性,提升了集群用户的体验和满意度。
在本实施例中提供了一种磁盘故障容忍度配置方法,可用于上述的集群中的预设节点,图4是根据本发明实施例的磁盘故障容忍度配置方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点。
具体地,本发明实施例上述步骤S401中的获取数据节点中的每个磁盘的健康指标数据,包括:按照预设周期,获取集群中的每个数据节点中的每个磁盘的健康指标数据。其中,预设周期例如可以是7天,当然并不限于此。
步骤S402,根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S403,根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。详细请参见图1所示实施例的步骤S103,在此不再赘述。
本发明实施例基于预设周期还能定期地获取集群中磁盘的健康指标数据,以根据最新的健康指标数据预测出每个磁盘的故障发生可能结果,进而实现了对数据节点的磁盘故障容忍度进行自动更新。
如图5所示,集群包括多个数据节点,例如,图示中的数据节点1、数据节点2……数据节点n,n表示数据节点的个数;每一个数据节点分别包括多个磁盘,例如,图示中的数据节点1包括磁盘11、磁盘12……,数据节点2包括磁盘21、磁盘22……,数据节点n包括磁盘n1、磁盘n2……,当然,应用本发明的集群结构并不限于图中的结构。
本实施例在集群中的预设节点部署磁盘故障定时预测任务,结合图6所示,通过SPARK(一个围绕速度、易用性和复杂分析构建的大数据处理框架)定时(例如每个月一次)从HDFS获取集群中每一个磁盘历史90天的SMART指标数据,并做标准化、差分等数据处理后输入至训练好的机器学习SVM算法模型中,对磁盘进行故障预测,最终将预测结果写入csv文件,存入HDFS中。故障发生可能结果中的健康结果表示“健康”状态,故障结果表示“高风险”状态,其中“健康”表示磁盘状态良好,短时间内不会发生故障,而“高风险”表明磁盘随时可能发生故障。对于未采集到SMART指标数据的磁盘,被视为故障盘,表示“已故障”状态,也会写入预测结果的csv文件中。本实施例的上述训练完成的机器学习SVM算法模型,其基于硬盘SMART指标数据,通过SPARK机器学习组件,采用SVM算法模型训练得到的。如图6所示,训练SVM算法模型时,取每块磁盘最近90天的历史SMART指标数据,并进行标准化、差分等数据处理,将处理后的数据作为特征数据,实现特征提取过程,以及将特征数据输入至模型中,同时将这些磁盘最终的故障状态(1表示故障,0表示健康)作为标签,按照上述过程对模型进行迭代训练,直至模型性能满足实际需要。
确定故障发生可能结果之后,即拿到磁盘故障预测结果之后,将已经故障的磁盘个数和高风险的磁盘加在一起加上1就是HDFS磁盘容忍度的值,当这些磁盘的容量大于HDFS下磁盘存储总量一半(告警阈值可以动态配置)的时候,达到集群磁盘告警阈值。具体地,HDFS中启动SetTolerated(动态磁盘容忍度设置)进程,定时监测HDFS磁盘损坏情况,定时时间可以按需地配置,通过获取的值动态修改“dfs.datanode.failed.volumes.tolerated”值,该值需要在重启数据节点后才能生效,可以选择在业务低峰滚动重启,不影响客户业务。HDFS中启动VolumeAlarm(磁盘损坏告警开关)进程,定时获取主机磁盘损坏程度,当达到预警阈值时,可以接入微信或者邮箱之类的通信系统,给相关运维人员,尽快处理损坏磁盘,避免业务崩盘问题。
在本实施例中还提供了一种磁盘故障容忍度配置装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种磁盘故障容忍度配置装置,如图7所示,包括:
数据获取模块701,用于获取数据节点中的每个磁盘的健康指标数据,数据节点为集群中用于存储数据的节点。
故障预测模块702,用于根据每个磁盘的健康指标数据,预测出每个磁盘的故障发生可能结果。
容忍度配置模块703,用于根据每个磁盘的故障发生可能结果,对数据节点的磁盘故障容忍度进行配置。
在一些可选的实施方式中,容忍度配置模块703包括:
第一确定单元,用于确定发生损坏的磁盘的第一数量;且第一确定单元还用于根据每个磁盘的故障发生可能结果,确定存在损坏风险的磁盘的第二数量。
配置单元,用于根据第一数量与第二数量的第一总和,确定数据节点的磁盘故障容忍度的目标值,以及用于利用目标值对磁盘故障容忍度进行配置。
在一些可选的实施方式中,第一确定单元包括:
接收子单元,用于接收数据节点上报的发生损坏的磁盘的监测信息;其中,发生损坏的磁盘为多次未采集到健康指标数据的磁盘。
第一确定子单元,用于根据监测信息,确定发生损坏的磁盘的第一数量。
在一些可选的实施方式中,配置单元包括:
第二确定子单元,用于确定第一总和与预设值的第二总和。
目标值生成子单元,用于将第二总和确定为数据节点的磁盘故障容忍度的目标值。
在一些可选的实施方式中,本发明实施例的磁盘故障容忍度配置装置,还包括:
第二确定单元,用于确定发生损坏的磁盘和存在损坏风险的磁盘的总容量。
容量判断单元,用于判断总容量是否大于或等于预设容量阈值,预设容量阈值为集群中所有磁盘的容量的一半。
告警发出单元,用于在总容量大于或等于预设容量阈值的条件下发出告警。
在一些可选的实施方式中,数据获取模块701用于按照预设周期,获取集群中的每个数据节点中的每个磁盘的健康指标数据。
在一些可选的实施方式中,故障预测模块702,用于利用训练完成的分类模型预测出每个磁盘的故障发生可能结果;其中,分类模型输入为每个磁盘的健康指标数据,分类模型输出为每个磁盘的故障发生可能结果,故障发生可能结果包括故障结果和/或健康结果。
本实施例中的磁盘故障容忍度配置装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种计算机设备,具有上述图7所示的磁盘故障容忍度配置装置。
请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种磁盘故障容忍度配置方法,其特征在于,所述方法包括:
获取数据节点中的每个磁盘的健康指标数据,所述数据节点为集群中用于存储数据的节点;
根据所述每个磁盘的健康指标数据,预测出所述每个磁盘的故障发生可能结果;
根据所述每个磁盘的故障发生可能结果,对所述数据节点的磁盘故障容忍度进行配置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述每个磁盘的故障发生可能结果,对所述数据节点的磁盘故障容忍度进行配置,包括:
确定发生损坏的磁盘的第一数量;以及根据所述每个磁盘的故障发生可能结果,确定存在损坏风险的磁盘的第二数量;
根据所述第一数量与所述第二数量的第一总和,确定所述数据节点的磁盘故障容忍度的目标值,以及利用所述目标值对所述磁盘故障容忍度进行配置。
3.根据权利要求2所述的方法,其特征在于,所述确定发生损坏的磁盘的第一数量,包括:
接收所述数据节点上报的发生损坏的磁盘的监测信息;
其中,所述发生损坏的磁盘为多次未采集到健康指标数据的磁盘;
根据所述监测信息,确定发生损坏的磁盘的第一数量。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一数量与所述第二数量的第一总和,确定所述数据节点的磁盘故障容忍度的目标值,包括:
确定所述第一总和与预设值的第二总和;
将所述第二总和确定为所述数据节点的磁盘故障容忍度的目标值。
5.根据权利要求2所述的方法,其特征在于,所述数据节点包括所述集群中用于存储数据的每个节点;所述方法还包括:
确定所述发生损坏的磁盘和所述存在损坏风险的磁盘的总容量;
判断所述总容量是否大于或等于预设容量阈值,所述预设容量阈值为所述集群中所有磁盘的容量的一半;
如果所述总容量大于或等于预设容量阈值,则发出告警。
6.根据权利要求1所述的方法,其特征在于,所述获取数据节点中的每个磁盘的健康指标数据,包括:
按照预设周期,获取所述集群中的每个数据节点中的每个磁盘的健康指标数据。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述每个磁盘的健康指标数据,预测出所述每个磁盘的故障发生可能结果,包括:
利用训练完成的分类模型预测出所述每个磁盘的故障发生可能结果;
其中,所述分类模型输入为所述每个磁盘的健康指标数据,所述分类模型输出为所述每个磁盘的故障发生可能结果,所述故障发生可能结果包括故障结果和/或健康结果。
8.一种磁盘故障容忍度配置装置,其特征在于,所述装置包括:
数据获取模块,用于获取数据节点中的每个磁盘的健康指标数据,所述数据节点为集群中用于存储数据的节点;
故障预测模块,用于根据所述每个磁盘的健康指标数据,预测出所述每个磁盘的故障发生可能结果;
容忍度配置模块,用于根据所述每个磁盘的故障发生可能结果,对所述数据节点的磁盘故障容忍度进行配置。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的磁盘故障容忍度配置方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的磁盘故障容忍度配置方法。
CN202310515958.3A 2023-05-06 2023-05-06 磁盘故障容忍度配置方法、装置、计算机设备及存储介质 Pending CN116737066A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310515958.3A CN116737066A (zh) 2023-05-06 2023-05-06 磁盘故障容忍度配置方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310515958.3A CN116737066A (zh) 2023-05-06 2023-05-06 磁盘故障容忍度配置方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116737066A true CN116737066A (zh) 2023-09-12

Family

ID=87908768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310515958.3A Pending CN116737066A (zh) 2023-05-06 2023-05-06 磁盘故障容忍度配置方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116737066A (zh)

Similar Documents

Publication Publication Date Title
US10223224B1 (en) Method and system for automatic disk failure isolation, diagnosis, and remediation
US10147048B2 (en) Storage device lifetime monitoring system and storage device lifetime monitoring method thereof
CN108536548B (zh) 一种磁盘坏道的处理方法、装置及计算机存储介质
US10157105B2 (en) Method for data protection for cloud-based service system
US8181161B2 (en) System for automatically collecting trace detail and history data
US11030038B2 (en) Fault prediction and detection using time-based distributed data
CN111857592B (zh) 基于对象存储系统的数据存储方法及装置、电子设备
CN111796959B (zh) 宿主机容器自愈方法、装置及系统
CN114328102A (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN110737924B (zh) 一种数据保护的方法和设备
RU2653254C1 (ru) Способ, узел и система управления данными для кластера базы данных
CN104735107A (zh) 分布式存储系统中数据副本恢复方法及装置
CN111324304A (zh) 一种基于ssd硬盘寿命预测的数据保护方法及装置
CN109684141A (zh) 一种磁盘故障诊断方法、装置、终端及可读存储介质
CN108021484B (zh) 云端服务系统中磁盘预期寿命值的延长方法及其系统
CN114758714A (zh) 一种硬盘故障预测方法、装置、电子设备及存储介质
CN115878052A (zh) Raid阵列巡检方法、巡检装置和电子设备
CN114860487A (zh) 一种内存故障识别方法及一种内存故障隔离方法
CN111966531B (zh) 数据快照方法、装置、计算机设备及存储介质
CN117591351A (zh) 磁盘故障检测模型的训练方法以及磁盘故障检测方法
DE112014001736T5 (de) Ein Primärspeichermodul mit Aufzeichnung des Nutzungsverlaufs und Anwendungsmöglichkeiten des Primärspeichermoduls bei einem Computersystem
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
CN116737066A (zh) 磁盘故障容忍度配置方法、装置、计算机设备及存储介质
CN112069014B (zh) 一种存储系统故障模拟方法、装置、设备和介质
CN115391129A (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