CN109358966B - 一种存储业务管理方法和装置 - Google Patents

一种存储业务管理方法和装置 Download PDF

Info

Publication number
CN109358966B
CN109358966B CN201811119172.5A CN201811119172A CN109358966B CN 109358966 B CN109358966 B CN 109358966B CN 201811119172 A CN201811119172 A CN 201811119172A CN 109358966 B CN109358966 B CN 109358966B
Authority
CN
China
Prior art keywords
storage pool
service
issuing
storage
sanlock
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
CN201811119172.5A
Other languages
English (en)
Other versions
CN109358966A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811119172.5A priority Critical patent/CN109358966B/zh
Publication of CN109358966A publication Critical patent/CN109358966A/zh
Application granted granted Critical
Publication of CN109358966B publication Critical patent/CN109358966B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种存储业务管理方法和装置。涉及虚拟化计算***技术,解决了无法正常下发I/O导致的业务中断及***稳定性差的问题。该方法包括:在向存储池下发I/O发生异常时,检测存储池状态;在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。本发明提供的技术方案适用于虚拟化***业务运行管理,实现了稳定的分布式资源锁。

Description

一种存储业务管理方法和装置
技术领域
本发明涉及虚拟化计算***技术,尤指一种存储业务管理方法和装置。
背景技术
随着计算机技术和网络技术的快速发展,大型集群在实际生产环境中广泛应用。通过虚拟化,组成云计算***。在虚拟化的云计算***中,常常需要协调动作,不通***或者是在同一个***内的不同主机之间共享同一个或一组资源,往往需要互斥来防止彼此的干扰,保证数据一致性,通过分布式锁能够达到不同主机间操作互斥的效果。
分布式锁一般来说需要支撑大规格环境下的使用,可使用sanlock来管理虚拟化***中的资源。由于sanlock使用delta leases和disk paxos两个算法来保证sanlock资源能够正常的使用,sanlock的delta leases在存储上下刷心跳,来确定当前节点的存活行,在delta leases的基础上disk paxos算法来保证资源的稳健获取,同时保证资源的唯一性,保证不发生多实例现象。
sanlock的delta leases是小I/O下发,每一次sanlock更新delta leases时候下发一个块(block)大小的I/O。在***I/O流程中,一般来说是优先保证大I/O块的下发,因此,当存储池压力比较大的时候,会优先大I/O的下发,导致sanlock的fence,即杀掉存储池上运行的业务,防止多实例现象。这样,delta leases就无法正常下发I/O,影响了***的稳定运行。
发明内容
为了解决上述技术问题,本发明提供了一种存储业务管理方法和装置。通过在发生I/O异常时检测存储池状态,并在存储池状态为业务压力过大的情况下,中止部分业务的I/O下发进程,保证业务正常运行,解决了无法正常下发I/O导致的业务中断及***稳定性差的问题。
为了达到本发明目的,本发明提供了一种存储业务管理方法,包括:
在向存储池下发I/O发生异常时,检测存储池状态;
在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。
优选的,该方法还包括:
在向存储池下发I/O的下发超时次数达到预置的第二阈值时,隔离对所述存储池的操作。
优选的,在向存储池下发I/O发生异常时,检测存储池状态的步骤之前,还包括:
在I/O下发超时次数达到预置的第一阈值时,判定向存储池下发I/O发生异常,所述第一阈值小于所述第二阈值。
优选的,中止部分业务的I/O下发进程的步骤包括:
中止所述存储池部分非核心业务的I/O下发进程。
优选的,中止所述存储池部分非核心业务的I/O下发进程的步骤包括:
按照I/O下发量由大至小的顺序对非核心业务进行排序;
依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。
优选的,该方法还包括:
在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
本发明还提供了一种存储业务管理装置,包括:
存储池状态检测模块,用于在向存储池下发I/O发生异常时,检测存储池状态;
进程中止模块,用于在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。
优选的,所述进程中止模块具体用于中止所述存储池部分非核心业务的I/O下发进程,该模块包括:
排序单元,用于按照I/O下发量由大至小的顺序对非核心业务进行排序;
中止单元,用于依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。
优选的,该装置还包括:
注册管理模块,用于在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
本发明提供了一种存储业务管理方法和装置,在向存储池下发I/O发生异常时,检测存储池状态,在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。解决了无法正常下发I/O导致的业务中断及***稳定性差的问题,实现了稳定的分布式资源锁。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明的一实施例提供的一种存储业务管理方法的流程示意图;
图2为本发明的一实施例提供的一种存储业务管理装置的结构示意图;
图3为图2中进程中止模块202的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
sanlock的delta leases是小I/O下发,每一次sanlock更新delta leases时候下发一个块(block)大小的I/O。在***I/O流程中,一般来说是优先保证大I/O块的下发,因此,当存储池压力比较大的时候,会优先大I/O的下发,因为sanlock仅仅下发一个块大小的I/O,因此在I/O堆栈中会排的比较靠后,因此,导致sanlock的delta leases无法下发,即高I/O压力时候delta leases下发的I/O会超时失败,导致sanlock的fence,即杀掉存储池上运行的业务,防止多实例现象。这样,delta leases就无法正常下发I/O,影响了***的稳定运行。
为了解决上述问题,本发明的实施例提供了一种存储业务管理方法和装置,在获取分布式锁时候对业务进行核心及非核心的区分,当存储池压力较大时候,sanlock在达到fence之前查看该存储池非核心业务的I/O压力,杀掉I/O压力较大的非核心业务,从而保证核心业务稳健运行。
本发明的一实施例提供了一种存储业务管理方法,使用该方法完成存储池业务管理的流程如图1所示,包括:
步骤101、在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
通过在sanlock上注册进程的优先级,同时在I/O超时之后动态的检查存储池的压力,同时根据I/O压力值来动态的调整高I/O压力的非核心业务进程运行主机,同时保证了sanlock的delta leases正常的下发I/O,减小sanlock的fence发生,提高sanlock的稳定性,减少fence主机。
可简单的将业务划分为核心业务与非核心业务。进一步的,还可对非核心业务的优先级进行进一步细分,在后续中止进程时,除了考虑资源占用情况外,也可结合应用需求,同时参考优先级信息来选定中止的进程。
具体的,在注册进程获取分布锁资源时,在进程的name信息中标注进程的优先级。
步骤102、在向存储池下发I/O发生异常时,检测存储池状态。
本发明实施例中,在I/O下发超时次数达到预置的第一阈值时,判定向存储池下发I/O发生异常,所述第一阈值小于所述第二阈值。
优选的,在向存储池下发I/O的下发超时次数达到预置的第二阈值时,隔离对所述存储池的操作。第一阈值小于第二阈值,这样,在由于存储池业务压力过大造成下发I/O异常时,只需要减轻业务压力即可保障继续正常运行,避免了非必要的fence。
检查存储池使用压力较大的非核心业务的进程I/O压力,其特征在于当在sanlock获取锁资源时候,都需要注册自己的进程的信息,通过进程的信息,查看每一个进程的I/O压力,同时根据进程在sanlock中注册的标签,选择非核心业务来进行处理。
步骤103、在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。
本步骤中,中止所述存储池部分非核心业务的I/O下发进程。优选的,可按照I/O下发量由大至小的顺序对非核心业务进行排序,再依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。I/O压力较大的进程占用存储池上的I/O性能,因此中止掉其中部分进程能够释放一部分I/O性能,从而保证存储池的I/O性能,同时能够保证核心业务稳健运行。优先处理I/O下发量大、占用资源较多的非核心业务进程中止,能够较快的达到减轻业务压力的效果,效率更高。
本发明的一实施例还提供了一种存储业务管理方法,在sanlock的deltaleasesI/O下发超时一定时间后,在sanlock需要fence虚拟机之前,通过检查delta leases下发I/O失败原因,如果是I/O压力过大的原因导致的时候,通过检查在该存储池上获取的资源的信息,检查每个获取资源的进程的I/O压力,从进程中排除掉核心业务的进程,杀掉非核心业务的进程,从而保证sanlock的delta leases算法正常下发I/O,同时还能保障核心业务稳健运行。
1)Sanlock的delta leases算法是定时在ids空间上定时刷新自己的时间戳,sanlock在连接存储池时候即add_lockspace时候可以制定I/O超时时间,sanlock会在2*I/O超时时间去下发一次I/O,当四次I/O下发不下去时候,sanlock则执行fence操作,因此可以在sanlock第一/二/三次I/O下发不下去时候进行存储池check操作,修改sanlock的delta leases刷新超时时候处理机制,在sanlock的delta leases下发超时的第一/二/三次时候启动I/O校验装置,检查存储池状态,是否是因为存储池压力过大导致sanlock的delta leases无法下发I/O。
2)如果是因为存储池压力过大,导致sanlock无法下发I/O的话,则检查该存储池上所有非核心业务的I/O压力。修改核心业务向sanlock申请锁资源时候注册的name信息,标注自己是核心业务,让sanlock知道自己核心业务的状况,避免误伤核心业务。
3)检查该存储池上获取资源的进程ID,同时根据进程的ID和进程的标注是否是核心业务从而从中间挑出非核心业务但是I/O压力较大的进程执行kill操作,从而减轻存储池的I/O压力。为了保证sanlock的delta leases能够正常的下发I/O,中止/杀死该主机上非核心业务进程I/O压力最大的进程,即I/O下发量最大的非核心业务进程,检查此后sanlock的delta leases是否能够正常的下发I/O。如果sanlock的delta leases仍无法正常的下发I/O,则继续中止第二大的非核心业务进程,直至sanlock能够正常的下发deltaleases。
本发明实施例提供的存储业务管理方法,当存储池I/O压力较大时候,通过动态的减少非核心业务对存储池的I/O压力,保证存储池上核心业务的正常的I/O下发,同时能够保证sanlock的delta leases正常的下发I/O,避免因为存储池压力较大,导致sanlock的delta leases无法下发,从而fence整个存储池上的业务。
本发明的一实施例还提供了一种存储业务管理装置,其结构如图2所示,包括:
存储池状态检测模块201,用于在向存储池下发I/O发生异常时,检测存储池状态;
进程中止模块202,用于在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。
优选的,所述具体用于中止所述存储池部分非核心业务的I/O下发进程,该模块的结构如图3所示,包括:
排序单元2021,用于按照I/O下发量由大至小的顺序对非核心业务进行排序;
中止单元2022,用于依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。
优选的,该装置还包括:
注册管理模块203,用于在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
本发明的实施例提供了一种存储业务管理方法和装置,在向存储池下发I/O发生异常时,检测存储池状态,在所述存储池业务压力过大的情况下,中止部分业务的I/O下发进程。解决了无法正常下发I/O导致的业务中断及***稳定性差的问题,实现了稳定的分布式资源锁。在获取sanlock资源锁的时候注册进程的标签(核心/非核心),当存储池压力较大时候,通过动态的中止压力较大的非核心业务,保证了核心业务对存储I/O的需求,同时保证sanlock锁能够正常的提供稳定的分布式锁服务,避免因为I/O压力较大时候导致sanlock误伤所有的存储池上使用的I/O的进程,提高存储池的稳定性和sanlock的稳定性。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

