腾讯组学 HPC 集群运维
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @tencent-adm/omics-hpc-skill。
技能介绍
你在面对什么问题
omics-hpc 集群的日常操作横跨三层:腾讯云组学 API(发现集群、远程下发 Shell)、SLURM(sbatch / squeue / sacct 等)和 tophpc(节点、队列、弹性伸缩、文件系统)。本地往往没有 slurm/tophpc 客户端,作业又必须落在管理节点上执行;弹性伸缩模式下 dummynode、全队列 PENDING、sinfo 显示 0 可用节点等现象很容易被误判为故障。
技能如何工作
本技能把「生成命令 → RunCommand 远程下发 → DescribeCommandExecution 取回输出」作为标准三段式,并内置两层领域知识:
- 作业层:按意图映射到
squeue、sbatch、scancel、scontrol show job等;提交前收集分区、资源与时间;可用脚本生成sbatch或套用模板。 - 基础设施层:构造
tophpc cluster/node/queue/scale/fs等命令,强调--format json、--force与非交互确认(如echo y |)。
对会改变状态的操作(提交/取消作业、tophpc 变更)走 Inspect → Confirm → Execute → Verify;只读查询可直接下发。提交 SLURM/SGE 作业时通过 --run-as-user 以普通用户身份执行,避免 root 提交带来的权限与审计问题。
边界与注意点
DescribeHPCClusters受 Region 影响,集群按地域隔离;RunCommand与结果查询不受地域限制。- 技能不主动轮询终态,是否
--poll由调用方决定。 - PENDING 因
Resources/ReqNodeNotAvail时,在弹性集群里多为等待扩节点,持续超过约 10 分钟再按异常路径排查;dummynode处于 down/drain 不算故障节点。 - 修改分区/节点配置属于 tophpc 层,不要混用纯
sinfo查看与基础设施变更流程。
使用场景
- 已知 ClusterId,远程执行 `scontrol show job` 解读 PENDING 原因,区分弹性扩节点等待与真实调度异常。
- 分析人员描述 GPU/内存诉求后,生成 `sbatch` 脚本并用 `--run-as-user` 在管理节点提交,避免 root 属主输出文件。
- 不 SSH 登录管理节点,通过 `RunCommand` 拉取 `squeue`/`sacct --parsable2` 并用汇总脚本整理大批量作业列表。
- 按 `ap-guangzhou` 等地域调用 `DescribeHPCClusters` 筛选 RUNNING 集群,再对目标集群下发 `tophpc node list --format json` 做变更前 Inspect。
适合人员
- 驻场维护 omics-hpc 的运维工程师,需远程查看 `/var/log/tophpc/scale.log` 与 root crontab 排查定时扩缩容未触发。
- 在弹性集群上跑批处理管道的生信工程师,需要查 `sacct` 的 ExitCode(如 137)判断 OOM 并决定是否调 mem。
- 云组学平台 SRE,负责用云 API 下发只读 SLURM/tophpc 命令并统一 mutating 操作的确认与 Verify 步骤。
- 负责队列与伸缩策略的集群管理员,要构造 `tophpc scale add` 的 `--instance-specs` JSON 并在 queue 存在性失败时先补 `queue add`。