Pritiks23/HPC-Research-Cluster-Lab

GitHub: Pritiks23/HPC-Research-Cluster-Lab

一个模拟 HPC 研究集群的实验项目,用于实践和展示高性能计算环境下的系统管理、作业调度、监控自动化及事件响应等核心运维技能。

Stars: 0 | Forks: 0

# HPC 研究集群实验室 一个展示核心高性能计算(HPC)系统管理概念的组合项目,包括 Linux 管理、工作负载调度、监控、自动化和事件响应。 ## 项目目标 本项目模拟了支持大学和研究计算环境的 HPC 系统工程师通常承担的职责。 展示的关键领域: - Linux 系统管理 - Slurm 工作负载管理 - 集群监控 - 基础设施自动化 - 事件响应 - 文档与运维 ## 仓库结构 ``` HPC-Research-Cluster-Lab/ README.md architecture/ ├── cluster-diagram.png slurm/ ├── slurm.conf ├── test-job.sh monitoring/ ├── cluster_health.py automation/ ├── install_packages.yml incidents/ ├── node-failure.md ├── disk-full.md ├── failed-job.md screenshots/ ├── sinfo.png ├── squeue.png ├── monitoring.png ``` ## 模拟集群架构 ``` Head Node +---------------------+ | Slurm Controller | | Monitoring Scripts | +----------+----------+ | +-------------+-------------+ | | +--------------+ +--------------+ | Compute Node | | Compute Node | | Research Jobs| | Research Jobs| +--------------+ +--------------+ ``` ## 监控 集群健康信息使用 Python 收集,包括: - CPU 负载 - 内存利用率 - 磁盘利用率 - 系统正常运行时间 运行: ``` python3 monitoring/cluster_health.py ``` image ## 示例工作负载 运行: ``` ./slurm/test-job.sh ``` 示例输出: ``` HPC Research Job Started Running scientific workload... Simulation Complete ``` ## 自动化 使用 Ansible 自动化包安装。 运行: ``` ansible-playbook automation/install_packages.yml ``` image ## 事件响应场景 💥 事件:“由于缺少输入文件导致的 HPC 作业失败” 一个模拟的 HPC 批处理作业在执行期间因缺少输入文件依赖而失败。该事件用于演示 HPC 环境中常见的故障排查工作流,包括作业失败分析、文件系统验证和纠正性修复。 事件: image 作业脚本尝试读取预期工作目录中不存在的输入数据集(`missing_input.dat`)。结果,在执行 `cat` 命令期间,作业因找不到文件错误而终止。 诊断: image 使用标准的 Linux 调试技术对该问题进行了诊断: - 使用 `cat` 验证了脚本内容和执行流程 - 使用 `ls` 检查了文件是否存在 - 观察到指示缺少文件依赖的运行时错误 - 确定脚本依赖于相对文件路径,这导致了预期与实际文件位置之间的不匹配 这确认了根本原因是 **作业脚本中缺少输入文件以及未经校验的文件路径假设**。 解决: image 通过重构作业脚本以提高健壮性和可重复性,解决了该问题: - 引入了指定的工作目录(`/tmp/hpc_incident`) - 将文件路径转换为绝对引用以消除歧义 - 添加了条件检查以检测缺少的输入文件 - 实现了在输入数据不可用时自动生成备用数据集 - 重新成功运行了作业,确认已恢复 修正后的工作流成功执行,展示了对缺失依赖项的正确处理以及改进的容错能力。此练习反映了现实世界中的 HPC 运维实践,在这些实践中,必须对用户提交的作业进行验证、调试,并使其能够抵御常见的执行错误。 ## 展示技能 - Linux 命令行调试 - 文件系统和路径解析故障排查 - Shell 脚本编写和错误处理 - HPC 风格的作业失败分析 - 运维事件响应工作流 附加内容: 本项目包含以下操作运行手册: 1. 计算节点故障 2. 磁盘满载状态 3. Slurm 作业失败 每个事件包括: - 症状 - 调查 - 根本原因 - 解决方案 - 预防
标签:Ansible, HPC, Slurm, Yelp, 应用安全, 系统提示词, 系统运维, 自动化运维, 逆向工具