CN103297264B - 一种云平台故障恢复方法和系统 - Google Patents

一种云平台故障恢复方法和系统 Download PDF

Info

Publication number
CN103297264B
CN103297264B CN201310140872.3A CN201310140872A CN103297264B CN 103297264 B CN103297264 B CN 103297264B CN 201310140872 A CN201310140872 A CN 201310140872A CN 103297264 B CN103297264 B CN 103297264B
Authority
CN
China
Prior art keywords
server
disk
write
data
failure
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.)
Expired - Fee Related
Application number
CN201310140872.3A
Other languages
English (en)
Other versions
CN103297264A (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.)
Electronic Science And Technology Of Sichuan Foundation For Education Development, University of
Original Assignee
WUXI UESTC TECHNOLOGY DEVELOPMENT 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 WUXI UESTC TECHNOLOGY DEVELOPMENT Co Ltd filed Critical WUXI UESTC TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN201310140872.3A priority Critical patent/CN103297264B/zh
Publication of CN103297264A publication Critical patent/CN103297264A/zh
Application granted granted Critical
Publication of CN103297264B publication Critical patent/CN103297264B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种云平台故障恢复方法和系统,方法包括通过任务执行时间和磁盘读写速度对服务器进行故障检测;通过故障检测的结果计算出系统的服务器故障率;如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。应用本发明进行云平台故障恢复,由于基于宏观现象来检测硬件故障,并进行有效的故障自动恢复的策略,保证了云平台在宏观上的硬件可靠,防止硬件层面的问题对用户体验产生不良影响。

Description

