CN108377200A - 基于ldap与slurm的云用户管理方法及系统 - Google Patents
基于ldap与slurm的云用户管理方法及系统 Download PDFInfo
- Publication number
- CN108377200A CN108377200A CN201810052559.7A CN201810052559A CN108377200A CN 108377200 A CN108377200 A CN 108377200A CN 201810052559 A CN201810052559 A CN 201810052559A CN 108377200 A CN108377200 A CN 108377200A
- Authority
- CN
- China
- Prior art keywords
- user
- account
- ldap
- slurm
- name
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公布了一种基于LDAP与SLURM的云用户管理方法及系统,基于轻量级目录访问协议LDAP与Linux平台简单资源管理工具SLURM,使用服务质量QOS定制多种用户作业排队队列,实现高性能云用户管理;包括:用户统一认证配置、LDAP用户数据获取、用户信息同步、LDAP与SLURM用户统一管理、个性化定制管理;解决现有技术中远程LDAP服务器配置无法改变、高性能云平台用户需求复杂、用户量大管理困难等问题,便于高性能云平台的存储与计费统一;满足用户的个性化需求,为计算量大,计算频繁的用户提供优质服务;用户资源管理更加合理有效;有效减少作业的排队时间,提高资源的利用率和高性能云平台的作业吞吐量。
Description
技术领域
本发明涉及高性能计算与云计算技术,尤其涉及一种LDAP与SLURM结合的高性能计算云用户管理方法。
背景技术
LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议。LDAP目录是用树形结构存储数据,能够有效明确的描述一个组织结构特性的相关信息。LDAP目录是一种与关系数据库不同的、特殊的数据库,严格意义上讲,LDAP不是数据库而是用来访问存储在信息目录中的信息的协议。LDAP的条目是LDAP处理的基本对象,是最基本的颗粒,或者成为数据库中的记录。高性能云平台用户量大,用户的快速安全认证是平台的基本保障。相比于传统数据库,LDAP主要优点就在能够快速响应用户的查找需求,保障用户登录的并发操作。LDAP还可以与SSSD(System Security Service Daemon,系统安全服务守护进程)、NSLCD(local LDAP name service daemon,本地LDAP名服务进程)以及NSS(NameServicesSwitch,名服务交换)等认证工具结合,将本地用户认证与集中认证同时结合在一起,这使得LDAP现在成为一个统一认证的解决方案的优势所在。
SSL/TLS(Secure Sockets Layer/Transport Layer Security,安全套接字层/传输层安全协议)是基于PKI(Public Key Infrastrcture,公钥基础设施)机制的加密方式,包括证书认证、密钥交换、非对称加密、对称加密。SSL/TLS证书用来认证服务器和客户机双方的身份,并用于密钥交换时候的非对称加密。LDAP与SSL/TLS结合可以提高LDAP客户端与服务器之间数据通信的安全可靠性,保障了高性能云集群统一认证的安全性。
SSSD是redhat中的一种守护进程,该进程可以用来访问多种验证服务等,并提供授权,主要优势有两点:第一,避免了本地每个客户端程序对认证服务器的大量连接,所有本地程序仅联系SSSD,由SSSD连接认证服务器或SSSD缓存,有效的降低了负载;第二,允许离线授权,SSSD可以缓存LDAP服务器的用户认证身份,这允许在认证服务器宕机时,继续成功授权用户访问必要的资源。SSSD可以与DLAP和TLS结合实现用户的统一认证。
SLURM(Simple Linux Utility for Resource Management),Linux平台简单实用资源管理工具)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统。SLURM维护着一个待处理的作业的队列并管理此作业的整体资源利用。它还以一种排他的方式管理可用的计算节点。最后,SLURM将作业分发给一组已分配的节点来执行作业并监视平行作业直至完成。
SLURM中用户管理主要是管理账号、用户、分区与服务质量QOS(Quality ofService)四者的组合关系:
SLURM中账号对应LDAP中组(group)的概念,一个账号可以由多个用户共同使用,一个用户也可以同时拥有多个账号。SLURM中分区表示一组节点组成的逻辑组,通常会包含进入工作的队列,也可以配置各种约束条件,比如设置用户禁止访问分区,将用户加入分区的黑名单中。高性能云平台中,一般将所有配置相同的节点设为同一个分区,如果用户需要独享节点,则将独享的节点单独作为分区,该分区只能被独享的用户使用。用户和账号可以与分区建立关系,表示用户可以用该账号使用分区资源。一个用户和账号可以使用多个分区的资源,一个分区也可以被多个用户和账号访问。QOS是用来提高SLURM资源管理服务质量的工具,QOS可以描述作业的优先级,作业或分区的限制条件,可以用来个性化定制高性能云平台的用户服务。
在学校等教育机构中,建立高性能云平台时,可能需要高性能云平台的用户密码等信息与学校的认证平台进行统一。此时,高性能云平台的校内用户信息需要从学校的统一认证平台获取,校外用户信息需要注册录入。学校的认证服务是学生和教职工日常认证登录各种学校网站平台的基础,不允许轻易修改配置文件。
现有的高性能集群中用户的认证与资源管理并没有一个统一管理的方式,各种管理方式没有一种多样化的管理方案,用户认证与资源管理的分离会导致用户与资源管理难以维护统一。高性能计算中用户对资源的需求都非常大,而现有技术难以对资源进行合理管理,从而导致某些用户滥用资源,而其他用户一直排队等待资源的情况,造成资源无法合理利用,资源的利用率低下。
发明内容
为了克服上述现有技术的不足,本发明提供一种将LDAP与SLURM结合的高性能云用户管理方法及云用户管理系统实现,其目的在于:解决现有技术中,现有远程LDAP服务器(类似学校等机构的统一用户认证服务器)配置无法改变,以及高性能云平台用户需求复杂,用户量大管理效率低等问题。
本发明通过设置多种定制的QOS,定制用户排队队列,使得用户根据自己所需的资源选择队列排队,比如同时提交的作业,运行时间短、资源需求少的作业应在优先级高的队列中排队等候资源,运行时间长的,资源需求多的资源应在优先级较低的队列中排队,可有效减少作业的排队时间,提高资源的利用率。本发明中,用户管理方法通过使用QOS来定制多种用户作业排队队列,来提高高性能云平台的作业吞吐量,减少作业整体排队时间。本发明的核心包括LDAP用户数据获取、用户信息同步、LDAP与SLURM用户统一管理、个性化定制管理等过程。
本发明提供的技术方案是:
一种基于LDAP与SLURM的高性能云用户管理方法,使用QOS来定制多种用户作业排队队列,实现LDAP与SLURM结合的用户管理方法,包括用户统一认证配置、LDAP用户数据获取、用户信息同步、LDAP与SLURM用户统一管理、个性化定制管理;具体包括如下:
A.用户统一认证配置:通过用户统一认证模块配置LDAP服务器与LDAP客户端,使得用户能在高性能云平台的所有节点统一认证登录,包括LDAP服务器配置过程和LDAP客户端配置过程。其中:
LDAP服务器配置过程,包括:在高性能云平台的管理节点安装OpenLDAP服务器的安装包,并配置平台LDAP服务器,包括配置平台LDAP服务器的域名,平台LDAP结构,管理员的条目和密码,每个条目的属性等,完成数据同步与SSL/TLS数据认证加密的配置。
LDAP客户端配置过程,包括:在高性能云集群的所有节点上安装OpenLDAP客户端,并配置平台LDAP客户端的服务器地址,配置SSSD服务。
B.LDAP用户数据获取:在创建用户时获取用户的信息,当用户在远程LDAP服务器上存在(内部用户)时,从远程LDAP上获取用户信息,当用户在远程LDAP服务器上不存在(外部用户)时,录入用户申请时输入的信息。
本发明具体实施时建立高性能云平台,当用户为内部用户时,从远程LDAP获取用户信息,当用户为外部用户时,录入用户申请时输入的信息。其具体实现步骤如下:
步骤21:根据用户申请提交的资料,判断用户是否为内部用户。
步骤22:若用户为内部用户,则从远程LDAP中获取用户信息,包括用户密码、姓名、所属院系、邮箱、电话等。
步骤23:若用户为外部用户,则录入用户信息,包括用户密码、姓名、所属院系、邮箱、电话等。
C.用户信息同步:同步远程LDAP中的用户信息到高性能云平台中,维护远程LDAP与高性能云平台数据的一致性;
当高性能云平台中内部用户在远程LDAP中用户信息发生改变时,比如用户主动修改远程LDAP中的密码时,同步远程LDAP中的用户信息到高性能云平台中,维护远程LDAP与高性能云平台LDAP数据的一致性。
步骤31:定期轮询高性能云平台内部用户在远程LDAP中信息是否发生改变。
步骤32:如果内部用户信息发生改变,则同步用户信息到高性能云平台。
D.LDAP与SLURM用户统一管理:在LDAP与SLURM中创建、修改和删除用户、组、账号,实现多用户共享账号(组),欠费封锁账号等功能,将LDAP中用户与组的关联关系与SLURM中用户和账号的关联关系保持一致,实现LDAP与SLURM用户的统一管理。
E.个性化定制管理:定制系统的QOS作业队列,使用户按照自己作业所需资源选择排队队列,减少整体作业排队等候时间,提高资源利用率,并实现节点共享与节点独享等个性化服务定制的功能。
通过上述步骤,实现LDAP与SLURM结合的高性能云用户的管理。
利用上述LDAP与SLURM结合的高性能云用户管理方法,本发明实现了一种LDAP与SLURM结合的高性能云用户管理系统,包括远程LDAP服务器、平台LDAP服务器、LDAP数据获取模块,用户统一认证模块,用户信息同步模块,LDAP与SLURM统一用户管理模块,个性服务定制模块。
远程LDAP服务器是一种不允许更改任何配置的LDAP服务器,但可以获取远程LDAP服务器的用户数据。
平台LDAP服务器是在高性能云平台中创建的LDAP服务器,存储所有高性能云平台中的所有用户和账号信息,用于用户的统一认证。
所述LDAP数据获取模块,主要在创建用户时,如果用户为内部用户,则从远程LDAP中获取用户数据信息,如果为外部用户,则在平台LDAP服务器中创建用户数据。
所述用户统一认证模块是指使用SSL域名证书,实现LDAP的TLS加密通信,并在LDAP客户端配置启用SSSD服务,完成LDAP服务器中所有用户在高性能云平台所有的节点上的统一认证。
所述用户信息同步模块是指将远程LDAP中的数据与平台LDAP中的数据进行定期同步的模块,保证远程LDAP与平台LDAP用户数据的一致性。
所述LDAP与SLRUM统一用户管理模块是指在LDAP与SLURM中创建、修改和删除用户、组、账号,实现多用户共享账号(组),欠费封锁账号等功能,将LDAP中用户与组的关联关系与SLURM中用户和账号的关联关系保持一致,实现LDAP与SLURM用户的统一管理。
所述个性服务定制模块是指定制系统的QOS作业队列,提供共享节点与独享节点的用户服务,满足多个用户共享某些节点或者用户独享某些节点的需求。
与现有技术相比,本发明的有益效果是:
本发明提供了一种将LDAP与SLURM结合的高性能云用户管理方法及云用户管理系统,能够克服现有技术中,远程LDAP服务器配置无法改变以及LDAP与SLURM技术结合的配置与管理复杂等问题,实现一种LDAP与SLURM结合的用户配置与管理的方法。本发明搭建了LDAP认证与SLURM统一用户管理的高性能云用户管理系统,在不改变远程系统的LDAP服务器配置的情况下中获取远程LDAP中数据,并创建高性能云平台的LDAP服务器,将LDAP客户端配置到基于SLRUM资源调度的高性能云集群中。
与现有技术相比,本发明具有如下技术优势:
(一)将LDAP与SLURM进行深度融合,使得用户在LDAP中的映射关系一一对应到SLURM中,统一用户信息的管理,SLURM中账号与LDAP中组的关系对应使得同一LDAP组内成员可以共享数据信息,同一SLURM账号下用户共享账号,统一计费,便于高性能云平台的存储与计费统一。
(二)提供了节点共享与独享的功能,满足用户的个性化需求,为计算量大,计算频繁的用户提供优质服务。
(三)提供了针对高性能云集群,从用户认证到资源调度管理的多种LDAP与SLURM结合的用户管理方案,使得用户以及资源管理更加合理有效。
(四)定制多种系统QOS排队队列,使得用户根据自己作业所需的资源选择队列排队,可有效减少作业的排队时间,提高资源的利用率和高性能云平台的作业吞吐量。
附图说明
图1为LDAP与SLURM结合的云用户管理系统的结构框图。
图2为LDAP与SLURM结合的云用户管理方法的流程框图。
图3为用户申请使用高性能云平台服务的方法流程图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
在学校等教育机构中,建立高性能云平台时,可能需要高性能云平台的用户密码等信息与学校的认证平台进行统一。此时,高性能云平台的校内用户信息需要从学校的统一认证平台获取,校外用户信息需要注册录入。学校的认证服务是学生和教职工日常认证登录各种学校网站平台的基础,不允许轻易修改配置文件,因此需要建立新的LDAP服务器,用于对高性能云平台的用户进行认证。
本发明提供一种LDAP与SLURM结合的高性能云用户管理方法及系统,系统包括LDAP数据获取模块,用户统一认证模块,用户信息同步模块,LDAP与SLURM统一用户管理模块,个性服务定制模块,如图1所示:
所述用户统一认证模块通过使用SSL域名证书,实现LDAP的TLS加密通信,并在LDAP客户端配置启用SSSD服务,完成平台LDAP服务器中所有用户在高性能云平台所有的节点上的统一认证。这一模块实现分为以下三个步骤:
步骤1:搭建平台LDAP服务器,包括:
步骤1.1:安装OpenLDAP的服务器,设置管理员密码以及服务器的域名;
步骤1.2:开启OpenLDAP的防火墙;
步骤1.3:创建SSL认证,用于所有用户在高性能云平台所有的节点上统一认证。
步骤2:在集群上部署LDAP客户端,包括:
步骤2.1:安装OpenLDAP客户端,配置服务器ip地址;
步骤2.2:开启SELinux服务,允许自动添加用户目录;
步骤2.3:配置SSSD用户认证服务,使得所有用户在高性能云平台所有的节点上统一认证。
所述LDAP数据获取模块,主要用于在创建用户时获取用户信息:如果用户为内部用户,则从远程LDAP服务器中获取用户数据信息,如果为外部用户,则在平台LDAP服务器中创建用户数据。这一模块实现包括步骤:
1)根据用户申请提交的资料,判断用户是否为内部用户。
2)若用户为内部用户,则从远程LDAP服务器中获取用户信息,包括用户密码、姓名、所属院系、邮箱、电话等。
3)若用户为外部用户,则录入用户信息,包括用户密码、姓名、所属院系、邮箱、电话等。
所述用户信息同步模块用于将远程LDAP服务器中的数据与平台LDAP服务器中的数据进行定期同步,保证数据的一致性。这一模块实现主要步骤为:定期轮询查询高性能云平台内部用户在远程LDAP中用户信息是否改变,如果发生改变,重新从远程LDAP获取用户信息,覆盖平台LDAP中的用户信息。以下为用户信息同步模块的python参考代码。
所述LDAP与SLRUM统一用户管理模块用于在LDAP与SLURM中创建、修改和删除用户、组、账号,实现多用户共享账号(组),欠费封锁账号等,将LDAP中用户与组的关联关系与SLURM中用户和账号的关联关系保持一致,实现LDAP与SLURM用户的统一管理。
所有的用户统一管理模块全部集中在一个名为slurm的脚本中,运行时方式为:./slurm+各功能对应参数。
脚本的参数对应如下:
LDAP与SLRUM统一用户管理模块的实现包含以下几个内容:
(1)添加账号
添加账号需要提供账号名(account_name)和账号负责人(username)。每个账号需要有一个负责人,主要用来管理账号,是账号的管理员。如果账号名已经存在,则提示账号已存在,否则添加账号,该功能的运行方式为:./slurm–c account_name username。
步骤1.:实现过程分为两部分:
步骤1.2.1:一个是LDAP部分,如果账号负责人username不存在,则创建一个账号负责人,将账号负责人添加到LDAP中,在LDAP中创建与负责人username同名的用户组和account_name同名的用户组,将负责人添加到account_name组中。
步骤1.2.2:另一个是SLURM部分,先在SLURM中创建名为account_name的账号,如果账号负责人username不存在,则在SLURM中创建该账号负责人,创建该账号负责人与账号的关联。LDAP中account_name组主要用来存储组内成员关联关系,相对应于SLURM中账号,SLURM账号下的所有用户在LDAP中的表现方式为与账号同名的LDAP组中所有用户。
(2)删除账号
步骤2.1:删除账号需要提供账号名(account_name),运行方式为:./slurm–aaccount_name,其中account_name为待删除账号的账号名。
步骤2.2:如果账号不存在,则提示账号不存在,如果账号存在,则删除账号。
步骤2.3:如果账号之前申请过共享节点或者独享节点,则首先删除申请共享节点时创建的QOS,并删除申请独享节点时创建的独享分区,回收独享分区中的节点。
步骤2.4:删除账号实现有两个步骤:一是从SLURM中删除账号,二是从LDAP中删除对应的组。
(3)添加用户到已有账号中
步骤3.1:该功能运行方式为:./slurm–g account_name username,含义为将username用户加入到账号account_name中。
步骤3.2:若多个用户共享同一个账号account_name,相当于一个计费组,组内成员共享账号,设有一个账号共享账号为account_name,组内成员在提交SLURM作业时加上参数为–A account_name,表示使用账号account_name运行作业,那么这些组内成员使用平台所产生的费用将从共享账号account_name中扣除,当共享账号余额小于0时封锁共享账号,所有共享账号的用户都无法使用该账号提交任务。
步骤3.3:共享账号中添加用户时,如果该账号(account_name)不存在,提示账号不存在并退出。
步骤3.4:在账号account_name存在的情况下,如果用户username为外部用户,则先创手动录入用户信息,在平台LDAP服务器中创建该用户,将该用户username加入平台LDAP服务器中账号account_name对应的用户组中。然后在SLURM中创建用户,并创建与SLURM账号的关联。如果用户为内部用户,则在先从远程LDAP中获取用户username的数据,并在平台LDAP中创建用户username,然后在平台LDAP服务器中将该用户加入账号account_name对应的用户组中,在SLURM中将用户添加到账号中,即创建用户与账号的关联。如果该账号之前申请过共享节点或者独享节点,则需要将新添的用户添加到共享节点的QOS中或者独享节点的分区中。
(4)从指定账号中删除用户
步骤4.1:该功能运行方式为:./slurm–k account_name username,含义为将username用户从账号account_name中删除。
步骤4.2:从指定账号中删除用户,需要的参数为账号名(account_name)和用户名(username)。如果账号不存在,则提示账号不存在,如果账号存在,则判断账号中是否有该用户,如果用户不在该账号中,则提示该用户不存在,如果用户存在,则从账号中删除该用户。
步骤4.3:如果该账号是用户的默认账号,如果该用户还有其他账号,则先将用户的默认账号修改为其他账号,再从account_name中删除用户。如果用户只有account_name这一个账号,则由于将用户从该账号中删除的话用户就没有默认账号,而slurm中用户必须在某个account账号中,所以这种情况下直接删除该用户。
步骤4.4:如果account_name该账号申请过共享节点或者独享节点,则同时也需要将该用户从对应的分区和QOS中删除,阻止该用户使用共享节点或者独享节点的资源。
(5)删除用户,删除用户的参数为用户名username,如果用户不存在,则提示该用户不存在,否则从LDAP和SLURM中删除该用户,并将用户从所有LDAP的相关的用户组中删除,SLURM中删除用户即为用户和所有关联账号的关联关系删除。其运行方式为:./slurm–vusername。
(6)欠费封锁账号
步骤6.1:该功能的运行方式为:./slurm–b account_name。
步骤6.1:封锁账号实现方式:在每次作业运行完并扣费完成后,判断扣费账号的余额,若账号余额小于0,则将账号加入到所有基本分区的DenyAccount中,这使得该账号下所有用户不能再利用该账号提交作业,使用集群所有的资源,账号下所有用户如果有其他账号,且余额大于0,则仍可以用其他账号继续使用高性能云平台的资源。
步骤6.2:用户账号余额小于0,禁止用户提交作业,但是用户仍旧能登录高性能云平台,查看之前的作业信息等。
所述个性服务定制模块是指提供共享节点与独享节点的用户服务,满足多个用户共享某些节点或者用户独享某些节点的需求,定制适合平台的QOS,降低作业排队时间,提高平台资源利用率。图2是实现LDAP与SLURM结合的高性能云用户管理的流程图。图3为用户申请使用高性能云服务的流程图,包含LDAP与SLURM统一用户管理模块的大部分功能和个性定制模块的功能,主要说明这两个模块各功能的协同合作完成用户申请使用高性能云平台的流程。个性服务定制模块包括以下内容:
(1)共享节点
步骤1.1:该功能的运行方式为:./slurm–s account_name partitionnodenumber
步骤1.2:节点共享方式:作业与其他用户的作业一起排队,所需资源具备时开始运行,采用包年方式计费,不限使用时长,不对使用共享节点的作业进行计费。
步骤1.3:申请共享节点有三个参数:account_name,partition,nodenumber。其中,account_name是用户申请共享节点的账号,partition是用户申请共享节点的分区,对应各种共享节点种类(比如CPU,CPU节点资源等)。nodenumber是共享的节点数量。
步骤1.4:如果账号(account_name)不存在,则提示账号不存在,如果partition不存在,提示分区不存在。
步骤1.5:实现方式是建立一个QOS,QOS中设置GrpNodes=nodenumber,也就是使用节点个数为nodenumber,表示允许使用该QOS使用nodenumber个数量的节点。
步骤1.6:将账号(account_name)中所有的用户全部添加一个对应partition中的名为account_name的QOS,表示该账号下所有的用户可以使用该QOS,其他用户不允许使用该QOS,账号下所有用户共享nodenumber个数量的节点资源。
步骤1.7:创建QOS后在所申请分区的AllowQos中添加该QOS,使得该分区允许使用该QOS,用户可以在该分区中使用该QOS,其他分区中不允许使用该QOS。
(2)删除共享节点,其实现方式为:删除account_name对应的QOS,将该QOS从用户QOS列表中删除。并且将对应分区的AllowQos中删除该账号对应的QOS。该功能的运行方式为:./slurm–t account_name。
(3)独享节点
步骤3.1:节点独享方式:用户对独享的节点独占使用,无需排队。采用包年方式计费,不限使用时长。
步骤3.2:独享节点运行方式为:./slurm-e account_name partitionnodenumber
步骤3.3:其中account_name是需要申请独享节点的账号,partition是用户申请独享账号的分区,对应各种独享节点的种类,nodenumber是账号申请的独享节点数量。
步骤3.4:申请独享节点之后,将从原partition中分出nodenumber个节点出来重新建立一个分区,如果原partition中节点数量不够,则提示分区节点数量不够,然后将account_name账号下所有的用户加入到该分区中,account_name中用户都可以使用该分区的节点资源,其他所有用户不能访问该分区,保证该分区的资源被该账号下所有用户独享。
(4)删除独享节点
步骤4.1:该功能的运行方式为:./slurm-n account
步骤4.2:删除account对应的独享节点,将这些独享节点放到指定的partition中。实现时根据节点名自动归并到节点的原分区。
(5)定制系统QOS,合理分配平台资源,如表1所示。
表1高性能云平台QOS限制列表
QOS名称 | 最大节点数 | 最大时限 | 优先级 | 最大提交作业数 | 最大运行作业数 |
debug | 2 | 15分钟 | 1000 | 8 | 2 |
wide-short | 无限制 | 6小时 | 500 | 20 | 8 |
narrow-medium | 40 | 24小时 | 500 | 20 | 8 |
wide-medium | 无限制 | 24小时 | 100 | 20 | 8 |
narrow-long | 40 | 10天 | 100 | 20 | 8 |
normal | 40 | 无限制 | 10 | 20 | 8 |
为了防止某些用户占用系统绝大数资源,使得其他用户无法使用系统资源,因此定制了6种QOS,每个用户都可以使用这6种QOS,用户提交作业时必须指定一种QOS(共享节点的QOS或者这6中QOS中一种)。
其中最大节点数表示使用该QOS的作业最大能使用的计算节点数,最大时限表示作业最长运行时间,优先级表示QOS队列的优先级,优先级越大表示该QOS队列排队等待系统资源的时间越短,最大提交作业数为一个用户使用该QOS最大能提交的作业总数,最大运行作业数表示一个用户使用该QOS最多正在运行的作业数量。
其中debug的QOS是用来调试测试程序,优先级高,降低程序调试的时间,使得使用能很快调试好自己的程序,使用计算资源进行计算。
wide-short的QOS是用来运行需要大量计算节点的短时间运行的程序。
narrow-medium用来运行中等时长,运行规模在40个或以内节点的作业。
wide-medium用来运行中等时长作业规模较大的作业。
narrow-long用来运行运行时间长,规模在40个节点以内的作业。
normal用来运行时间非常长,运行规模在40个节点以内的作业。
用户通过估计自己的作业的运行时长和规模,对作业指定合适的QOS,可以提高作业的排队效率,合理利用平台的资源,提高平台资源利用率。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (4)
1.一种高性能云用户管理方法,基于轻量级目录访问协议LDAP与Linux平台简单资源管理工具SLURM,使用服务质量QOS定制多种用户作业排队队列,实现高性能云用户管理;包括:用户统一认证配置过程、LDAP用户数据获取过程、用户信息同步过程、LDAP与SLURM用户统一管理过程、个性化定制管理过程;具体包括如下:
A.用户统一认证配置:配置LDAP服务器与LDAP客户端,使得用户在高性能云平台的所有节点统一认证登录;
B.LDAP用户数据获取过程:在创建用户时获取用户的信息;当用户为内部用户时,用户信息存在于远程LDAP服务器上,从远程LDAP服务器上获取用户信息;当用户为外部用户时,在远程LDAP服务器上不存在用户信息,则录入用户申请时输入的信息;
C.用户信息同步过程:同步远程LDAP服务器中的用户信息到高性能云平台中,并通过定期轮询维护远程LDAP服务器与高性能云平台数据的一致性;
D.LDAP与SLURM用户统一管理过程:通过在LDAP与SLURM中创建、修改和删除用户、组、账号,实现多用户共享账号或组、欠费封锁账号功能,并实现LDAP中用户与组的关联关系与SLURM中用户和账号的关联关系保持一致,统一管理LDAP与SLURM用户;每个账号设有一个管理账号的账号负责人;LDAP与SLURM用户统一管理具体执行如下操作:
D1,添加账号时,根据待添加账号名account_name和账号负责人username,运行./slurm–c account_name username;
D2,删除账号时,根据待删除账号名account_name,运行./slurm–a account_name;当待删除账号之前申请过共享节点或独享节点时,则首先删除申请共享节点时创建的QOS,并删除申请独享节点时创建的独享分区,回收独享分区中的节点;删除账号包括从SLURM中删除账号和从LDAP中删除账号对应的组;
D3,添加用户username到已有账号account_name中时,运行./slurm–g account_nameusername;
若已有账号account_name为多个用户共享的共享账号,组内成员在提交SLURM作业时加上参数–Aaccount_name,使用平台所产生的费用从共享账号account_name中扣除;当共享账号余额小于0时封锁共享账号;
当添加用户为外部用户时,首先手动录入用户信息,在平台LDAP服务器中创建该用户,将该用户加入LDAP中账号对应的用户组中;然后在SLURM中创建用户,并创建与SLURM账号的关联;当添加用户为内部用户时,则在LDAP中将该用户加入账号对应的用户组中,在SLURM中将用户添加到账号中,创建用户与账号的关联;
若该账号之前申请过共享节点或者独享节点,则将新添的用户添加到共享节点的QOS中或独享节点的分区中;
D4,从指定账号account_name中删除用户username时,运行:./slurm–k account_nameusername;
当账号account_name是用户username的默认账号时,若该用户还有其他账号,则先将用户的默认账号修改为其他账号,再从account_name中删除用户;否则直接从account_name中删除用户;
若账号account_name申请过共享节点或者独享节点,则同时将用户username从对应的分区和QOS中删除,从而阻止该用户使用共享节点或者独享节点的资源;
D5,删除用户username时,运行:./slurm–v username;从LDAP和SLURM中删除该用户,并将用户从所有LDAP的相关的用户组中删除,删除所有SLURM中用户关联账号的关联关系;
D6,封锁欠费账号account_name时,运行:./slurm–b account_name;在每次作业运行完并扣费完成后,判断扣费账号的余额,若账号余额小于0,则将账号加入到所有基本分区的DenyAccount中,使得该账号下所有用户不能再利用该账号提交作业和使用集群所有的资源;但用户仍能登录云平台执行查看操作;
E.个性化定制管理过程:定制系统的QOS作业队列,使得用户按照自己作业所需资源选择排队队列,减少整体作业排队等候时间,提高资源利用率;并实现节点共享与节点独享个性化服务定制;
通过上述步骤,实现基于LDAP与SLURM的高性能云用户的管理。
2.如权利要求1所述云用户管理方法,其特征是,用户统一认证配置包括LDAP服务器配置过程和LDAP客户端配置过程;
所述LDAP服务器配置过程包括:在高性能云平台的管理节点安装OpenLDAP服务器的安装包,并配置平台LDAP服务器;包括配置LDAP服务器的域名、LDAP结构、管理员的条目和密码、每个条目的属性、数据同步与SSL/TLS数据认证加密配置;
所述LDAP客户端配置过程包括:在高性能云集群的所有节点上安装OpenLDAP客户端,并配置LDAP客户端的服务器地址和SSSD服务。
3.如权利要求1所述云用户管理方法,其特征是,个性化定制管理过程中具体执行如下操作:
E1,通过运行./slurm–s account_name partition nodenumber共享节点;account_name是用户申请共享节点的账号;partition是用户申请共享节点的分区,对应各种共享节点种类;nodenumber是共享的节点数量;
首先建立一个QOS,QOS中设置使用节点个数GrpNodes为nodenumber;
将账号account_name中所有的用户全部添加一个对应partition中的名为account_name的QOS,使得允许该账号下所有的用户使用该QOS,不允许其他用户使用该QOS,账号下所有用户共享nodenumber个数量的节点资源;
在QOS所申请分区的AllowQos中添加该QOS,使得允许用户在该分区使用该QOS,用户在其他分区中不允许使用该QOS;
E2,通过运行./slurm–t account_name删除共享节点account_name,删除account_name对应的QOS,将该QOS从用户QOS列表中删除,并且将对应分区的AllowQos中删除该账号对应的QOS;
E3,通过运行./slurm-e account_name partition nodenumber独享节点;其中account_name是需要申请独享节点的账号;partition是用户申请独享账号的分区,对应各种独享节点的种类;nodenumber是账号申请的独享节点数量;
独享节点将从原partition中分出nodenumber个节点出来重新建立一个分区,如果原partition中节点数量不够,则提示分区节点数量不够;如果节点数量足够,则建立一个新分区,再将account_name账号下所有的用户加入到该分区中,account_name中用户均可使用该分区的节点资源,其他所有用户不能访问该分区,保证该分区的资源被该账号下所有用户独享;
E4,通过运行./slurm-n account删除独享节点;删除account对应的独享节点,将这些独享节点放到指定的partition中;根据节点名自动归并到节点的原分区;
E5,用户通过估计作业运行时长和规模选择定制的QOS,合理分配平台资源。
4.一种高性能云用户管理系统,包括远程LDAP服务器、平台LDAP服务器、LDAP数据获取模块,用户统一认证模块,用户信息同步模块,LDAP与SLURM统一用户管理模块,个性服务定制模块;系统基于轻量级目录访问协议LDAP与Linux平台简单资源管理工具SLURM,使用服务质量QOS定制多种用户作业排队队列,实现高性能云用户管理;
所述远程LDAP服务器不允许更改任何配置,可用于获取远程LDAP服务器的用户数据;
所述平台LDAP服务器是在高性能云平台中创建的LDAP服务器,存储高性能云平台中的所有用户和账号信息,用于用户的统一认证;
所述LDAP数据获取模块用于在创建用户时获取用户信息;当用户为内部用户时,从远程LDAP中获取用户数据信息;当用户为外部用户时,在平台LDAP服务器中创建用户数据;
所述用户统一认证模块用于使用SSL域名证书实现LDAP的TLS加密通信,并在LDAP客户端配置启用SSSD服务,实现LDAP服务器中所有用户在高性能云平台所有的节点上的统一认证;
所述用户信息同步模块用于将远程LDAP中的数据与平台LDAP中的数据进行定期同步,维护远程LDAP与平台LDAP用户数据的一致性;
所述LDAP与SLRUM统一用户管理模块用于在LDAP与SLURM中创建、修改和删除用户、组、账号,实现多用户共享账号或组、封锁欠费账号功能,并使得LDAP中用户与组的关联关系与SLURM中用户和账号的关联关系保持一致,统一管理LDAP与SLURM用户;
所述个性服务定制模块用于定制系统QOS作业队列,提供共享节点与独享节点的用户服务,使得多个用户共享某些节点或独享某些节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810052559.7A CN108377200B (zh) | 2018-01-19 | 2018-01-19 | 基于ldap与slurm的云用户管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810052559.7A CN108377200B (zh) | 2018-01-19 | 2018-01-19 | 基于ldap与slurm的云用户管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108377200A true CN108377200A (zh) | 2018-08-07 |
CN108377200B CN108377200B (zh) | 2020-05-05 |
Family
ID=63015867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810052559.7A Active CN108377200B (zh) | 2018-01-19 | 2018-01-19 | 基于ldap与slurm的云用户管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108377200B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088879A (zh) * | 2018-09-07 | 2018-12-25 | 郑州云海信息技术有限公司 | 分布式存储系统外部ldap域服务器认证接口实现方法 |
CN109981743A (zh) * | 2019-02-27 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种icos5.5-ldap与as-13000存储多节点融合部署方法 |
CN110061996A (zh) * | 2019-04-25 | 2019-07-26 | 深圳市元征科技股份有限公司 | 一种数据传输方法、装置、设备及可读存储介质 |
CN110647315A (zh) * | 2019-09-06 | 2020-01-03 | 河北省水利水电勘测设计研究院 | 一种河道智慧管控系统 |
CN112597256A (zh) * | 2020-12-17 | 2021-04-02 | 北京思特奇信息技术股份有限公司 | 一种实现大数据平台用户统一管理的方法及相关装置 |
WO2021068518A1 (zh) * | 2019-10-12 | 2021-04-15 | 山东英信计算机技术有限公司 | 一种身份认证方法、系统、电子设备及存储介质 |
CN114500002A (zh) * | 2021-12-31 | 2022-05-13 | 济南超级计算技术研究院 | 一种基于ldap的集群账号分配方法及系统 |
CN114938302A (zh) * | 2022-05-19 | 2022-08-23 | 中国银行股份有限公司 | 一种基于区块链加密的账号共享方法及相关设备 |
CN116582537A (zh) * | 2023-07-13 | 2023-08-11 | 国家超级计算天津中心 | 远程仿真方法、装置、设备、存储介质及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368762A (zh) * | 2011-06-21 | 2012-03-07 | 杭州华三通信技术有限公司 | 一种ldap用户管理方法及其装置 |
CN102404351A (zh) * | 2010-09-07 | 2012-04-04 | 北京市国路安信息技术有限公司 | 一种ldap云存储服务系统 |
CN105429999A (zh) * | 2015-12-17 | 2016-03-23 | 北京荣之联科技股份有限公司 | 基于云平台的统一身份认证系统 |
CN105871914A (zh) * | 2016-06-03 | 2016-08-17 | 成都镜杰科技有限责任公司 | 客户关系管理系统访问控制方法 |
US20160357517A1 (en) * | 2015-06-03 | 2016-12-08 | Bull Sas | Programming interface device for generating dedicated computer service programmes for using shared computer resources |
-
2018
- 2018-01-19 CN CN201810052559.7A patent/CN108377200B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404351A (zh) * | 2010-09-07 | 2012-04-04 | 北京市国路安信息技术有限公司 | 一种ldap云存储服务系统 |
CN102368762A (zh) * | 2011-06-21 | 2012-03-07 | 杭州华三通信技术有限公司 | 一种ldap用户管理方法及其装置 |
US20160357517A1 (en) * | 2015-06-03 | 2016-12-08 | Bull Sas | Programming interface device for generating dedicated computer service programmes for using shared computer resources |
CN105429999A (zh) * | 2015-12-17 | 2016-03-23 | 北京荣之联科技股份有限公司 | 基于云平台的统一身份认证系统 |
CN105871914A (zh) * | 2016-06-03 | 2016-08-17 | 成都镜杰科技有限责任公司 | 客户关系管理系统访问控制方法 |
Non-Patent Citations (3)
Title |
---|
SCHEDMD: "Slurm Workload Manager - Accounting and Resource Limits", 《HTTPS://ELWE.RHRK.UNI-KL.DE/DOCUMENTATION/ACCOUNTING.HTML#REMOVING-ENTITIES》 * |
国家超级计算广州中心: "SLURM资源管理系统使用入门-nscc", 《HTTPS://MAX.BOOK118.COM/HTML/2017/0528/109737108.SHTM》 * |
张蓓等: "基于 目录服务的校园网用户管理系统", 《计算机工程》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088879A (zh) * | 2018-09-07 | 2018-12-25 | 郑州云海信息技术有限公司 | 分布式存储系统外部ldap域服务器认证接口实现方法 |
CN109088879B (zh) * | 2018-09-07 | 2021-05-11 | 郑州云海信息技术有限公司 | 分布式存储系统外部ldap域服务器认证接口实现方法 |
CN109981743A (zh) * | 2019-02-27 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种icos5.5-ldap与as-13000存储多节点融合部署方法 |
CN110061996A (zh) * | 2019-04-25 | 2019-07-26 | 深圳市元征科技股份有限公司 | 一种数据传输方法、装置、设备及可读存储介质 |
CN110647315A (zh) * | 2019-09-06 | 2020-01-03 | 河北省水利水电勘测设计研究院 | 一种河道智慧管控系统 |
WO2021068518A1 (zh) * | 2019-10-12 | 2021-04-15 | 山东英信计算机技术有限公司 | 一种身份认证方法、系统、电子设备及存储介质 |
CN112597256A (zh) * | 2020-12-17 | 2021-04-02 | 北京思特奇信息技术股份有限公司 | 一种实现大数据平台用户统一管理的方法及相关装置 |
CN114500002A (zh) * | 2021-12-31 | 2022-05-13 | 济南超级计算技术研究院 | 一种基于ldap的集群账号分配方法及系统 |
CN114500002B (zh) * | 2021-12-31 | 2023-11-10 | 济南超级计算技术研究院 | 一种基于ldap的集群账号分配方法及系统 |
CN114938302A (zh) * | 2022-05-19 | 2022-08-23 | 中国银行股份有限公司 | 一种基于区块链加密的账号共享方法及相关设备 |
CN114938302B (zh) * | 2022-05-19 | 2024-03-19 | 中国银行股份有限公司 | 一种基于区块链加密的账号共享方法及相关设备 |
CN116582537A (zh) * | 2023-07-13 | 2023-08-11 | 国家超级计算天津中心 | 远程仿真方法、装置、设备、存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108377200B (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108377200A (zh) | 基于ldap与slurm的云用户管理方法及系统 | |
US11290337B2 (en) | Hybrid cloud identity mapping infrastructure | |
CN108322471B (zh) | 多租户身份和数据安全性管理云服务 | |
CN109729168B (zh) | 一种基于区块链的数据共享交换系统及方法 | |
US20220124081A1 (en) | System for Managing Remote Software Applications | |
CN105577665B (zh) | 一种云环境下的身份和访问控制管理系统及方法 | |
CN103001999B (zh) | 用于公用云网络的私有云服务器、智能装置客户端及方法 | |
CN105872094B (zh) | 一种基于soa的服务机器人云平台接口系统及方法 | |
CN109565505A (zh) | 用于多租户身份和数据安全管理云服务的租户自助服务故障排除 | |
CN112651011B (zh) | 运维系统登录验证方法、装置、设备以及计算机存储介质 | |
CN110049048B (zh) | 一种政务公共服务的数据访问方法、设备及可读介质 | |
CN107682285A (zh) | 一种异构云平台统一资源授权方法 | |
CN106161361B (zh) | 一种跨域资源的访问方法及装置 | |
CN106170964A (zh) | 基于不同身份服务的用户虚拟身份 | |
CN108322468A (zh) | 身份认证系统 | |
CN107302524A (zh) | 一种云计算环境下的密文数据共享系统 | |
CN107204995A (zh) | 一种控制访问权限的系统、认证服务器和方法 | |
RU2415466C1 (ru) | Способ управления идентификацией пользователей информационных ресурсов неоднородной вычислительной сети | |
CN106301791B (zh) | 一种基于大数据平台的统一用户认证授权的实现方法及系统 | |
CN105205752A (zh) | 一种专利申请审批系统及方法 | |
CN113688376A (zh) | 一种基于cmdb系统和rbac模型实现容器云平台的租户权限控制方法 | |
CN115396229B (zh) | 一种基于区块链的跨域资源隔离共享系统 | |
CN112291244A (zh) | 一种工业生产数据实时处理平台系统多租用户方法 | |
CN113497806B (zh) | 一种远程登录方法、装置及存储介质 | |
CN109905365A (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 |