集群作业调度方法和装置制造方法

文档序号:6621548阅读:225来源:国知局
集群作业调度方法和装置制造方法
【专利摘要】本发明提供了一种集群作业调度方法和装置,其中方法包括对作业进行分组,并将分组后的作业调度给管理节点上至少两个虚拟机,该至少两个虚拟机使用预先配置的共享存储中的共享资源进行作业处理;若进行作业处理的虚拟机出现故障,将作业切换到备份虚拟机;若对管理节点进行为维护,或者管理节点出现故障,将管理节点上的虚拟机迁移到其他管理节点上。本发明通过对作业进行分组,并将分组后的作业调度给不同的虚拟机,不同的虚拟机使用共享存储中的共享资源进行作业处理,从而实现作业调度系统的高容错和高可用。
【专利说明】集群作业调度方法和装置

【技术领域】
[0001] 本发明涉及计算机【技术领域】,尤其涉及一种集群作业调度方法和装置。

【背景技术】
[0002] 当前,基于网络的计算机技术,促进了集群系统的发展和广泛应用。用高速网络 将高性能工作站或个人电脑按某种结构连接成集群,实现并行计算,只需要很小的花费就 可以得到大型机和并行机的性能。随着高性能计算机集群应用规模的不断扩充,集群的管 理问题显得越加突出。
[0003] 作业调度系统,一般部署在高性能集群系统的管理节点上,主要负责接收用户提 交的作业请求,并根据特定的调度规则以及用户对作业的要求选择合适的资源来完成用户 作业请求。对用户而言,在作业调度系统的帮助下,高性能计算集群系统就好像一台具备很 多CPU的大服务器,多个用户可以同时使用这个系统。作业调度系统管理用户提交的作业 请求,为各个作业请求合理地分配资源,从而确保充分利用集群系统的计算能力,并尽可能 迅速地得到运算结果。因此,作业调度系统对集群的管理非常重要。
[0004] 传统的作业调度系统部署有两种,一种方法是在集群的管理节点单机部署,即把 作业调度软件,例如开源的Torque+Maui软件,直接部署在集群的管理节点上。但是,采用 管理节点单机部署的方式,一旦该管理节点发生故障,便会导致整个集群的作业调度系统 停止工作,整个集群的作业无法进行合理有效的调度,作业运行也就会出现停滞,严重影响 系统运行效率。
[0005] 另一种方法是使用心跳(heartbeat)方案,即将作业调度软件部署在集群的两个 管理节点上,并在该两个管理节点上还部署heartbeat。由一管理节点的作业调度系统提供 作业调度服务,当该管理节点出现故障后,由heartbeat控制切换到另一管理节点上,由另 一管理节点继续提供作业调度服务。但是,由于heartbeat只能监控到管理节点,并不能对 作业调度系统的资源进行监控,一旦监控的资源出现故障,例如Maui服务出现故障,就不 能有效的进行资源切换,因而也会导致整个集群作业无法进行合理有效的调度,严重影响 系统运行效率。


【发明内容】

