本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
有关在 AWS PCS 上使用容量块的常见问题
- 我刚刚支付了容量块的费用,并立即尝试将其与 AWS PCS 一起使用,但计算节点组创建失败了。发生了什么?
-
您的容量块可能未处于
scheduled或active状态。在容量块为scheduled或之后重试active。 - 我在 AWS PCS 中使用的是容量块,我在扩展到期之前就购买了扩展。如何继续在 AWS PCS 中使用它?
-
您无需执行任何操作即可继续使用 AWS PCS 中的容量块。延期付款成功后,容量区块的结束日期会更新。只要您的容量块未过期,计算节点组就会继续运行。如果您的延期付款失败,则您的容量块将保留
active,计算节点组将一直运行,直到容量块在其原始结束日期到期。 - 如果我的容量块过期,我的排队和正在运行的作业会怎样?
-
在将另一个计算节点组附加到队列或使用新的容量块更新计算节点组之前,在容量块到期之前未启动的排队作业仍处于待处理状态。您仍然可以向队列提交作业。你的 Slurm 设置会影响活跃的作业。默认情况下,活动作业会自动重新排队,但可能会出现错误或失败。
- 我的容量限制已过期。我应该做点什么吗?
-
你不必做任何事情。您可以在 Amazon EC2 控制台上查看 EC2容量预留的状态。当容量块过期时,与该容量块关联的计算节点组将继续存在并处理相同的队列。计算节点组没有任何用于运行作业的实例。您可以删除计算节点组或将其与队列取消关联,以防止用户提交无法运行的作业。
- 我想在我的 AWS PCS 计算节点组中使用新的容量块。我应该怎么办?
-
我们建议您创建一个新的计算节点组以使用新的容量块。有关更多信息,请参阅 将 AWS PCS 计算节点组配置为使用容量块。
- 如何在集群和服务之间共享 1 个容量块?
-
您可以将容量块拆分到多个集群和服务中。例如,要将容量块拆分为 64 个
p5.48xlarge实例,其中 20 个节点在 PCS-Cluster-1 上,16 个节点在 PCS-Cluster-2 上,其余节点用于其他服务,请将 PCS-Cluster-1 的和设置为 20,PCS-Cluster-2 的minInstanceCount和maxInstanceCount设置为 16。 - 我能否将多个容量块或合并容量与 1 个计算节点组一起使用?
-
不是。 只有 1 个容量块可以与单个计算节点组相关联。 AWS PCS 不支持组合多个容量块的容量预留组。
- 我怎么知道我的容量块何时开始或过期?
-
与 AWS PCS 无关,Amazon EC2 会在容量块预留开始 EventBridge 时发送一个
Capacity Block Reservation DeliveredCapacity Block Reservation Expiration Warning事件,在容量块预留到期前 40 分钟发送一个事件。有关更多信息,请参阅 Amazon 弹性计算云用户指南 EventBridge中的使用监控容量块。 - Slurm 如何跟踪我的容量区块的状态?
-
你可以跑
sinfo去了解 AWS PCS 是如何使用容量块的。在以下示例输出中,队列与从active容量块运行 4 个实例的计算节点组相关联。节点处于idleSlurm 状态(可供使用但尚未分配给任何作业)。$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST fanout up infinite 4 idle node-fanout-[1-4]如果节点处于
maint状态,则可以运行scontrol show res查看有关控制此状态的 Slurm 预留的详细信息。在以下示例输出中,Capacity Blockscheduled的开始日期为 future。$ scontrol show res ReservationName=node-fanout-scheduled StartTime=2025-10-14T13:09:17 EndTime=2025-10-14T13:11:17 Duration=00:02:00 Nodes=node-fanout-[1-4] NodeCnt=4 CoreCnt=16 Features=(null) PartitionName=(null) Flags=MAINT,SPEC_NODES TRES=cpu=16 Users=root Groups=(null) Accounts=(null) Licenses=(null) State=ACTIVE BurstBuffer=(null) MaxStartDelay=(null) Comment=node-fanout Scheduled - 如何判断我在启动容量时遇到的错误是否是因为我的容量块已共享?
-
在 Amazon EC2 控制台中查看 “容量预留”,了解容量块中有多少实例处于活动配置状态。检查每个实例的标签,找出使用它的服务或集群。例如,所有 PCS 实例都有 AWS AWS PCS 标签
aws:pcs:cluster-id = pcs_l0mizqyk5o | aws:pcs:compute-node-group-id = pcs_ic7onkmfqk,例如用于指示该实例属于哪些集群和计算节点组。然后,您可以检查容量块是否达到最大容量。您可以
scontrol show nodes用来检查 AWS PCS 集群中的容量块节点是否正在触发ReservationCapacityExceeded:[root@ip-172-16-10-54 ~]# scontrol show nodes test-node-8-gamma-cb-2 NodeName=test-8-gamma-cb-2 CoresPerSocket=1 CPUAlloc=0 CPUEfctv=8 CPUTot=8 CPULoad=0.00 AvailableFeatures=test-8-gamma-cb,gpu ActiveFeatures=test-8-gamma-cb,gpu Gres=gpu:H100:1 NodeAddr=test-8-gamma-cb-2 NodeHostName=test-8-gamma-cb-2 RealMemory=249036 AllocMem=0 FreeMem=N/A Sockets=8 Boards=1 State=IDLE+CLOUD+POWERING_DOWN ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A Partitions=my-q BootTime=None SlurmdStartTime=None LastBusyTime=Unknown ResumeAfterTime=None CfgTRES=cpu=8,mem=249036M,billing=8 AllocTRES= CurrentWatts=0 AveWatts=0 Reason=Failed to launch backing instance (Error Code: ReservationCapacityExceeded) [root@2025-08-28T15:15:33] - 当多个计算节点组连接到同一个队列时,如何强制作业在 Capacity Block 支持的实例上运行?
-
你可以使用 Slurm 的功能和约束将任务锁定到一组特定的节点。我们建议您不要为每个计算节点组设置 Slurm 权重,因为这仅适用于未处于该
maint状态的节点。