一种云平台故障恢复方法和系统
技术领域
本发明涉及云计算领域,尤其涉及一种云平台故障恢复方法和系统。
背景技术
随着云平台的快速发展,云平台的大范围运用也已经进入我们的视野。随着云计算规模的扩大,不可靠的硬件成为了云平台最基本的挑战。集群规模达到上千台后,单机上的小概率事件变成了必然的、频繁发生的事件。硬盘、硬盘控制器、CPU、内存、主板、电源等故障造成的宕机每天都会发生。这类硬件失效故障,我们称之为“硬”故障(fail-stop故障)。此外,还有一类故障现象不那么明显,称之为“软”故障,例如,磁盘可访问但速度只有正常的1/10,服务器没有宕机但程序运行缓慢,网络时好时坏,等等。这类“软”故障同样会影响服务质量,因为在线服务如果执行缓慢会造成客户端超时,而对离线作业而言,哪怕只有1%的数据处理任务缓慢,也会拖延整个数据分析作业的完成时间。
硬、软故障发生都会对系统的可靠性甚至可用性造成不良影响,因此如何及时有效的进行故障检测和恢复就变的比较关键。对于硬故障的检测业界已经有成熟的方案,检测“软”故障有两种思路:一种思路是针对每种具体故障设计检测方法。但“软”故障产生的原因可能很多,例如执行缓慢可能是服务器硬件故障、网络故障、磁盘故障、操作系统软件故障等,逐一检测会使系统过于复杂。
发明内容
本发明的目的在于提出一种云平台故障恢复方法和系统,保障云平台在宏观上的硬件可靠,防止硬件层面的问题对用户体验产生不良影响。
为达此目的,本发明采用以下技术方案:
一种云平台故障恢复方法,包括:
通过任务执行时间和磁盘读写速度对服务器进行故障检测;
通过故障检测的结果计算出系统的服务器故障率;
如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
进一步的,所述通过任务执行时间和磁盘读写速度对服务器进行故障检测包括:
检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障;
检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
进一步的,所述检测出该服务器发生读写磁盘故障之后,还包括:
停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。
进一步的,进一步包括:
对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。
进一步的,所述检测服务器的任务执行时间具体为:通过所述内存日志文件检测服务器的任务执行时间。
一种云平台故障恢复系统,包括:
故障检测模块,用于通过任务执行时间和磁盘读写速度对服务器进行故障检测;
计算模块,用于通过故障检测的结果计算出系统的服务器故障率;
自动恢复模块,用于如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
进一步的,故障检测模块包括:
执行时间检测单元,用于检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障;
读写速度检测单元,用于检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
进一步的,还包括:
备份模块,用于停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。
进一步的,还包括:
日志写入模块,用于对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。
进一步的,所述检测服务器的任务执行时间具体为:通过所述内存日志文件检测服务器的任务执行时间。
本发明的有益效果为:本发明通过提供一种云平台故障恢复方法,通过从宏观现象来检测硬件故障,找寻故障服务器和磁盘,采用有效的故障自动恢复的策略,用户故障恢复实现了在线应用的低延时需求。
附图说明
图1是本发明一种云平台故障恢复方法的第一实施例流程图;
图2是本发明一种云平台故障恢复方法的第二实施例流程图;
图3是本发明一种云平台故障恢复系统的第一实施例框图;
图4是本发明一种云平台故障恢复系统的第二实施例框图;
图5是本发明一种云平台故障恢复系统故障检测模块实施例框图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本发明一种云平台故障恢复方法的第一实施例流程如图1所示:
步骤101,通过任务执行时间和磁盘读写速度对服务器进行故障检测。
步骤102,通过故障检测的结果计算出系统的服务器故障率。
步骤103,如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
本实施例提出一种云平台故障恢复方法,通过检测服务器和磁盘访问时间,为问题磁盘增加副本备份,实现了在宏观上的硬件可靠,防止硬件层面的问题对用户体验产生不良影响。
本发明一种云平台故障恢复方法的第二实施例流程如图2所示:
步骤201,检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障。
检测作业在某台服务器上执行特别缓慢的情况:我们统计每个作业在每台服务器上的执行时间。因为输入数据被均匀地切片,每台服务器上的执行时间应该大致相同。如果某台服务器上执行时间超过了平均时间的三倍,它就被标记为“缓慢”。如果各种不同作业在某台服务器上都“缓慢”,那么我们有充分理由怀疑这台服务器有问题(但不知道原因)。调度系统会自动把这台服务器加入黑名单,不再用它执行作业。之后再自动或人工检查这些可疑服务器的具体故障原因。
步骤202,检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
检测磁盘读写慢的情况:我们在分布式文件系统里也会统计每次磁盘访问的时间。如果某块磁盘有大比率的访问时间远远超过系统平均值,那么很有可能是这块磁盘快要发生故障了。
步骤203,停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。
文件系统此时会做三件事:1)停止写新数据到这块磁盘,防止更多数据处于危险中;2)开始为这块磁盘上的数据增加更多副本备;3)当这块磁盘上的所有数据都有额外的副本,就可以将它下线,待运维处理。
步骤204,对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。
多副本技术是业内广泛认可的有效防止数据丢失的技术,通常采用流水线方式传递写需求以减轻单个节点的负载。但这会导致数据写入的延迟增大,因为只有当所有副本都写成功后才能结束一个写操作。由于磁盘读写特性,上述多副本写入磁盘的延迟通常在几十毫秒量级,有时可达100毫秒以上。云环境中的线上应用,有时会有更高的实时性要求。通过内存日志文件(in-memory redo log)来解决此问题。
内存日志文件的基本思想基于以下事实:虽然服务器因为掉电或者宕机丢失内存数据的概率高于硬盘损坏的概率(所以在单机系统中我们会把日志文件写入磁盘以避免内存数据丢失),但多台服务器同时故障的概率却可以低到能够满足数据可靠性的要求。对于实时性要求高的应用,提供接口,使得数据文件进入指定数量服务器的内存即可认为是写成功;后台线程随后会把内存中的数据批量写入磁盘。
在保证内存日志的可靠性和低延时上做了如下考虑:
1.保证redo log是多份拷贝的,避免单机故障造成数据损坏或丢失。
2.为降低写入延迟,确保redo log写入多个数据服务器内存buffer后即返回成功,由后台工作线程保证内存数据在很短时间内持久化到磁盘。
3.严格检测redo log数据的健康状态,并及时采取补救策略确保数据的可靠性。
步骤205,通过故障检测的结果计算出系统的服务器故障率。
步骤206,如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
云环境中,由于分布式系统有硬件故障多发的特点,保证数据可靠性成为文件系统的一个挑战。在云计算平台的实际运营中发生故障最多的硬件是硬盘。硬盘故障占数据中心故障总数的80%。原因之一是硬盘是数量最多的部件,例如一个3000节点的集群就有30000多块硬盘,即使硬盘本身的平均无故障工作时间(MTBF)达到1,000,000小时,30000块硬盘也意味着平均每33小时就有一次硬盘故障发生。实际运营数据显示硬盘厂家标称的MTBF值并不可靠,生产环境的硬盘故障率可以几倍到几十倍于标称值。硬盘故障最直接影响的就是分布式文件系统。为了保证数据安全性,文件系统对所有的数据均采用了多份拷贝。在创建文件时,用户可以指定文件数据的拷贝数目,文件系统会保证数据分布在不同的节点和不同的机架上,使得单个硬件故障不会造成数据无法访问。
而限制故障自动恢复机制的作用范围,是出于如下考虑:正常情况下,任何时候集群中都有且仅有很小比例的服务器发生故障,此时自动恢复有效,即使无效也不会造成灾难;如果发生(罕见的)大范围故障,明智的策略是尽量降低系统负载,因为此时实际上已不可能靠故障自动恢复来保持服务质量。万一此时故障自动恢复机制试图进行大量操作,并超出预设的限制,即暂时禁止掉这部分逻辑。以前面提到的硬盘访问变慢为例:考虑到硬盘平均日故障率小于千分之一,我们给前述的疑似问题硬盘自动下线机制设置上限,例如,任何时候只能通过此机制下线总数1%的硬盘。此限制可以防止极端情况下,如大量硬盘出现问题,或者自动下线机制本身故障时,故障恢复机制本身不会引发灾难。
本发明云平台故障恢复系统的第一实施例框图如图3所示,该系统包括故障检测模块310、计算模块320、自动恢复模块330。
其中,故障检测模块310,用于通过任务执行时间和磁盘读写速度对服务器进行故障检测;计算模块320,用于通过故障检测的结果计算出系统的服务器故障率;自动恢复模块330,用于如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
本发明云平台故障恢复系统的第二实施例框图如图4所示,该系统包括故障检测模块410、备份模块420、日志写入模块430、计算模块440、自动恢复模块450。
其中,故障检测模块410,用于通过任务执行时间和磁盘读写速度对服务器进行故障检测;备份模块420,用于停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。日志写入模块430,用于对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。计算模块440,用于通过故障检测的结果计算出系统的服务器故障率;自动恢复模块450,用于如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
如图5所示故障检测模块310包括执行时间检测单元311,用于检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障;读写速度检测单元312,用于检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
分布式系统的一个优势是对单点故障的屏蔽:数据的可靠性通过多台服务器间的复制备份得到极大的增强。对于单机,内存数据是易丢失的;但在多机环境下,如果能保证服务器不是同一时间宕机,并辅以严格的策略保证,内存数据在不降低可靠性的情况下,可以极大地提高性能。数据中心保证了很好的硬件隔离和冗余,并备有UPS等应急措施,为我们提供了使用内存缓冲良好的硬件环境。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (10)