[0006] 为了解决上述技术问题,本发明提供了一种集群作业调度方法和装置,能够实现 作业调度系统的高容错和高可用。
[0007] 为了达到本发明目的,本发明提供了一种集群作业调度方法,包括:对用户提交的 作业进行分组,作业调度操作系统将分组后的作业调度给管理节点上的至少两个虚拟机, 该至少两个虚拟机使用预先配置的共享存储中的共享资源进行作业处理;若管理节点上进 行作业处理的虚拟机出现故障,作业调度操作系统将作业切换到备份虚拟机,备份虚拟机 使用共享存储中的共享资源进行作业处理;若对管理节点进行为维护,或者管理节点出现 故障,作业调度操作系统将管理节点上的虚拟机迁移到其他管理节点上,迁移后的虚拟机 使用共享存储中的共享资源进行作业处理。
[0008] 进一步地,该方法还包括:在管理节点上部署共享存储,该共享存储中包括共享资 源。
[0009] 进一步地,该方法还包括:在管理节点上部署至少两个虚拟机,具体为,通过基于 内核的虚拟机KVM在管理节点上部署至少两个虚拟机;若虚拟机使用相同的作业调度操作 系统,先通过KVM部署一个虚拟机,然后采用克隆Clone方式部署其他虚拟机。
[0010] 进一步地,该方法还包括:在虚拟机上部署作业调度操作系统。
[0011] 进一步地,若管理节点上进行作业处理的虚拟机出现故障,包括:若作业调度操作 系统对虚拟机进行处理的作业无法调度,则判断出管理节点上进行作业处理的虚拟机出现 故障。
[0012] 进一步地,备份虚拟机是预先部署的虚拟机冗余,或者在判断出虚拟机出现故障 后采用Clone方式创建。
[0013] 本发明提供了一种集群作业调度装置,包括:分组模块,用于对用户提交的作业进 行分组;调度模块,用于将分组后的作业调度给管理节点上的至少两个虚拟机,该至少两个 虚拟机使用共享存储中的共享资源进行作业处理;切换模块,用于若管理节点上进行作业 处理的虚拟机出现故障,将作业切换到备份虚拟机,备份虚拟机使用共享存储中的共享资 源进行作业处理;迁移模块,用于若对管理节点进行为维护,或者管理节点出现故障,将管 理节点上的虚拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源进 行作业处理。
[0014] 进一步地,该装置还包括:第一部署模块,用于在管理节点上部署共享存储,该共 享存储中包括共享资源。
[0015] 进一步地,该装置还包括:第二部署模块,用于在管理节点上部署至少两个虚拟 机,该虚拟机存储在共享存储中;该第二部署模块在管理节点上部署至少两个虚拟机,具体 包括:第二部署模块通过基于内核的虚拟机KVM在管理节点上部署至少两个虚拟机;若虚 拟机使用相同的作业调度操作系统,先通过KVM部署一个虚拟机,然后采用克隆Clone方式 部署其他虚拟机。
[0016] 进一步地,该装置还包括:第三部署模块,用于在虚拟机上部署作业调度操作系 统。
[0017] 进一步地,该装置还包括:第一判断模块,用于判断管理节点上进行作业处理的虚 拟机是否出现故障;若作业调度操作系统对虚拟机进行处理的作业无法调度,则判断出管 理节点上进行作业处理的虚拟机出现故障。
[0018] 进一步地,该装置还包括:第二判断模块,用于判断管理节点是否在进行维护,或 者管理节点是否出现故障;根据预先设置的管理周期,判断出管理节点在进行维护;若管 理节点间网络故障或者管理节点宕机,判断出管理节点出现故障。
[0019] 与现有技术相比,本发明包括:对用户提交的作业进行分组,作业调度操作系统将 分组后的作业调度给管理节点上的至少两个虚拟机,该至少两个虚拟机使用预先配置的共 享存储中的共享资源进行作业处理;若管理节点上进行作业处理的虚拟机出现故障,作业 调度操作系统将作业切换到备份虚拟机,备份虚拟机使用共享存储中的共享资源进行作业 处理;若对管理节点进行为维护,或者管理节点出现故障,作业调度操作系统将管理节点上 的虚拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源进行作业处 理。本发明通过对用户提交的作业进行分组,并将分组后的作业调度给管理节点上不同的 虚拟机,因为各虚拟机之间互不干扰,所以不仅对用户提交的作业进行了负载分配,还会在 一台虚拟机出现问题,不会影响管理节点上其他虚拟机的正常运行,从而能够实现作业调 度系统的高容错。此外,本发明在管理节点上部署共享存储,若进行虚拟机切换,切换后的 备份虚拟机使用共享存储中的共享资源进行作业处理,若进行虚拟机迁移,迁移后的虚拟 机也使用共享存储中的共享资源进行作业处理,避免了资源出现故障,不能有效的进行资 源切换的问题,从而能够实现作业调度系统的高可用。

【专利附图】

【附图说明】
[0020] 图1是本发明集群作业调度方法的流程示意图。
[0021] 图2是本发明集群作业调度装置的结构示意图。

