本文汇总了使用E-HPC时的常见问题。
集群相关
为什么某些地域无法创建E-HPC集群?
如果您在E-HPC支持的地域和可用区下,不能创建E-HPC集群。可能是由于该地域不支持创建集群所需的相关资源,或者资源库存不足。例如:
该地域不支持创建NAS文件系统,或者NAS文件系统的库存不足,导致E-HPC集群无法挂载共享存储。
该地域和可用区没有符合E-HPC集群节点配置的ECS规格,或者ECS规格的库存不足。
建议您选择其他地域创建E-HPC集群。
可以使用ECS管理控制台对E-HPC集群的节点进行操作吗?
不可以。
E-HPC集群节点是基于ECS实例组建,但E-HPC控制台提供了额外的部署流程,包括且不限于以下流程:
E-HPC帮助您按节点配比和指定实例规格配置集群节点,为各类节点批量创建ECS实例。
E-HPC创建各个节点对应的ECS实例后,会进一步部署管控系统。
E-HPC通过管控系统为您在ECS实例上预装选定的软件及其依赖的软件包。
E-HPC在管控节点上配置作业调度器。
以上流程都依赖于E-HPC服务部署。若您使用ECS管理控制台对节点进行操作,则可能会导致集群或部分节点状态异常,或集群相关资源不可使用等问题。因此不允许使用ECS管理控制台对E-HPC集群的节点进行操作。
E-HPC的节点实例如何与ECS实例进行私网通信?
根据您的E-HPC集群节点实例和您自行购买的ECS实例是否处于同一VPC,私网通信的配置如下:
处于同一个VPC内,可以直接进行私网通信。
处于不同VPC内,需要打通网络后才能进行私网通信。您可以通过云企业网CEN、VPC对等实现VPC之间私网互通。
为什么无法通过SSH登录集群?
使用Workbench或其他SSH客户端无法登录集群的原因较多,请您根据实际情况,通过相应的排查方法,排查并解决无法远程登录集群的问题。
检查用户名密码是否正确。
检查客户端本地网络或运营商网络是否异常。
检查登录节点所在的安全组规则,是否放行对相应端口(例如SSH协议默认的22端口)的访问。
检查节点所在安全组是否允许Workbench服务相关的IP访问节点,安全组规则详情和网络类型有关。具体操作,请参见使用Workbench登录Linux实例。
使用
iptables -nvL --line-number检查登录节点是否开启防火墙或配置了防火墙规则。
如果排查后,依然无法登录集群,您可以选择VNC方式远程连接。更多远程连接问题请参见远程连接FAQ。
为什么通过SSH登录NIS域账号服务的集群时比较慢?
问题描述
SSH登录节点或者在节点间跳转时非常慢,偶尔会登录失败。
手动重启sshd服务失败,显示
Failed to activate service 'org.freedesktop.systemd1': timed out。
问题原因
systemd的已知bug,使用NIS域账号服务时可能会出现该问题。
处理步骤
使用root用户登录节点。
查看/etc/nsswitch.conf文件内容。
cat /etc/nsswitch.conf若passwd、shadow和group中没有
[NOTFOUND=return],请继续执行以下步骤。示例如下:passwd: files sss nis shadow: files sss nis group: files sss nis(可选)升级glibc。
yum update glibc更新nsswitch配置文件。
打开nsswitch.conf文件。
vim /etc/nsswitch.conf修改nsswitch.conf文件中如下内容并保存。
passwd: files sss nis [NOTFOUND=return] shadow: files sss nis [NOTFOUND=return] group: files sss nis [NOTFOUND=return]
如何进行实名认证以购买中国内地地域云产品服务?
如果您需要购买和使用中国内地地域的云产品服务,例如存量、新购、续费,必须进行实名认证。您进行购买相关操作时,如果选择了中国内地的地域,系统将检查您的实名认证信息。若未完成实名认证,购买流程将报错并要求先进行实名认证。具体操作,请参见哪些用户需要进行账号认证?企业实名认证个人实名认证。
集群内计算节点状态显示为“异常”,无法正常调度任务怎么办?
问题描述
集群内计算节点状态显示为“异常”,且无法正常调度任务。如下图所示:
可能原因
该问题可能是由于您开启了管理节点上的系统防火墙,导致计算节点上的ypbind服务无法正常工作,从而引发系统无法正常调度任务的问题。
解决方案
您需要关闭管理节点上的系统防火墙。
以root用户登录管理节点。
执行以下命令,停止
firewalld服务。systemctl stop firewalld执行以下命令,禁止
firewalld服务开机启动。systemctl disable firewalld执行以下命令,检查管理节点的
firewalld服务状态,确保服务已停止并且不会在启动时再次启动。systemctl status firewalld
镜像相关
为什么集群的自定义服务节点镜像是CentOS 7.6?
在创建E-HPC集群时,自定义服务节点的系统默认是CentOS7.6,您可以根据需要选择合适的镜像。对于已创建的E-HPC集群,您可以通过安装和卸载管理集群自定义服务来更换镜像。
访问E-HPC控制台找到需要修改的集群,单击集群名称进入集群详情页。
在集群详情页,单击自定义服务,找到需要修改的节点,在右侧单击删除。
单击添加自定义组件,选择Login(版本1.0),在ECS实例单击编辑实例规格。
选择完成实例规格后单击确定,完成添加自定义组件。
支持哪些类型的镜像?
镜像提供集群节点(即ECS实例)所需的信息,包括必要的操作系统和相关配置数据等。E-HPC支持公共镜像、自定义镜像和社区镜像。更多信息,请参见镜像概述。
公共镜像 和 自定义镜像 目前支持部分 Alibaba Cloud Linux、CentOS 和 Ubuntu 操作系统镜像,但受地域可用区、账号权限和实例规格的限制,具体以界面显示为准。
如需了解更多支持的镜像内容,可通过调用OpenAPI 查询可用镜像列表 查看结果。
操作系统类型
支持版本
Alibaba Cloud Linux
Alibaba Cloud Linux 3 Pro
Alibaba Cloud Linux 3
Alibaba Cloud Linux 2
CentOS
CentOS 7.2–7.9
Ubuntu
Ubuntu 22.04
Ubuntu 20.04
不同镜像会影响集群的调度器类型、域账号服务、共享存储和软件支持。
公共镜像:阿里云官方镜像。
自定义镜像:您使用ECS实例或者快照创建的镜像,或者从本地导入的镜像。
社区镜像:镜像提供者通过阿里云社区镜像平台发布的镜像。
为什么不能选择自定义镜像?
创建集群、扩容集群或配置自动伸缩策略时,如果无法选择自定义镜像,可能有以下原因:
您的阿里云账号在当前地域下没有自定义镜像,关于如何创建自定义镜像,请参见自定义镜像概述。
自定义镜像操作系统为E-HPC不支持的操作系统。
当前选择的节点实例规格不支持该自定义镜像。
配置自动伸缩策略时,自动伸缩全局配置中镜像和队列镜像应保持一致。
为什么使用自定义镜像创建或扩容集群会失败?
创建或扩容集群时,可以选择自定义镜像,但可能会出现创建或扩容失败的情况。操作前,请注意以下限制:
自定义镜像中不能修改操作系统的yum源配置。
自定义镜像的挂载路径不能有
/home和/opt目录,并且/home和/opt目录不能作为软链接目标。如果自定义镜像内的
/etc/fstab文件中,存在文件系统(如nfs)的挂载信息,那么需要确保扩容或创建的集群能够访问该文件系统,例如集群与文件系统在同一VPC内。否则,您需要删除/etc/fstab文件中挂载文件系统的相关内容,再进行扩容或创建集群的操作。自定义镜像中必须保留账户群组GID为1000的群组。
扩容或创建集群所指定的系统盘大小必须大于等于自定义镜像大小。
是否支持导入的自定义镜像?
为什么使用Ubuntu镜像时,节点初始化特别慢甚至超时?
问题描述:使用Ubuntu镜像扩容节点时,部分计算节点初始化耗时异常(超过5分钟),导致节点无法正常加入集群调度。在节点的deploy.log中可能看到类似以下报错:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?在大批量扩容场景下(例如同时拉起数十至数百个节点),该问题尤为突出,大部分节点都可能受到影响。
可能原因:unattended-upgrades是Ubuntu系统默认预装并启用的自动安全更新服务,会在后台定期检查并安装安全补丁和关键更新,无需用户手动干预。该服务由apt-daily.timer和apt-daily-upgrade.timer两个systemd定时器触发,通常在系统启动后不久自动运行,运行期间会持有/var/lib/dpkg/lock-frontend锁,以确保软件包操作的原子性。
在E-HPC弹性伸缩场景中,unattended-upgrades会带来以下影响:
dpkg锁争抢:节点启动后
unattended-upgrades立即运行并持有/var/lib/dpkg/lock-frontend锁,E-HPC部署脚本在安装slurmd、nfs-common等必要组件时无法获取锁,安装流程被阻塞或直接失败。初始化超时:
unattended-upgrades的运行时间不可控,可能持续数分钟,在此期间部署脚本只能等待,导致节点初始化总耗时超过5分钟。大批量扩容时问题加剧:每台节点开机后都会各自独立运行
unattended-upgrades,各自拉取软件包和校验。当同时拉起大量节点时,unattended-upgrades与E-HPC部署脚本争抢dpkg锁的概率接近100%,批量越大问题越严重,节点占用ECS资源却无法完成初始化,还可能引发节点启动超时后的资源浪费。
解决方案:最直接的办法是在自定义镜像中提前禁用unattended-upgrades,这样节点启动后不会有后台自动升级进程抢占dpkg锁。具体操作如下:
在制作自定义镜像时,以root用户登录基础ECS实例。
执行以下命令,停止并禁用
unattended-upgrades服务。# 在制作自定义镜像时执行 systemctl disable unattended-upgrades systemctl mask unattended-upgrades apt-get remove -y unattended-upgrades执行以下命令,验证
unattended-upgrades服务已被彻底禁用。systemctl status unattended-upgrades预期输出中
Loaded字段显示masked或not-found,Active字段显示inactive (dead),表示服务已成功禁用。基于上述配置完成自定义镜像制作。后续创建E-HPC集群或弹性扩容节点时,选择该自定义镜像即可规避dpkg锁争抢问题。
软件相关
如何在E-HPC集群中手动安装业务软件?
E-HPC集群使用NAS实现计算节点间的数据共享,因此自行手动安装业务软件有以下两种方案:
-
安装在
/opt目录,该方案下所有集群用户可以访问并使用业务软件。 -
安装在集群用户的home目录,一般情况下仅该集群用户可以访问并使用。
某些软件需要在计算节点安装驱动或者运行环境等,例如GPU驱动、YUM安装的包等。在计算节点独立安装软件后,您可以使用该节点制作的自定义镜像来扩容节点,实现自动化安装。
自动伸缩节点相关
实例已经释放,但是控制台仍然无法删除节点?
问题描述:在使用Spot实例进行自动伸缩时,若实例到期回收而其上仍有未完成的计算任务,可能会导致调度器无法成功删除该实例,从而引发删除节点失败。
解决方法:在自动伸缩场景中,节点残留一定时间后会被清理。等调度器状态更新后,节点退出BusyNodes状态从而可以正常删除。
调度器相关
为什么SLURM调度节点显示Allocated但却没实际作业运行
问题描述:通过sinfo命令查看到计算节点显示alloc状态,但是通过squeue命令却没有看到运行的作业存在,可能会导致实际计算节点空跑。
可能原因:可能由于SLURM内部通信异常、导致作业进程异常退出等原因导致节点状态ALLOCATED但作业进程可能尚未启动或已异常退出。
解决方案
创建脚本存放目录。
mkdir -p /root/recover执行下面命令创建脚本文件。
cat << 'EOF' > /root/recover/slurm_abnormal_nodes_recover.sh #!/bin/bash if [ $# -lt 1 ]; then echo "Usage: $0 WORK_DIR" echo "Please exec with work dir" exit 0 fi WORK_DIR=$1 mkdir -p ${WORK_DIR} DATE=$(date +"%Y-%m-%d") exec > >(tee -a ${WORK_DIR}/node_recover_${DATE}.log) 2>&1 cd ${WORK_DIR} TIME=$(date) echo "Slurm nodes check and recovery action start. time:${TIME}" scontrol show node --oneliner > slurm_nodes > nodes_abnormal while read line; do if [[ $line =~ CPUAlloc=0 ]] && [[ $line =~ State=ALLOCATED\+DYNAMIC_NORM ]]; then echo $line >> nodes_abnormal fi done < slurm_nodes line_count=$(wc -l < "nodes_abnormal") if [[ $line_count -gt 0 ]]; then echo "The number of abnormal nodes: $line_count, restart service" systemctl restart slurmctld if [ $? -ne 0 ]; then echo "slurmctld service restart failed" else echo "slurmctld service restart success" fi else echo "The number of abnormal nodes: $line_count" fi echo "Slurm nodes check and recovery action complete." EOF赋予脚本执行权限。
chmod +x /root/recover/slurm_abnormal_nodes_recover.sh设置定时任务,每5分钟执行一次检测脚本。
执行
crontab -e命令编辑定时任务,添加以下内容:*/5 * * * * /root/recover/slurm_abnormal_nodes_recover.sh /root/recover
存储相关
如何配置NAS远程挂载目录?
创建集群时需要指定NAS的挂载点和远程目录,假如您的集群配置信息如下:
ClusterId=ehpc-mrZSoWf**** # E-HPC集群ID
VolumeMountpoint=045324****-m****.cn-hangzhou.nas.aliyuncs.com # NAS挂载点
RemotePath=/ # NAS远程目录在新创建的集群的节点上(比如计算节点),默认的挂载NAS逻辑如下:
您可以根据业务需要,自定义挂载的NAS远程目录。自定义挂载远程目录时,请提前创建相应的挂载点和远程目录。
配额相关
最多可以创建多少个集群?
一个地域下最多可以创建3个集群,如需提高额度,请提交工单。
最多可以创建多少个节点?
一个集群内最多可以创建500个节点,一次最多可以扩容500个计算节点。如需提高额度,请提交工单。
权限相关
什么是角色授权?
弹性高性能计算服务关联角色(AliyunServiceRoleForEHPC)是访问控制提供的一种服务关联角色,用于授权E-HPC访问关联云资源。通过AliyunServiceRoleForEHPC,E-HPC可以获得云服务器ECS、专有网络VPC、文件存储NAS等阿里云产品的访问权限。
如果您的账号没有完成弹性高性能计算服务关联角色的授权,需要完成角色授权。更多操作,请参见E-HPC服务关联角色。
为什么RAM用户无法登录控制台查看E-HPC信息?
如果RAM用户没有授权AliyunEHPCReadOnlyAccess权限,会一直提示前往RAM进行授权,需添加AliyunEHPCReadOnlyAccess权限才能查看E-HPC信息。
如果需要创建集群、创建用户、创建作业等操作,需添加AliyunEHPCFullAccess和AliyunNASFullAccess权限。具体操作,请参见管理RAM用户的权限。

