多集群操作方法技术

技术编号:24330768 阅读:42 留言:0更新日期:2020-05-29 19:31
本发明专利技术公开了一种多集群操作方法,包括:为用户添加一个属性;管理员通过设置所述属性的值来确定用户操作单集群、或操作当前登陆集群、或操作多集群。通过上述技术方案,能够避免将集群信息暴漏给用户的问题。

【技术实现步骤摘要】
多集群操作方法
本专利技术涉及计算机集群
,具体的来说,涉及一种多集群操作方法。
技术介绍
SLURM是一种开源的,容错较好的,具有高可伸缩性的集群作业调度系统,关键功能有:分配计算资源,以便执行工作任务;提供框架,用于在分配的节点集上启动、执行、监视作业;仲裁资源争夺问题。集群由一个slurmctld守护进程管理的所有节点组成。SLURM提供了将命令目标指向其他集群的能力,而不是调用命令的本地集群,或者除了本地集群之外。启用此行为后,用户可以将作业提交到一个或多个集群,并从这些远程集群接收状态。部分客户端命令现在提供“-M,--clusters=”选项,该选项提供与逗号分隔的集群列表进行通信的能力。目前,用户进行SLURM多集群操作必须用“-M,--clusters=”选项显式指定集群列表,管理员不得不将集群信息暴漏给用户,不能满足管理员的控制集群信息的需求。SLURM暂未提供向用户屏蔽集群信息的功能。
技术实现思路
针对相关技术中的上述问题,本专利技术提出一种多集群操作方法,能够不需要显式指定集群名称。本专利技术的技术方案是这样实现的:根据本专利技术的一个方面,提供了一种多集群操作方法,包括:为用户添加一个属性;管理员通过设置属性的值来确定用户操作单集群、或操作当前登陆集群、或操作多集群。根据本专利技术的实施例,为用户添加一个属性包括:在数据库中为用户表增加一个字段,字段为用户可操作的集群名列表。根据本专利技术的实施例,管理员设置属性的值包括:对于只对第一集群有权限的用户,当管理员设置字段的值为第一集群名时,如果用户登录在有权限的第一集群,则用户操作第一集群,如果用户登录在没有权限的第二集群,则用户操作第一集群。根据本专利技术的实施例,管理员设置属性的值包括:对于对第一集群和第二集群均有权限的用户,当管理员设置字段的值为第一集群名时,如果用户登录在有权限的第一集群,则用户操作第一集群,如果用户登录在有权限的第二集群,则用户操作第一集群。根据本专利技术的实施例,管理员设置属性的值包括:对于对第一集群和第二集群均有权限的用户,当管理员设置字段的值为当前集群名时,如果用户登录在有权限的第一集群,则用户只操作第一集群,如果用户登录在有权限的第二集群,则用户只操作第二集群。根据本专利技术的实施例,管理员设置属性的值包括:对于对第一集群和第二集群均有权限的用户,当管理员设置字段的值为第一集群名和第二集群名、或者为所有集群名时,如果用户登录在有权限的第一集群,则用户操作第一集群和第二集群,如果用户登录在有权限的第二集群,则用户操作第一集群和第二集群。根据本专利技术的实施例,用户操作单集群、或操作当前登陆集群、或操作多集群包括:用于提交作业至单集群、或当前登陆集群、或多集群。根据本专利技术的实施例,当执行提交作业时,当需要执行多集群操作时,依次查询数据库中的用户和集群信息并返回集群列表,以从所有可用集群中选择集群以提交作业。本专利技术的上述技术方案实现了一种SLURM动态可配置的多集群操作方法。给用户添加一个属性,管理员通过设置该属性的值来决定用户提交作业到单集群、当前登陆集群、多集群等功能。因此,用户不需要关心集群信息,从而避免了现有技术中将集群信息暴漏给用户的问题。默认情况下用户可以提交作业到所有集群。另外,通过增强集群管理员的控制功能,满足了集群管理员保护集群信息的需求。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例的多集群操作方法的流程图;图2是根据本专利技术实施例的批量提交作业命令的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。图1是根据本专利技术实施例的多集群操作方法的流程图。如图1所示,本专利技术实施例的多集群操作方法可以包括以下步骤:S11,为用户添加一个属性;S12,管理员通过设置属性的值来确定用户操作单集群、或操作当前登陆集群、或操作多集群。本专利技术的上述技术方案,通过添加属性,管理员通过设置用户属性来决定用户操作单集群、当前登陆集群、多集群等功能。所以,与现有技术相比,用户不需要显式指定集群名称。具体的,可以在数据库中给用户表增加一个fedandmulticluster字段,该字段意义为用户可以操作的集群名字列表,具体的设置情况包括:(1)只对一个集群A(第一集群)有权限的用户,管理员设置fedandmulticluster=A。用户登陆在有权限的集群A,可以操作集群A;用户登陆在没有权限的集群B(第二集群),可以操作集群A;(2)对两个集群A,B有权限的用户,管理员设置fedandmulticluster=A。用户登陆在有权限的集群A,可以操作集群A;用户登陆在有权限的集群B,可以操作集群A;(3)对两个集群A,B有权限的用户,管理员设置fedandmulticluster=current。用户登陆在有权限的集群A,可以只操作集群A;用户登陆在有权限的集群B,可以只操作集群B;(4)对两个集群A,B有权限的用户,管理员设置fedandmulticluster=A,B或fedandmulticluster=all。用户登陆在有权限的集群A,可以操作集群A,B;用户登陆在有权限的集群B,可以操作集群A,B。在一个实施例中,SLURM多集群操作命令众多,此处以批量提交作业命令sbatch为例说明动态配置实现原理,sbatch代码处理流程图如图2所示,其中包括:1)sbatch命令开始执行,首先解析配置文件slurm.conf,保存一些关键参数;2)解析并保存从作业脚本、环境变量和命令行等来源传来的参数,此处处理“-M,--clusters=”选项的情况;3)根据以上两步获得的参数填充作业结构体,该结构体包含一个作业执行的所有必要信息;4)根据opt.clusters判断是否执行多集群操作。如果存在多集群,则执行slurmdb_get_first_avail_cluster,该函数跟数据库守护进程slurmdbdb交互,依次执行job_will_run、slurm_job_will_run2和job_will_run_cluster,功能为从所有可用集群中选择一个合适的集群以提交作业。该函数内部调用slurmdb_get_info_cluster,依次查询mysql数据库中用户和集群信息,返回合适的集群列表信本文档来自技高网...