Claims (6)

1.一种存储业务管理方法,其特征在于,包括:
如果采用sanlock管理虚拟化***中的资源,在向存储池下发I/O发生异常时,检测存储池状态,其中所述异常为sanlock的delta leases的块下发失败;
在所述存储池业务压力过大的情况下,在因存储池压力较大导致sanlock到达fence之前,中止部分业务的I/O下发进程,控制sanlock的delta leases的块下发;
其中,所述中止部分业务的I/O下发进程的步骤包括:
中止所述存储池部分非核心业务的I/O下发进程;
其中,所述中止所述存储池部分非核心业务的I/O下发进程的步骤包括:
按照I/O下发量由大至小的顺序对非核心业务进行排序;
依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。
2.根据权利要求1所述的存储业务管理方法,其特征在于,该方法还包括:
在向存储池下发I/O的下发超时次数达到预置的第二阈值时,隔离对所述存储池的操作。
3.根据权利要求2所述的存储业务管理方法,其特征在于,在向存储池下发I/O发生异常时,检测存储池状态的步骤之前,还包括:
在I/O下发超时次数达到预置的第一阈值时,判定向存储池下发I/O发生异常,所述第一阈值小于所述第二阈值。
4.根据权利要求1所述的存储业务管理方法,其特征在于,该方法还包括:
在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
5.一种存储业务管理装置,其特征在于,包括:
存储池状态检测模块,用于如果采用sanlock管理虚拟化***中的资源,在向存储池下发I/O发生异常时,检测存储池状态,其中所述异常为sanlock的deltaleases的块下发失败;
进程中止模块,用于在所述存储池业务压力过大的情况下,在因存储池压力较大导致sanlock到达fence之前,中止部分业务的I/O下发进程,控制sanlock的delta leases的块下发;
其中,所述进程中止模块具体用于中止所述存储池部分非核心业务的I/O下发进程,该模块包括:
排序单元,用于按照I/O下发量由大至小的顺序对非核心业务进行排序;
中止单元,用于依序遂个中止非核心业务的I/O下发进程,直至能够向所述存储池正常下发I/O。
6.根据权利要求5所述的存储业务管理装置,其特征在于,该装置还包括:
注册管理模块,用于在获取分布锁资源时,为各个业务添加标注,所述标注表明相应的业务是核心业务或非核心业务。
CN201811119172.5A 2018-09-25 2018-09-25 一种存储业务管理方法和装置 Active CN109358966B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811119172.5A CN109358966B (zh) 2018-09-25 2018-09-25 一种存储业务管理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811119172.5A CN109358966B (zh) 2018-09-25 2018-09-25 一种存储业务管理方法和装置

