阿里云弹性高性能计算E-HPC全流程对接与实战指南
阿里云弹性高性能计算E-HPC全流程对接与实战指南
在科学计算、工业仿真、气象预测、AI训练等领域,传统本地集群面临建设周期长、成本高、弹性不足等痛点。阿里云弹性高性能计算(Elastic High Performance Computing,简称E-HPC)是基于阿里云基础设施构建的一站式高性能计算平台,整合了弹性计算、高速网络、并行存储等能力,支持SLURM、PBS、LSF等主流调度器,可快速搭建弹性伸缩的超算集群,兼顾性能、成本与灵活性。本文将从基础概念出发,系统讲解E-HPC的全流程对接与使用方法,包含环境准备、集群创建、存储配置、作业提交、运维监控、安全优化与成本控制,同时提供完整代码示例,帮助用户从零完成E-HPC的对接落地。
一、E-HPC核心概念与应用场景
1.1 核心定义
E-HPC是阿里云提供的托管式高性能计算服务,无需用户自建物理集群,通过云化资源快速构建高性能计算环境,支持公共云、混合云、专有云多种部署形态,核心组件包括管理节点、登录节点、计算节点、调度系统与共享存储,具备弹性伸缩、按需付费、一键部署、全栈监控等特性。
1.2 核心组件解析
- 管理节点:集群核心管控中枢,负责调度器管理、用户权限控制、集群配置下发与状态监控,推荐4vCPU及以上规格,保障集群稳定运行。
- 登录节点:用户访问集群的入口,提供SSH远程登录、作业提交、文件管理等功能,可配置VNC实现可视化操作,不参与计算任务,避免影响作业运行。
- 计算节点:执行高性能计算任务的核心资源,支持ECS、弹性裸金属服务器(EBM)等实例规格,可按需弹性扩容或释放,适配不同算力需求。
- 调度系统:集群任务调度核心,支持SLURM、PBS Pro、LSF三种主流调度器,负责作业排队、资源分配、任务调度与状态管理,用户可按需选择熟悉的调度器。
- 共享存储:集群数据存储核心,支持NAS、CPFS、OSS等存储服务,实现节点间数据共享与高速读写,满足并行计算场景下的数据交互需求。
1.3 典型应用场景
- 科学计算:量子化学、分子动力学、有限元分析等科研场景,提供大规模并行算力。
- 工业仿真:汽车、航空航天、机械制造等领域的CAE仿真、流体力学模拟。
- AI训练:深度学习模型大规模训练,支持GPU集群与eRDMA高速网络加速。
- 气象与环境:数值天气预报、气候模拟、环境污染物扩散模拟等。
- 芯片设计:EDA设计、芯片验证、版图设计等,结合混合云方案实现云上云下协同。
二、对接前准备:账号授权与环境检查
E-HPC对接前需完成账号权限配置、资源规划与环境检查,避免后续操作因权限不足或资源缺失失败,核心步骤包括账号注册、RAM授权、资源规划与网络准备。
2.1 账号注册与登录
首先需注册阿里云账号,完成实名认证,确保账号状态正常,无欠费或冻结情况。
需要先登录阿里云控制台,点击:阿里云控制台
进入控制台后,搜索“弹性高性能计算E-HPC”,进入E-HPC管理控制台,首次进入需完成RAM授权,否则无法创建与管理集群。2.2 RAM授权(核心必做)
E-HPC需通过RAM(资源访问管理)获取创建ECS、VPC、安全组、NAS等资源的权限,首次进入控制台会自动弹出授权提示,手动授权步骤如下:
- 进入E-HPC控制台,点击左侧“RAM授权”,系统自动生成授权策略,包含E-HPC所需的所有资源操作权限。
- 点击“同意授权”,完成服务关联角色创建,角色名称为AliyunEHPCDefaultRole,权限涵盖ECS创建/删除、VPC管理、NAS挂载、安全组配置等。
- 授权完成后,刷新控制台页面,即可正常使用集群创建、用户管理等功能。
注意:RAM授权仅需首次操作,后续无需重复授权;若使用子账号,需为子账号授予E-HPC管理员权限,避免权限不足。
2.3 资源规划与网络准备
创建集群前需完成资源规划,避免资源不足或配置不合理:
- 地域选择:优先选择靠近业务或数据中心的地域,降低网络延迟;不同地域资源不互通,需提前规划。
- VPC与交换机:E-HPC集群必须部署在专有网络(VPC)内,需提前创建VPC与交换机,确保交换机可用IP数量≥集群节点总数(管理节点+登录节点+计算节点)。
- 安全组:用于控制集群节点出入流量,建议自动创建普通安全组,默认开放SSH(22端口)、VNC(5900-5910端口)等必要端口,保障集群通信安全。
- 存储规划:根据数据规模选择存储类型,小规模数据用NAS,大规模并行计算用CPFS,归档数据用OSS。
三、集群创建:公共云与混合云部署
集群创建是E-HPC对接的核心步骤,支持公共云集群、混合云集群、Serverless集群三种类型,其中公共云集群最常用,混合云集群适配云上云下协同场景,下文详细讲解两种集群的创建流程。
3.1 公共云标准版集群创建(实操)
公共云集群所有节点均部署在阿里云上,一键创建、弹性伸缩,适合大多数高性能计算场景,创建步骤如下:
步骤1:进入集群创建页面
登录E-HPC控制台,左侧导航栏选择“集群”,点击右上角“创建集群”,进入创建页面,选择“公共云集群”与“标准版”。
步骤2:基础配置
- 地域/可用区:选择规划好的地域与可用区,如华东1(杭州)-可用区L。
- 集群名称:自定义名称,如ehpc-slurm-cluster-01。
- 调度器类型:选择SLURM(推荐,开源免费、兼容性强)、PBS Pro或LSF。
- 计费方式:按量付费(推荐,弹性灵活)或包年包月(长期使用更划算)。
步骤3:节点配置(核心)
- 管理节点:实例规格选择ecs.c7.xlarge(4vCPU/8GB内存),系统盘40GB,数量1台。
- 登录节点:实例规格同管理节点,数量1台,用于用户登录与作业提交。
- 计算节点:实例规格选择ecs.c6.large(2vCPU/4GB内存,测试用)或ecs.ebmgn8v.48xlarge(GPU高性能计算用),数量1-10台,可后续扩容。
- 操作系统:默认CentOS 7.6(兼容多数调度器与软件),也可选择Ubuntu 18.04。
步骤4:网络与安全配置
- VPC/交换机:选择提前创建的VPC与交换机。
- 安全组:自动创建普通安全组,开放22、5900-5910端口。
- 公网访问:登录节点勾选“分配公网IP”,方便远程SSH登录;管理节点与计算节点不分配公网IP,保障安全。
步骤5:存储配置
- 共享存储:选择“自动创建NAS”,挂载目录为/home(用户数据与作业数据存储),存储容量默认100GB,可扩容。
- 系统盘:管理/登录/计算节点系统盘均为40GB,高效云盘。
步骤6:确认创建
设置节点登录密码(必填,SSH登录用),勾选“同意服务条款”,点击“创建集群”,系统开始部署,耗时5-10分钟,部署完成后集群状态显示“运行中”。
3.2 混合云集群创建(云上云下协同)
混合云集群将阿里云节点与本地数据中心节点整合为一个集群,统一调度资源,适配本地算力利旧、数据本地化等场景,创建步骤如下:
步骤1:网络打通
通过阿里云VPN、高速通道或云企业网(CEN),将本地数据中心与阿里云VPC网络打通,确保云上节点与本地节点网络互通、端口可访问。
步骤2:创建混合云集群
进入E-HPC控制台,创建集群时选择“混合云集群”,调度器类型选择与本地集群一致(如SLURM-Plugin、PBS Pro-Plugin),配置云上代理节点(实例规格ecs.c7.xlarge),用于代理本地调度器请求。
步骤3:配置本地节点
- 在本地计算节点部署调度器客户端、用户管理客户端,配置与云上集群一致的账号体系。
- 挂载云上NAS/CPFS共享存储,确保本地节点与云上节点数据互通。
- 配置本地节点网络,开放调度器通信端口(如SLURM的6817、6818端口)。
步骤4:加入集群与测试
在云上集群创建本地节点专属队列,将本地计算节点加入队列,提交测试作业,验证云上节点与本地节点可统一调度、协同运行。
3.3 模板化创建集群(高效复用)
对于频繁创建相同配置集群的场景,可使用模板化创建,保存集群配置模板,一键复用,步骤如下:
- 进入E-HPC控制台,集群页面右上角点击“模板化创建”。
- 配置模板参数,包含地域、VPC、节点规格、调度器、存储等,保存模板为自定义名称(如slurm-test-template)。
- 后续创建集群时,直接选择该模板,无需重复配置,大幅提升创建效率。
模板配置示例(ini格式):
[Global] zoneId=cn-hangzhou-L ecsChargeType=PostPaid [Node] deployMode=Standard ecsOrderComputeInstanceType=ecs.c6.large ecsOrderComputeCount=2 ecsOrderManagerInstanceType=ecs.c7.xlarge ecsOrderLoginInstanceType=ecs.c7.xlarge systemDiskSize=40 [Image] osTag=CentOS_7.6_64 imageOwnerAlias=system
四、存储配置:NAS/CPFS挂载与数据管理
E-HPC集群依赖共享存储实现节点间数据共享,NAS适合小规模文件存储,CPFS适合大规模并行计算场景,OSS用于归档数据,下文详细讲解存储挂载与数据管理。
4.1 NAS存储挂载(默认推荐)
创建集群时自动创建的NAS存储,默认挂载到/home目录,用户可直接使用,无需手动配置;若需额外挂载NAS,步骤如下:
- 在阿里云NAS控制台创建文件系统,选择与E-HPC集群相同地域与VPC。
- 进入E-HPC集群详情页,点击“存储管理”,选择“挂载NAS”,输入NAS文件系统ID、挂载点、挂载目录(如/data)。
- 点击“确认挂载”,系统自动将NAS挂载到所有节点的指定目录,挂载完成后,所有节点均可访问/data目录下的数据。
4.2 CPFS存储挂载(高性能并行计算)
CPFS是阿里云并行文件系统,支持高并发、低延迟读写,适合分子动力学、气象模拟等大规模并行场景,挂载步骤如下:
- 在CPFS控制台创建文件系统,选择与集群相同地域,配置容量与性能规格。
- 登录E-HPC管理节点,安装CPFS客户端依赖:
yum install -y cpp gcc gcc-c++ binutils ksh elfutils elfutils-devel
- 安装CPFS客户端:
cd /root wget https://cpfs-client.oss-cn-hangzhou.aliyuncs.com/CPFS2.2-CentOS.tar.gz tar xvfz CPFS2.2-CentOS.tar.gz cd CentOS/CentOS7/ yum install -y gpfs.adv-*.x86_64.rpm gpfs.base-*.x86_64.rpm gpfs.docs-*.noarch.rpm gpfs.gpl-*.noarch.rpm gpfs.gskit-*.x86_64.rpm gpfs.gss.pmsensors-*.x86_64.rpm gpfs.license.dm-*.x86_64.rpm gpfs.msg.en_US-*.noarch.rpm
- 构建系统并挂载CPFS:
/usr/lpp/mmfs/bin/mmbuildgpl mkdir /cpfs mount -t gpfs cpfs-fs-id /cpfs
4.3 OSS数据迁移与挂载
OSS用于归档海量数据,可通过ossutil工具将OSS数据迁移到集群NAS/CPFS,或通过OSSFS挂载到集群节点,步骤如下:
- 登录集群登录节点,安装ossutil:
wget https://gosspublic.alicdn.com/ossutil/1.7.1/ossutil64 chmod +x ossutil64
- 配置OSS访问密钥:
./ossutil64 config -e oss-cn-hangzhou.aliyuncs.com -i your-accesskey-id -k your-accesskey-secret
- 数据迁移(OSS到NAS):
./ossutil64 cp oss://your-bucket-name/ /home/your-user/ -r
五、用户管理:账号创建与权限配置
E-HPC支持集群本地用户与RAM用户两种账号体系,本地用户用于集群内操作,RAM用户用于控制台权限管理,合理配置用户权限可保障集群数据安全。
5.1 创建集群本地用户
- 进入E-HPC控制台,集群详情页点击“用户管理”,点击“创建用户”。
- 输入用户名(如testuser)、密码,选择用户所属队列(如默认队列comp),设置用户权限(普通用户/管理员)。
- 点击“确认创建”,系统自动在所有节点创建该用户,用户可通过SSH登录集群。
5.2 RAM用户绑定与权限控制
- 进入RAM控制台,创建RAM用户,勾选“编程访问”,生成AccessKey ID与AccessKey Secret。
- 进入E-HPC集群详情页,“用户管理”点击“绑定RAM用户”,输入RAM用户名称,绑定到集群。
- 为RAM用户授权,仅授予E-HPC只读权限或作业提交权限,遵循最小权限原则,避免权限过大导致安全风险。
5.3 用户权限管理
- 普通用户:仅能提交作业、查看自身作业状态、访问自身目录数据,无法修改集群配置。
- 管理员用户:可管理所有用户、修改集群配置、扩容节点、删除作业,权限等同于集群创建者。
- 队列权限:不同队列可分配不同计算资源,限制用户作业占用资源,避免资源抢占。
六、作业提交:控制台/命令行/Python SDK实操
作业提交是E-HPC核心使用环节,支持控制台可视化提交、命令行提交(SLURM/PBS)、SDK编程提交三种方式,下文以SLURM调度器为例,详细讲解三种提交方式。
6.1 控制台可视化提交(简单易用)
- 进入E-HPC集群详情页,点击“作业管理”,选择“创建作业”。
- 配置作业信息:作业名称、队列、运行节点数、CPU/内存资源需求、运行命令(如./test.sh)。
- 上传作业脚本或输入命令,点击“提交作业”,系统自动调度作业到计算节点运行。
- 在作业列表查看作业状态(排队/运行中/已完成/失败),点击作业名称可查看运行日志。
6.2 命令行提交(SLURM,主流)
通过SSH登录集群登录节点,使用srun、sbatch命令提交作业,适合批量作业与复杂任务,实操示例如下:
步骤1:创建作业脚本(test.slurm)
#!/bin/bash #SBATCH --job-name=test-job #SBATCH --nodes=1 #SBATCH --ntasks-per-node=2 #SBATCH --mem=4G #SBATCH --time=00:30:00 # 加载环境变量 export PATH=/usr/local/bin:$PATH # 执行计算任务 echo "Hello E-HPC! Job running on $(hostname)" # 运行科学计算程序(示例) ./mpi-test
步骤2:提交作业
sbatch test.slurm
步骤3:查看作业状态
# 查看所有作业 squeue # 查看作业详情 sacct -j job-id # 取消作业 scancel job-id
6.3 Python SDK提交作业(编程集成)
通过E-HPC Python SDK可实现作业提交、集群管理、状态查询等功能,适合与业务系统集成,实操步骤如下:
步骤1:安装SDK
pip install alibabacloud_ehpc20240730==1.0.0
步骤2:SDK代码示例(提交作业)
from alibabacloud_ehpc20240730.client import Client
from alibabacloud_ehpc20240730.models import CreateJobRequest
from alibabacloud_darabonba_openapi.models import Config
# 配置AccessKey与地域
config = Config(
access_key_id="your-accesskey-id",
access_key_secret="your-accesskey-secret",
endpoint="ehpc.cn-hangzhou.aliyuncs.com"
)
client = Client(config)
# 创建作业请求
request = CreateJobRequest(
cluster_id="ehpc-hz-xxxxxxx",
job_name="sdk-test-job",
queue_name="comp",
node_count=1,
task_count=2,
memory=4096,
cpu=2,
command="echo 'Hello from Python SDK'"
)
# 提交作业
response = client.create_job(request)
print(f"作业提交成功,作业ID:{response.body.job_id}")
步骤3:查询作业状态
from alibabacloud_ehpc20240730.models import ListJobsRequest
# 查询作业列表
list_request = ListJobsRequest(
cluster_id="ehpc-hz-xxxxxxx",
job_id="your-job-id"
)
list_response = client.list_jobs(list_request)
print(f"作业状态:{list_response.body.jobs[0].status}")
6.4 PBS调度器作业提交(兼容旧集群)
若集群选择PBS调度器,使用qsub命令提交作业,脚本示例(test.pbs):
#!/bin/bash #PBS -N pbs-test-job #PBS -l nodes=1:ppn=2 #PBS -l mem=4gb #PBS -l walltime=00:30:00 cd $PBS_O_WORKDIR echo "Hello PBS! Job running on $(hostname)" ./mpi-test
提交与查看命令:
# 提交作业 qsub test.pbs # 查看作业 qstat # 取消作业 qdel job-id
七、集群监控与运维:性能监控、自动伸缩与故障处理
E-HPC提供全栈监控与运维能力,支持性能监控、自动伸缩、集群修复、节点管理等功能,保障集群稳定高效运行,核心操作如下。
7.1 集群性能监控
- 进入E-HPC集群详情页,点击“监控”,查看集群整体性能:CPU利用率、内存使用率、网络流量、磁盘IO。
- 点击“节点监控”,查看单个节点的CPU、内存、磁盘、网络实时数据与历史趋势。
- 通过监控数据定位性能瓶颈,如CPU利用率过高需扩容计算节点,磁盘IO过高需升级CPFS存储。
7.2 自动伸缩配置(弹性核心)
自动伸缩可根据作业队列负载自动扩容或释放计算节点,降低闲置成本,配置步骤如下:
- 集群详情页点击“自动伸缩”,开启自动伸缩功能。
- 配置伸缩规则:最小节点数(如1)、最大节点数(如10)、扩容阈值(队列等待作业数≥2)、缩容阈值(队列无作业≥10分钟)。
- 选择伸缩冷却时间(如5分钟),避免频繁伸缩导致集群不稳定。
7.3 集群日常运维
- 手动扩容/缩容:集群节点不足时,点击“节点管理”→“扩容”,选择节点规格与数量;节点闲置时,选择节点点击“释放”。
- 集群修复:集群状态异常(如节点离线、调度器故障)时,点击“修复集群”,系统自动排查并修复问题。
- 启动/停止集群:长期闲置时,点击“停止集群”,释放计算资源;需使用时点击“启动集群”,快速恢复运行。
- 释放集群:无需使用时,点击“释放集群”,删除所有节点与资源,避免持续计费。
八、安全配置:网络安全、权限控制与数据保护
E-HPC集群存储敏感科研数据与业务数据,需配置完善的安全策略,保障集群与数据安全,核心配置如下。
8.1 网络安全配置
- 安全组规则优化:仅开放必要端口(22、5900-5910),拒绝所有不必要的入站流量;限制SSH登录IP,仅允许指定IP访问集群。
- 关闭公网访问:管理节点与计算节点不分配公网IP,仅登录节点分配公网IP,减少攻击面。
- 启用VPC网络隔离:集群部署在独立VPC内,与其他业务网络隔离,避免跨网络攻击。
8.2 权限安全配置
- 最小权限原则:为用户与RAM账号分配最小必要权限,禁止普通用户修改集群配置。
- 定期更新密码:强制用户定期修改登录密码,设置密码复杂度(大小写字母+数字+特殊字符)。
- 禁用弱密码:系统自动检测弱密码,强制用户重置,避免暴力破解。
8.3 数据安全保护
- 数据备份:定期备份NAS/CPFS数据到OSS,防止数据丢失。
- 数据加密:启用NAS/CPFS数据加密,传输过程使用SSH加密,保障数据传输与存储安全。
- 访问日志审计:开启集群访问日志,记录所有用户登录与操作行为,便于安全审计与问题追溯。
九、成本优化:按需付费、资源规划与费用控制
E-HPC采用按量付费模式,费用由计算资源、存储资源、网络流量三部分组成,合理优化可大幅降低成本,核心策略如下。
9.1 计算资源成本优化
- 弹性伸缩:开启自动伸缩,作业高峰期扩容,闲置期缩容,避免资源闲置浪费。
- 选择合适规格:根据作业需求选择实例规格,普通计算用c系列,GPU计算用g系列,避免高配低用。
- 抢占式实例:非核心作业使用抢占式实例,价格比按量付费低50%-80%,适合容错性高的场景。
9.2 存储资源成本优化
- 冷热数据分离:热数据(常用)存NAS/CPFS,冷数据(归档)存OSS低频/归档存储,降低存储成本。
- 存储扩容规划:根据数据增长逐步扩容,避免一次性购买大容量存储导致闲置。
- 删除冗余数据:定期清理作业日志、临时文件、冗余数据,减少存储占用。
9.3 网络流量成本优化
- 内网访问优先:E-HPC集群与ECS、NAS同地域内网访问,免外网流量费用。
- 减少外网传输:数据上传下载优先使用内网,避免频繁外网传输产生高额流量费。
- 监控流量使用:通过控制台监控外网流量,异常流量及时排查,避免盗刷。
十、常见问题与解答
1. E-HPC集群创建失败,提示RAM授权不足?
答:首次使用E-HPC需完成RAM授权,进入控制台左侧“RAM授权”,点击“同意授权”,创建AliyunEHPCDefaultRole角色;若使用子账号,需为子账号授予E-HPC管理员权限,授权后重新创建集群即可。
2. 集群节点无法挂载NAS存储,提示网络不通?
答:检查NAS文件系统与E-HPC集群是否同地域、同VPC;确认安全组开放NAS挂载端口(2049);检查VPC路由配置,确保节点与NAS网络互通,排查后重新挂载即可。
3. SLURM作业提交后一直处于排队状态,无法运行?
答:查看集群计算节点是否正常运行(状态为空闲);检查作业资源配置(CPU/内存)是否超过节点可用资源;确认队列是否有资源限制,调整作业资源需求或扩容计算节点即可。
4. 如何通过本地电脑SSH登录E-HPC集群?
答:获取集群登录节点公网IP,本地电脑执行ssh username@公网IP,输入登录密码即可;若提示连接超时,检查安全组是否开放22端口,本地IP是否被限制访问。
5. E-HPC混合云集群本地节点无法加入集群?
答:确认本地节点与阿里云VPC网络已打通(VPN/高速通道);本地节点部署调度器客户端并配置正确;开放调度器通信端口(如SLURM 6817端口);检查本地节点账号与云上集群账号一致,配置完成后重新加入即可。
6. 如何降低E-HPC使用成本?
答:开启自动伸缩,闲置时缩容节点;非核心作业使用抢占式实例;冷热数据分离,冷数据存OSS归档存储;优先内网传输数据,减少外网流量;定期清理冗余数据与闲置资源,按需付费即可有效控制成本。