【技术保护点】
1.一种多集群操作方法,其特征在于,包括:/n为用户添加一个属性;/n管理员通过设置所述属性的值来确定用户操作单集群、或操作当前登陆集群、或操作多集群。/n

【技术特征摘要】
1.一种多集群操作方法,其特征在于,包括:
为用户添加一个属性;
管理员通过设置所述属性的值来确定用户操作单集群、或操作当前登陆集群、或操作多集群。


2.根据权利要求1所述的多集群操作方法,其特征在于,为用户添加一个属性包括:
在数据库中为用户表增加一个字段,所述字段为用户可操作的集群名列表。


3.根据权利要求1所述的多集群操作方法,其特征在于,管理员设置所述属性的值包括:
对于只对第一集群有权限的用户,当所述管理员设置所述字段的值为第一集群名时,
如果所述用户登录在有权限的所述第一集群,则所述用户操作所述第一集群,
如果所述用户登录在没有权限的第二集群,则所述用户操作所述第一集群。


4.根据权利要求1所述的多集群操作方法,其特征在于,管理员设置所述属性的值包括:
对于对第一集群和第二集群均有权限的用户,当所述管理员设置所述字段的值为第一集群名时,
如果所述用户登录在有权限的所述第一集群,则所述用户操作所述第一集群,
如果所述用户登录在有权限的第二集群,则所述用户操作所述第一集群。


5.根据权利要求1所述的多集群操作方法,其...

【专利技术属性】
技术研发人员:胡梦龙张涛原帅吕灼恒王家尧胡辰王新雷李斌沙超群厉军
申请(专利权)人:中科曙光国际信息产业有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1