Publications (2)

Publication Number Publication Date
CN109358966A CN109358966A (zh) 2019-02-19
CN109358966B true CN109358966B (zh) 2021-04-30

Family

ID=65347725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811119172.5A Active CN109358966B (zh) 2018-09-25 2018-09-25 一种存储业务管理方法和装置

Country Status (1)

Country Link
CN (1) CN109358966B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225485A (zh) * 2022-07-22 2022-10-21 济南浪潮数据技术有限公司 一种ha灵敏度的配置方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305712A (ja) * 2001-04-05 2002-10-18 Fuji Photo Film Co Ltd デジタルカメラ及び画像情報受付システム
CN107357664A (zh) * 2017-07-13 2017-11-17 郑州云海信息技术有限公司 一种分布式锁的实现方法和装置
CN107517277A (zh) * 2017-10-09 2017-12-26 郑州云海信息技术有限公司 一种sanlock锁实现方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305712A (ja) * 2001-04-05 2002-10-18 Fuji Photo Film Co Ltd デジタルカメラ及び画像情報受付システム
CN107357664A (zh) * 2017-07-13 2017-11-17 郑州云海信息技术有限公司 一种分布式锁的实现方法和装置
CN107517277A (zh) * 2017-10-09 2017-12-26 郑州云海信息技术有限公司 一种sanlock锁实现方法和装置