1.一种云平台故障恢复方法,其特征在于,包括:
通过任务执行时间和磁盘读写速度对服务器进行故障检测;
通过故障检测的结果计算出系统的服务器故障率;
如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
2.根据权利要求1所述的一种云平台故障恢复方法,其特征在于,所述通过任务执行时间和磁盘读写速度对服务器进行故障检测包括:
检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障;
检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
3.根据权利要求2所述的一种云平台故障恢复方法,其特征在于,所述检测出该服务器发生读写磁盘故障之后,还包括:
停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。
4.根据权利要求2所述的一种云平台故障恢复方法,其特征在于,进一步包括:
对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。
5.根据权利要求4所述的一种云平台故障恢复方法,其特征在于,所述检测服务器的任务执行时间具体为:通过所述内存日志文件检测服务器的任务执行时间。
6.一种云平台故障恢复系统,其特征在于,包括:
故障检测模块,用于通过任务执行时间和磁盘读写速度对服务器进行故障检测;
计算模块,用于通过故障检测的结果计算出系统的服务器故障率;
自动恢复模块,用于如果服务器故障率小于预置的阈值,对服务器进行自动恢复,否则,禁止对服务器进行自动恢复。
7.如权利要求6所述的系统,其特征在于,故障检测模块包括:
执行时间检测单元,用于检测服务器的任务执行时间,如果该服务器的任务执行时间大于等于预置的任务故障时间,检测出该服务器发生执行任务故障;
读写速度检测单元,用于检测服务器的磁盘读写速度,如果该服务器的磁盘读写速度大于等于预置的磁盘读写故障速度,检测出该服务器发生读写磁盘故障。
8.如权利要求7所述的系统,其特征在于,还包括:
备份模块,用于停止将新数据写入该故障磁盘,将该故障磁盘的数据拷贝到其他磁盘作为副本,当该故障磁盘的全部数据拷贝到其他磁盘后停止使用该故障磁盘。
9.如权利要求7所述的系统,其特征在于,还包括:
日志写入模块,用于对于写入目标服务器的磁盘的数据,当该数据进入目标服务器的内存时,反馈数据成功写入磁盘信息,将该数据成功写入磁盘信息写入保存在内存中的内存日志文件。
10.如权利要求9所述的系统,其特征在于,所述检测服务器的任务执行时间具体为:通过所述内存日志文件检测服务器的任务执行时间。
CN201310140872.3A 2013-04-19 2013-04-19 一种云平台故障恢复方法和系统 Expired - Fee Related CN103297264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310140872.3A CN103297264B (zh) 2013-04-19 2013-04-19 一种云平台故障恢复方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310140872.3A CN103297264B (zh) 2013-04-19 2013-04-19 一种云平台故障恢复方法和系统

Publications (2)

