HPC是一套集群调度、管理、监控为一体的集群管理软件,可应用在各种科研及工业领域,通过我们的软件可以方便的调度集群的运算力为客户产生价值。该手册帮助用户了解如何使用HPC系统。
您必须拥有正确的产品许可才能正常使用本产品,许可信息中包含许可有效期、授权节点数量以及产品功能等信息,您可以通过菜单中系统工具 → 许可信息找到当前的许可信息,若要更新产品许可,请上传新的License文件。
版权信息可根据您的需求通过修改安装目录下的ABOUT文件进行编辑
-
产品中的机柜为逻辑机柜,机柜中单个节点高度均为1U,绘制高度为10像素,方便您对节点进行组织并展示于主控面板中。机柜配置使用文本格式,请依次填写机柜名、机柜容纳节点的数量、绘图时X坐标、绘图时Y坐标等信息,以逗号分隔,每行为一个机柜。
机架单位是美国电子工业联盟(EIA)用来标定服务器、网络交换机等机房设备的单位。一个机架单位实际上为高度1.75英寸(44毫米),宽度为主流的19英寸(480毫米)及较少用的23英寸(580毫米)。 一个机架单位一般叫做"1U", 2个机架单位则称之为"2U",如此类推。
产品部署后会自动收集各个节点的信息,在此基础上,请为各个节点配置下列信息:
-
角色:用于区分节点角色,默认内置M(管理)、C(计算)、I(I/O)、L(登陆)四种角色
-
机柜:机柜名
-
机柜位置:机柜插槽位
-
IPMI IP(可选):用于节点开关机操作
删除节点:若需删除节点,请停用该节点上的hpc 服务,然后在管理节点中执行命令:hpc node delete [节点名] 清除节点相关数据。
主控面板提供了整个集群的信息概览,便于快速了解整个集群的工作状态,主控面板默认情况下左右分屏展示分为主视图区和辅助视图区,您可以通过机柜视图区提供的快捷菜单切换或隐藏辅助视图区的内容。
主视图区主要用于快速查看节点运行状态,您可以以机柜视图、拓扑视图或节点列表的方式查看各节点信息,方便快捷的完成各种节点相关的操作。
-
机柜视图 在此区域内您可以点选、拖拽、放大机柜信息,可以快速查看各个节点的状态及系统信息,通过主视图区域右侧面板上的快捷按钮可以完成节点登陆、开关机、监控信息查看等操作。系统会根据各个节点的状态以不同颜色的状态灯和背景色绘制机柜图,节点状态一目了然。
您可以在拓扑视图中根据您的实际情况配置拓扑视图,具体操作方式:
-
添加设备:在任意空白处单击鼠标右键,点击添加设备菜单,选择设备类型,勾选或者输入设备名称,点击确认完成添加。
-
连接设备:在任意设备上单机鼠标右键,点击连接菜单,移动鼠标选择目标设备即可完成连线,在连线过程中点击任意空白处即可取消连线。
-
移除设备:在任意设备上单机鼠标右键,点击移除菜单即可移除该设备,与该设备连接的所有连线将会一并移除。
-
编辑连线:在任意设备上单机鼠标右键,点击编辑即可编辑该设备上的连线关系。
-
节点列表
以列表的形式查看节点信息,可快速搜索、过滤节点。
辅助视图区默认展示集群信息概览,您可以通过主视图区提供的快捷菜单切换或隐藏辅助视图区的内容。
-
管理员dashboard 以管理员身份查看集群概览信息,包括:
-
汇总的集群资源监控信息,便于快速了解集群当前的资源状态。
-
集群资源的使用报表,便于快速了解集群近段时间的工作情况及使用率等信息。
-
-
用户dashboard 以用户身份登陆可查看最近某段时间该用户的作业提交情况以及最近进行的关键操作,如下图所示:
-
节点登陆
选择节点后点击控制面板上的bash按钮可登录到该节点,辅助视图区将用于TTY交互操作:
选择节点后点击控制面板上的远程连接按钮进行vnc/rdp配置,并进行远程连接;
-
节点监控信息
选择节点后点击控制面板上的监控图按钮可查看该节点的监控信息,辅助视图区将用于监控信息展示:
-
其他功能
除此之外辅助视图区还可用于文件管理、监控报警查看等功能。
您可以通过导航栏快捷菜单或左侧主菜单跳转到其他功能界面
实时作业为您提供系统当前未完成的所有作业的信息概览,您可以通过状态筛选或查找快速定位您关心的作业。
点击作业ID可查看对应作业的详细信息, 在详情页中可以查看到完整的作业信息,更可以通过查看实时输出了解您的作业实时运行情况。
点击新建作业,选择所需的应用类型(应用类型介绍详见下列应用模板),填写对应参数即可向系统中提交作业。
高级选项中为您提供了更丰富的作业参数配置项,您可以将填写的各种参数保存为模板方便下次提交相似作业,具体操作详见下列作业模板
除了基本的脚本提交之外,HPC系统还为您提供了可自定义的应用模板。只需几步便可创建使用您所需的任意应用模板,满足特定的应用计算需求:
-
步骤1:定义应用模板
填写应用中英文名称,然后定义命令行模板。命令行模板中支持“环境变量”和“应用参数”两种变量,分别以$变量名和{{.变量名}}表示,以下图为例,名为“测试”的应用模板定义了如下命令行模板:
-
步骤2:定义应用界面
从组件库中拖拽您所需的组件,以步骤1定义的命令行模板中的应用变量名为组件命名。本例中命名为STR
-
步骤3:使用应用模板
使用应用模板提交作业,按照我们的定义,该作业将会依次输出下列内容:
通过 Singularity
容器虚拟化技术,您可以将原有的应用环境无缝与HPC系统相结合,从而实现应用环境的兼容。Singularity
可以用于打包整个科学计算所需的工作流程,软件和库甚至数据。无需配置文件挂载或虚拟网络,Singularity
比 Docker
更适用于HPC环境,并且与 Docker
镜像兼容。您只需如下几步即可完成应用环境的集成:
以CentOS上安装2.5.1版本为例:
VERSION=2.5.1
wget https://github.com/singularityware/singularity/releases/download/$VERSION/singularity-$VERSION.tar.gz
tar xvf singularity-$VERSION.tar.gz
cd singularity-$VERSION
./configure --prefix=/usr/local
make
sudo make install
yum install -y squashfs-tools
更多安装方式请参考: Singularity安装文档
以基于Ubuntu定制镜像为例:
singularity build --writable ubuntu.img docker://ubuntu
该操作会在执行命令的当前路径下生成一个ubuntu.img的镜像文件,您可以通过以下命令进入该镜像环境下执行命令:
singularity shell ubuntu.img
在该镜像中安装您的应用环境。然后您可以通过如下命令调用镜像中的程序,应用将在该镜像环境中运行:
USAGE: singularity [...] exec [exec options...] <container path> <command>
例如:singularity exec ubuntu.img apt-get install vim
更多操作请参考: Singularity文档
完成镜像制作后,您可以自行编写脚本以完成您所需的计算工作。只需要将原来的命令前加上singularity exec <container path>,例如:
singularity exec /home/test/ubuntu.img apt-get install vim
您也可以创建应用模版来简化该过程,模版编辑请参考:应用模版
编码缩写(Short code) | 状态名(State) | 英文含义 (meaning) | 中文翻译 |
---|---|---|---|
BF |
BOOT_FAIL |
Job terminated due to launch failure, typically due to a hardware failure (e.g. unable to boot the node or block and the job can not be requeued). |
作业由于启动失败而终止,通常是由于硬件故障。 |
CA |
CANCELLED |
Job was explicitly cancelled by the user or system administrator. The job may or may not have been initiated. |
作业被用户或系统管理员终止,该作业可能已经启动或者没有启动。 |
CD |
COMPLETED |
Job has terminated all processes on all nodes with an exit code of zero. |
作业包含的每个进程在所有节点上都已结束且没有出现问题。 |
CF |
CONFIGURING |
Job has been allocated resources, but are waiting for them to become ready for use (e.g. booting). |
作业已经被分配资源,正在等待所有资源准备就绪。 |
CG |
COMPLETING |
Job is in the process of completing. Some processes on some nodes may still be active. |
作业正在完成中。某些节点上的某些进程可能仍然是活动的。 |
F |
FAILED |
Job terminated with non-zero exit code or other failure condition. |
非零退出码结束或其他错误导致的作业终止。 |
NF |
NODE_FAIL |
Job terminated due to failure of one or more allocated nodes. |
作业由于一个或多个分配的节点的故障而终止。 |
PD |
PENDING |
Job is awaiting |
正在等待资源分配。 |
PR |
PREEMPTED |
Job terminated due to preemption. |
作业由于资源被抢占而终止。 |
RV |
REVOKED |
Sibling was removed from cluster due to other cluster starting the job. |
作业已转移到其他集群上。 |
R |
RUNNING |
Job currently has an allocation. |
作业正在运行中。 |
SE |
SPECIAL_EXIT |
The job was requeued in a special state. This state can be set by users, typically in EpilogSlurmctld, if the job has terminated with a particular exit value. |
特殊状态下的重新排队,该状态通常是由用户配置的EpilogSlurmctld设置的。 |
ST |
STOPPED |
Job has an allocation, but execution has been stopped with SIGSTOP signal. CPUS have been retained by this job. |
作业已经分配运行,但执行过程由于接收到SIGSTOP信号而停止,该作业将继续保有已分配的CPU。 |
S |
SUSPENDED |
Job has an allocation, but execution has been suspended and CPUs have been released for other jobs. |
作业在执行过程中被挂起,所分配的资源将被释放用于其他作业。 |
TO |
TIMEOUT |
Job terminated upon reaching its time limit. |
工作在达到期限后终止。 |
配置项 | 用途 | default |
---|---|---|
Webserver配置: |
||
AppName |
应用名称 |
hpc-backend |
ProductName |
显示在登录界面的产品名称 |
SuperHPC |
ProductLogo |
显示于登陆界面及菜单之上的logo名称 |
SuperHPC |
AppData |
程序安装目录 |
/usr/hpc |
WebAppPath |
前端文件存放位置 |
/usr/hpc/webapp |
HTTPPort |
HTTP服务端口 |
8080 |
RunMode |
运行模式 |
dev(生产环境中应为prod) |
AutoRender |
自动渲染 |
false |
CopyRequestbody |
请求参数解析 |
true |
EnableDocs |
是否开启API文档 |
false |
EnableErrorsRender |
是否由框架渲染错误信息 |
false |
EnableAdmin |
是否启用webserver监控后台 |
false |
AdminAddr |
webserver监控后台绑定地址 |
0.0.0.0 |
AdminPort |
webserver监控后台绑定端口 |
8088 |
HTTPAddr |
HTTP服务绑定地址 |
0.0.0.0 |
EnableHTTPS |
是否启用HTTPS |
true |
HTTPSPort |
HTTPS端口 |
443 |
HTTPSCertFile |
证书路径 |
/usr/hpc/conf/cert.pem |
HTTPSKeyFile |
私钥路径 |
/usr/hpc/conf/key.pem |
Redis配置: |
||
RedisDB |
Redis数据库 |
0 |
RedisPasswd |
Redis密码 |
空 |
RedisHost |
Redis主机IP |
127.0.0.1 |
RedisPort |
Redis端口号 |
6379 |
RedisMaxIdle |
Redis最大空闲连接数 |
10 |
RedisMaxActive |
Redis最大连接数 |
100 |
RedisMaxTimeout |
Redis连接超时时限 |
默认120秒 |
MySQL配置: |
||
DBHost |
MySQL主机地址 |
localhost |
DBPort |
MySQL端口号 |
3306 |
DBName |
MySQL数据库名 |
|
DBPasswd |
MySQL数据库密码 |
空 |
DBUser |
MySQL用户名 |
root |
DBDebug |
数据库是否开启调试模式 |
flase |
HPC配置: |
||
HPCGroupID |
允许执行命令行操作的group id |
0 |
ModelAdapter |
数据库适配器 |
mysql |
SchedulerType |
调度管理器类型 |
slurm |
PowerSeparation |
是否开启权限分离 |
false |
JWTSecret |
签署Token所用的密钥 |
|
MonitorInterval |
监控数据采集间隔 |
30秒 |
AuthProvider |
身份认证方式 |
basic(建议为NIS或LDAP) |
NISServer |
NIS服务主机名 |
|
NISAdmin |
NIS服务管理员用户 |
root |
NISMaker |
NIS更新数据库所用的脚本 |
make -C /var/yp |
LicensePath |
License文件存放位置 |
/usr/hpc/license |
LicensePlugin |
License插件名 |
license.so |
License |
License文件名 |
license.lic |
Email服务配置 |
{"Enable":false} |
|
MailCMD |
邮件客户端命令 |
|
MailChanBufferSize |
邮件发件箱缓冲区大小 |
1024 |
EnableLogger |
是否开启调试日志 |
关闭 |
ClusterName |
集群名 |
unspecified |
RRDDir |
RRD文件存放位置 |
/var/lib/ganglia/rrds |
InterfaceHost |
管理节点网卡名 |
|
InterfaceAgent |
与计算节点相连的网卡名 |
|
JobCollectInterval |
作业信息收集频率 |
5分钟收集一次 |
APPDir |
应用模板存放路径 |
$HPC_ROOT/applications |
WorkDir |
应用模板作业路径 |
$HPC_ROOT/applications |
MonitorProvider |
监控模块适配器 |
ganglia |
AboutFile |
版权信息描述文件路径 |
$HPC_ROOT/ABOUT |
LDAP配置: |
||
LDAPHost |
LDAP主机 |
|
LDAPPort |
LDAP端口 |
389 |
LDAPEnableSSL |
开启SSL |
false |
LDAPUserRDN |
LDAP条目 |
|
LDAPServerName |
LDAP服务名称 |
|
LDAPAdminDN |
LDAP管理员条目 |
|
LDAPAdminPassword |
LDAP管理员密码 |
|
LDAPMinUID |
LDAP最小uid |
1000 |
LDAPMaxUID |
LDAP最大uid |
65535 |
LDAPAttrHomeDir |
homeDirectory |
|
LDAPAttrUID |
uidNumber |
|
LDAPAttrGID |
gidNumber |
|
LDAPAttrLoginShell |
loginShell |
|
LDAPAttrPassword |
userPassword |
|
LDAPUserObjectClasses |
inetOrgPerson;organizationalPerson;posixAccount |
|
global配置: |
||
RedisHost |
管理节点的Redis服务地址 |
根据各节点实际网络情况配置 |
RedisPort |
管理节点的Redis服务端口 |
6379 |
TTYPort |
TTY服务端口号 |
8080 |
HealthCheckInterval |
agent服务健康检查周期 |
60秒 |
HeartBeatInterva |
agent心跳包发送频率 |
10秒 |
ServicesMonitScriptsDir |
服务监控脚本存放位置 |
$HPC_ROOT/monit |
MgmtSubnetMask |
管理网络子网掩码 |
255.255.255.0 |
PCMOutputDir |
并行命令输出路径 |
/home/pcm |
PcmMaxOutput |
并行命令最大输出字节数 |
1024 |
PcmChanBufferSize |
并行命令缓冲区大小 |
500条 |