【具体实施方式】
[0022] 以下将结合附图所示的【具体实施方式】对本发明进行详细描述。
[0023] 本发明集群作业调度系统包括管理节点,虚拟机和共享存储,其中,
[0024] 管理节点是物理节点,集群作业调度系统至少包括两个管理节点;
[0025] 在管理节点上通过基于内核的虚拟机(KVM,Kernel-based Virtual Machine)部 署虚拟机,KVM是一种开源的系统虚拟化模块,是Linux操作系统内核自带的虚拟机工具, 可以在管理节点上通过KVM创建和管理虚拟机,一个管理节点上可以部署多个虚拟机,每 个虚拟机可以部署独立的作业调度操作系统;
[0026] 在管理节点上部署共享存储,共享存储可以是网络文件系统(NFS,Network File System)或者网络附加存储(NAS, Network Attached Storage),用于共享管理节点的数据 和存储虚拟机等。
[0027] 图1是本发明集群作业调度方法的流程示意图,如图1所示,包括:
[0028] 步骤11,在管理节点上部署共享存储,该共享存储中包括共享资源。
[0029] 在本步骤中,在管理节点上创建共享存储,并配置该共享存储的存储资源,具体可 以使用Virsh命令或者通过图形界面进行共享存储的存储资源配置。
[0030] 步骤12,在管理节点上部署至少两个虚拟机,该虚拟机存储在共享存储中。
[0031] 在本步骤中,可以通过KVM创建虚拟机,如果虚拟机使用相同的作业调度操作系 统,可以先创建一个虚拟机,然后执行Clone命令,即采用克隆的方式创建其他虚拟机。
[0032] 虚拟机在创建时可以采用相同的硬件资源,例如1G内存,2个CPU,10G硬盘空间 等,创建完毕后可以通过需求再进行硬件配置的修改。
[0033] 步骤13,在虚拟机上部署作业调度操作系统。
[0034] 在本步骤中,每个虚拟机可以运行独立的操作系统,所以在每个虚拟机上部署作 业调度操作系统,作业调度操作系统的主要是对用户提交的作业进行排队、调度以及为作 业分配内存、输入输出设备等必要的资源,当作业执行完毕时,负责回收系统资源。作业调 度操作系统可以是开源的Torque+Maui软件。
[0035] 步骤14,对用户提交的作业进行分组,作业调度操作系统将分组后的作业调度给 管理节点上的至少两个虚拟机,该至少两个虚拟机使用共享存储中的共享资源进行作业处 理。
[0036] 在本步骤中,对用户提交的作业进行分组,可以是根据作业类型进行分组,或者根 据用户定义进行分组。
[0037] 作业调度操作系统将分组后的作业调度给不同的虚拟机,使用不同的虚拟机来进 行作业处理,如此,一方面对用户提交的作业进行了负载分配,另一方面,一旦一个虚拟机 出现问题,不会影响其他虚拟机的正常运行。
[0038] 步骤15,若管理节点上进行作业处理的虚拟机出现故障,作业调度操作系统将作 业切换到备份虚拟机,备份虚拟机使用共享存储中的共享资源进行作业处理。
[0039] 在本步骤中,若作业调度操作系统对虚拟机进行处理的作业无法调度,例如查看 作业状态为作业在预定的时间内没有处理完成,或者查看作业调度服务状态为调度失败, 则可以判断出进行作业处理的虚拟机出现故障。
[0040] 作业调度操作系统将故障虚拟机上的作业切换到备份虚拟机。备份虚拟机可以是 预先部署的虚拟机冗余,例如预先将两台虚拟机进行处于备份处理,作业调度操作系统给 其中一台虚拟机分配作业,另一台虚拟机作为备份虚拟机,当进行作业处理的虚拟机出现 故障后,作业调度操作系统将作业切换到备份虚拟机。备份虚拟机也可以是在作业调度操 作系统判断出虚拟机出现故障后,通过KVM采用克隆方式快速创建。
[0041] 步骤16,若对管理节点进行为维护,或者管理节点出现故障,作业调度操作系统将 管理节点上的虚拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源 进行作业处理。
[0042] 在本步骤中,为了保障管理节点的运行稳定,管理节点需要定时维护,例如预先设 置的管理周期,当根据该管理周期对管理节点进行维护时,作业调度操作系统将运行在当 前管理节点上的虚拟机动态迁移到其他管理节点上,在管理节点维护结束后,作业调度操 作系统将虚拟机迁移回来。
[0043] 如果管理节点出现故障,例如由于管理节点间的网络出现问题或者管理节点宕 机,导致其他节点无法访问管理节点,将运行在当前管理节点上的虚拟机动态迁移到其他 管理节点上。
[0044] 图2是本发明集群作业调度装置的结构示意图,如图2所示,包括:
[0045] 第一部署模块,用于在管理节点上部署共享存储,该共享存储中包括共享资源。
[0046] 第二部署模块,用于在管理节点上部署至少两个虚拟机,该虚拟机存储在共享存 储中。
[0047] 第三部署模块,用于在虚拟机上部署作业调度操作系统。
[0048] 分组模块,用于对用户提交的作业进行分组。
[0049] 调度模块,用于将分组后的作业调度给管理节点上的至少两个虚拟机,该至少两 个虚拟机使用共享存储中的共享资源进行作业处理。
[0050] 第一判断模块,用于判断管理节点上进行作业处理的虚拟机是否出现故障;
[0051] 切换模块,用于若管理节点上进行作业处理的虚拟机出现故障,将作业切换到备 份虚拟机,备份虚拟机使用共享存储中的共享资源进行作业处理。
[0052] 第二判断模块,用于判断管理节点是否进行维护,或者管理节点是否出现故障。
[0053] 迁移模块,用于若对管理节点进行维护,或者管理节点出现故障,将管理节点上的 虚拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源进行作业处 理。
[0054] 本发明通过对用户提交的作业进行分组,并将分组后的作业调度给管理节点上不 同的虚拟机,因为各虚拟机之间互不干扰,所以不仅对用户提交的作业进行了负载分配,还 会在一台虚拟机出现问题,不会影响管理节点上其他虚拟机的正常运行,从而能够实现作 业调度系统的1?容错。
[0055] 此外,本发明在管理节点上部署共享存储,若进行虚拟机切换,切换后的备份虚拟 机使用共享存储中的共享资源进行作业处理,若进行虚拟机迁移,迁移后的虚拟机也使用 共享存储中的共享资源进行作业处理,避免了资源出现故障,不能有效的进行资源切换的 问题,从而能够实现作业调度系统的高可用。
[0056] 应当理解,虽然本说明书根据实施方式加以描述,但并非每个实施方式仅包含一 个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说 明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可 以理解的其他实施方式。
[0057] 上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说 明,它们并非用于限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式 或变更均应包含在本发明的保护范围之内。
【权利要求】
1. 一种集群作业调度方法,其特征在于,包括: 对用户提交的作业进行分组,作业调度操作系统将分组后的作业调度给管理节点上 的至少两个虚拟机,该至少两个虚拟机使用预先配置的共享存储中的共享资源进行作业处 理; 若管理节点上进行作业处理的虚拟机出现故障,作业调度操作系统将作业切换到备份 虚拟机,备份虚拟机使用共享存储中的共享资源进行作业处理; 若对管理节点进行为维护,或者管理节点出现故障,作业调度操作系统将管理节点上 的虚拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源进行作业处 理。
2. 根据权利要求1所述的集群作业调度方法,其特征在于,该方法还包括: 在管理节点上部署共享存储,该共享存储中包括共享资源。
3. 根据权利要求1所述的集群作业调度方法,其特征在于,该方法还包括:在管理节点 上部署至少两个虚拟机,具体为, 通过基于内核的虚拟机KVM在管理节点上部署至少两个虚拟机; 若虚拟机使用相同的作业调度操作系统,先通过KVM部署一个虚拟机,然后采用克隆 Clone方式部署其他虚拟机。
4. 根据权利要求1所述的集群作业调度方法,其特征在于,该方法还包括:在虚拟机上 部署作业调度操作系统。
5. 根据权利要求1所述的集群作业调度方法,其特征在于,所述若管理节点上进行作 业处理的虚拟机出现故障,包括: 若作业调度操作系统对虚拟机进行处理的作业无法调度,则判断出管理节点上进行作 业处理的虚拟机出现故障。
6. 根据权利要求1所述的集群作业调度方法,其特征在于,所述备份虚拟机是预先部 署的虚拟机冗余,或者在判断出虚拟机出现故障后采用Clone方式创建。
7. -种集群作业调度装置,其特征在于,包括: 分组模块,用于对用户提交的作业进行分组; 调度模块,用于将分组后的作业调度给管理节点上的至少两个虚拟机,该至少两个虚 拟机使用共享存储中的共享资源进行作业处理; 切换模块,用于若管理节点上进行作业处理的虚拟机出现故障,将作业切换到备份虚 拟机,备份虚拟机使用共享存储中的共享资源进行作业处理; 迁移模块,用于若对管理节点进行为维护,或者管理节点出现故障,将管理节点上的虚 拟机迁移到其他管理节点上,迁移后的虚拟机使用共享存储中的共享资源进行作业处理。
8. 根据权利要求7所述的集群作业调度装置,其特征在于,该装置还包括: 第一部署模块,用于在管理节点上部署共享存储,该共享存储中包括共享资源。
9. 根据权利要求7所述的集群作业调度装置,其特征在于,该装置还包括: 第二部署模块,用于在管理节点上部署至少两个虚拟机,该虚拟机存储在共享存储 中; 该第二部署模块在管理节点上部署至少两个虚拟机,具体包括: 第二部署模块通过基于内核的虚拟机KVM在管理节点上部署至少两个虚拟机;若虚拟 机使用相同的作业调度操作系统,先通过KVM部署一个虚拟机,然后采用克隆Clone方式部 署其他虚拟机。
10. 根据权利要求7所述的集群作业调度装置,其特征在于,该装置还包括: 第三部署模块,用于在虚拟机上部署作业调度操作系统。
11. 根据权利要求7所述的集群作业调度装置,其特征在于,该装置还包括: 第一判断模块,用于判断管理节点上进行作业处理的虚拟机是否出现故障; 若作业调度操作系统对虚拟机进行处理的作业无法调度,则判断出管理节点上进行作 业处理的虚拟机出现故障。
12. 根据权利要求7所述的集群作业调度装置,其特征在于,该装置还包括:第二判断 模块,用于判断管理节点是否在进行维护,或者管理节点是否出现故障; 根据预先设置的管理周期,判断出管理节点在进行维护; 若管理节点间网络故障或者管理节点宕机,判断出管理节点出现故障。
【文档编号】G06F11/16GK104123183SQ201410363745
【公开日】2014年10月29日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】马四腾 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1