Publication Number Publication Date
CN103297264A CN103297264A (zh) 2013-09-11
CN103297264B true CN103297264B (zh) 2017-04-12

Family

ID=49097612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310140872.3A Expired - Fee Related CN103297264B (zh) 2013-04-19 2013-04-19 一种云平台故障恢复方法和系统

Country Status (1)

Country Link
CN (1) CN103297264B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577937A (zh) * 2013-11-15 2014-02-12 浪潮(北京)电子信息产业有限公司 云计算系统中管理资源的方法和系统
CN104391777B (zh) * 2014-11-12 2018-01-23 中标软件有限公司 基于Linux操作系统的云平台及其运行监控方法和装置
CN105242998B (zh) * 2015-09-01 2019-05-14 福建新大陆软件工程有限公司 一种基于hdfs的磁盘故障检测方法及系统
TWI608358B (zh) * 2016-08-04 2017-12-11 先智雲端數據股份有限公司 用於雲端服務系統中資料保護的方法
CN108173672B (zh) * 2017-12-04 2021-06-08 华为技术有限公司 检测故障的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171231A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd アレイディスク群の保守管理システム、アレイディスク群の保守管理装置、アレイディスク群の保守管理方法およびアレイディスク群の保守管理プログラム
CN101541024A (zh) * 2008-03-19 2009-09-23 富士通株式会社 无线通信系统,管理、控制和维护方法及其装置
CN102387049A (zh) * 2011-11-25 2012-03-21 浪潮电子信息产业股份有限公司 一种基于snmp协议的云服务质量评价方法
CN102981870A (zh) * 2012-11-05 2013-03-20 曙光信息产业(北京)有限公司 Linux系统中的磁盘离线处理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008171231A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd アレイディスク群の保守管理システム、アレイディスク群の保守管理装置、アレイディスク群の保守管理方法およびアレイディスク群の保守管理プログラム
CN101541024A (zh) * 2008-03-19 2009-09-23 富士通株式会社 无线通信系统,管理、控制和维护方法及其装置
CN102387049A (zh) * 2011-11-25 2012-03-21 浪潮电子信息产业股份有限公司 一种基于snmp协议的云服务质量评价方法
CN102981870A (zh) * 2012-11-05 2013-03-20 曙光信息产业(北京)有限公司 Linux系统中的磁盘离线处理方法

Also Published As

Publication number Publication date
CN103297264A (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
CN103297264B (zh) 一种云平台故障恢复方法和系统
US6526521B1 (en) Methods and apparatus for providing data storage access
US8935563B1 (en) Systems and methods for facilitating substantially continuous availability of multi-tier applications within computer clusters
US20150261784A1 (en) Dynamically Varying the Number of Database Replicas
US9063906B2 (en) Thread sparing between cores in a multi-threaded processor
Rezaei et al. Rejuvenating high available virtualized systems
CN105224888B (zh) 一种基于安全预警技术的磁盘阵列数据保护系统
US20090287967A1 (en) Resilient Data Storage in the Presence of Replication Faults and Rolling Disasters
CN110750213A (zh) 一种硬盘管理方法及装置
CN102880522A (zh) 面向硬件故障的系统关键文件故障纠正方法及装置
CN110569149A (zh) 基于故障探测触发Oracle容灾自动应急切换的方法
CN101145946A (zh) 一种基于消息日志的容错集群系统和方法
CN102523257A (zh) 一种基于iaas云平台的虚拟机容错方法
US9195528B1 (en) Systems and methods for managing failover clusters
CN104734895B (zh) 业务监控系统及业务监控方法
CN111078474A (zh) 一种数据安全备份系统及方法
CN110515756A (zh) 一种存储系统的故障预防方法、装置、设备和存储介质
CN105391790A (zh) 类RAC One Node的数据库高可用方法
JP3447347B2 (ja) 障害検出方法
US20220334911A1 (en) Method, electronic device, and computer product for storage management
CN103716186B (zh) 具有网络故障容错能力的人工话务系统及其方法
CN107294786A (zh) 一种故障信息处理方法及装置
CN109213446B (zh) 写缓存模式的切换方法、装置、设备及可读存储介质
CN113254277B (zh) 存储集群osd故障修复方法、存储介质、监视器及存储集群
CN203180972U (zh) 一种烟草企业计算机数据备份系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210113

Address after: No.2006 Xiyuan Avenue, Chengdu, Sichuan 611731

Patentee after: University of Electronic Science and technology of Sichuan foundation for education development

Address before: Room 402, area a, Liye building, science and Technology Park, China sensor network university, Taike Park, Wuxi New District, Wuxi City, Jiangsu Province, 214135

Patentee before: WUXI UESTC TECHNOLOGY DEVELOPMENT Co.,Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170412

CF01 Termination of patent right due to non-payment of annual fee