Also Published As

Publication number Publication date
CN109358966A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
CN108039964B (zh) 基于网络功能虚拟化的故障处理方法及装置、***
US10095576B2 (en) Anomaly recovery method for virtual machine in distributed environment
CN108023967B (zh) 一种数据平衡方法、装置及分布式存储***中的管理设备
CN106487486B (zh) 业务处理方法和数据中心***
CN107729185B (zh) 一种故障处理方法及装置
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN107395458B (zh) ***监控方法及装置
US10802716B2 (en) Hard disk management method, system, electronic device, and storage medium
CN111176888B (zh) 云存储的容灾方法、装置及***
US10915251B2 (en) Dynamic parallelism
US10102088B2 (en) Cluster system, server device, cluster system management method, and computer-readable recording medium
CN111464589A (zh) 智能合约处理方法、计算机设备及存储介质
CN109358966B (zh) 一种存储业务管理方法和装置
US9092396B2 (en) Standby system device, a control method, and a program thereof
CN103810038A (zh) 一种ha集群中虚拟机存储文件迁移方法及其装置
US20160197994A1 (en) Storage array confirmation of use of a path
CN114826962A (zh) 一种链路故障检测方法、装置、设备及机器可读存储介质
CN109510730B (zh) 分布式***及其监控方法、装置、电子设备及存储介质
US20220206836A1 (en) Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium
US11544091B2 (en) Determining and implementing recovery actions for containers to recover the containers from failures
CN110837428B (zh) 存储设备管理方法及装置
CN109324764B (zh) 一种分布式独占锁的实现方法和装置
US10467113B2 (en) Executing programs through a shared NVM pool
CN110839068B (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