本帖最后由 abin 于 2023-3-5 11:24 编辑
最新内容, 可以查阅
https://gitee.com/hpc4you/redstar/blob/master/deploy_note.md
Gitee 上的排版稍微清晰一点。
RedStar集群部署记录以下记录课题组新购置集群RedStar的配置备忘录. 年末, 学校财务快封账了, 课题组长忽然说, 现有的机器年头久了, 买几台新机器吧. 就不到三周时间了, 时间紧, 任务重. 调研需求当然是几个工作室溜达一圈, 当面问问同事, 可以买几个新机器, 想跑啥程序? 有啥需求? 很快就有了结果: - 内存越大越好, 跑VASP方便
- 也会跑高斯
- 不要AMD处理器
查看了旧集群的Ganglia历史监控数据, 分析发现: - VASP计算, 一个CPU核心配备6GB内存, 可以满足计算需求.
- Gaussian计算, 一个CPU核心配备至少2GB是可行的.
硬件配置楼里的供货商, 常来的就两家. 打电话聊了下, 8375C没货, 只有8369B. 问了大概的报价, 再结合预算, 确定了如下的硬件方案: - 节点内多核心并行
- 本地I/O
- 板载千兆网络
- 管理、登录、存储合一
计算节点- 处理器, 8369B双路, 核心多主频高, 价格适中
- 内存, 32GB, 16条, 保证开启所有内存通道, 也满足VASP内存需求
- 系统盘, 240GB SATA固态
- 本地I/O, NVMe 1TB一个, 挂载/tmp
- 2U机架式, 双电源
- 网卡1 集群IPMI
- 网卡2 管理+数据网络
系统盘, 其实30GB都可以了. 实际上, 120GB的没货, 最便宜的只有240GB规格了. 网卡1和网卡2, 设定在同一个局域网段, 都采用192.168.100.0/24. 管理节点- 处理器, 8156双路, 开启超线程
- 内存, 32GB两条
- 系统盘, 240GB SATA固态
- 软件硬盘, 1TB SATA固态
- 数据硬盘, 16TB SATA机械
- 备份硬盘, 16TB SATA机械
- 网卡1 IPMI接口
- 网卡2 管理+数据网络
- 网卡3 实验室内线, 配置为192.9.200.200/24, 网关192.9.200.254.
注意, 网卡1, IPMI接入到实验室内线; 网卡2, 指定地址为192.168.100.254. 网络预算有限, 当然是限定: - 本地I/O
- 单节点内多核心并行
- 计算节点IPMI和集群数据采用同一个局域网
- 主控节点, IPMI接入到实验室内线, 单独网卡, 接入实验室内线
- 送货前, 标注并按照要求配置好各个网络接口
IPMI配置说明配置逻辑是, - 通过实验室内线, 控制主控机器开关机
- 主控机器和计算节点, 在一个局域网; 主控机器开机后, 通过ipmitool控制其他机器开机.
机器上架硬件设定我们要求, 硬件供货商, 按照如下要求, 给每台机器安装系统: - 采用Rocky 8.7
- 系统盘, 默认使用全盘, 不再手动分区
- 仅仅开启root用户, 不额外创建任何用户
- 以太网和IPMI按照要求配置好
- NVMe硬盘, 都挂载到/tmp
- 按照前文要求, 配置各个网络接口
如果是我来操作, 可能: 至于硬件商怎么安装系统, 那不必操心, 达到目的就行了. 显然, 涉及到拆掉部分旧机器, 然后安装新机器. 新机器上架, 花费了一点时间. 按照事先要求, 接好网线, 开机后, 通过实验室内线顺利进入新机器, 确认: - 集群局域网工作
- IPMI操作所有机器远程关机, 开机, 都符合预期
网络配置确认, 只用了10分钟, 然后电话告诉硬件商, 硬件验收完毕, 可以走人了. 当然, 整个过程中, 我只是到现场告诉他们应该如何操作. 我告诉他们要拆下哪些机器, 该按照什么顺序安装新机器, 以及内线交换机的位置. 然后, 我就离开了. 机房风劲、冰冷、噪音隆隆. 我一秒钟也不想待在那里. 集群系统采用本人开发的hpc4you toolkit v3.0 web. 采用hpc4you toolkit协助好多课题组部署过集群了, 给自己的机器操作, 还是第一次. 调试网络实验室内线当然是没有互联网的. hpc4you toolkit依赖dnf通过网络安装缺失的组件. 所以, 第一件事情就是让处于内线的机器, 具有互联网链接了. 工作室的机器, 可以访问内线, 也可以访问互联网(校园网). 那问题就简单了: - 工作室找一台Linux机器, 显然可以访问内线和互联网, 在内线接口运行wireguard服务端.
- 主控节点, 显然在送货前就配置有wireguard客户端
- 主控节点, 运行NAT网关, 所有计算节点通过主控节点访问网络
发送WG配置文件, 并bypass内线网络, 启用WG, 看到如下信息: - [root@redstar ~]# ifconfig
- eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.100.254 netmask 255.255.255.0 broadcast 192.168.100.255
- ether ac:1f:6b:db:24:92 txqueuelen 1000 (Ethernet)
- RX packets <a href="tel:1341170249">1341170249</a> bytes <a href="tel:1843273050632">1843273050632</a> (1.6 TiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 450581852 bytes 184383348369 (171.7 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.9.200.200 netmask 255.255.255.255 broadcast 0.0.0.0
- ether ac:1f:6b:db:24:93 txqueuelen 1000 (Ethernet)
- RX packets 53664217 bytes <a href="tel:27454263284">27454263284</a> (25.5 GiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 17787634 bytes <a href="tel:8712212221">8712212221</a> (8.1 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- hpc: flags=209<UP,POINTOPOINT,RUNNING,NOARP> mtu 1420
- inet 10.8.0.2 netmask 255.255.255.0 destination 10.8.0.2
- unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 1000 (UNSPEC)
- RX packets <a href="tel:1948393">1948393</a> bytes <a href="tel:2618913160">2618913160</a> (2.4 GiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets <a href="tel:1079516">1079516</a> bytes 169497364 (161.6 MiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
- inet 127.0.0.1 netmask 255.0.0.0
- loop txqueuelen 1000 (Local Loopback)
- RX packets 23026904 bytes <a href="tel:10924417750">10924417750</a> (10.1 GiB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 23026904 bytes <a href="tel:10924417750">10924417750</a> (10.1 GiB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- [root@redstar ~]#
复制代码
显然, 我指定的WG网卡名称是hpc. 安装集群系统- 显然, 各个机器的root密码是一样的, 111111
- 在主节点, 编辑/etc/hosts, 录入机器的名字和IP地址, 指定neusoft.repo, 这个很快
- 运行hpc4you toolkit, 按照屏幕提示操作即可
然后, 我也没有去过机房, 集群就搞定了. 应用软件编译调试好的singularity/apptainer镜像, 运行效率和本机直接运行, 几乎没有差异. 如有差异, 可能就多十来秒. 通过singularity/apptainer镜像封装的程序, 只要保证支持目标机器上的指令集, 即可保证最佳运行效率. 显然, 我封装的源码编译的程序镜像, 都默认支持了AVX512/AVX2/SSE4.2指令集. 这些下载即用的镜像, 并非部分官方提供的预编译二进制那么简单. VASP镜像较大, 上传需要一点时间. Gaussian镜像较大, 上传需要一点时间. 启用集群管理员在自己的机器编辑/etc/hosts文件, 写入: 192.9.200.200 hpc4you.login
录入用户通过Web前端接入LDAP管理用户信息. 录入用户信息需要管理员操作. 创建队列这个需要管理员, ssh在指令行操作. 需要登录到主控节点, 根据实际, 创建几个不同的QoS. 资源管理系统电邮通知各位同事/PI:
- 资源管理系统如何用, 创建Project, 添加自己的学生.
- 告知各位PI的学生ID和密码信息
用户访问- 点击鼠标, 向队列提交计算任务
- 点击鼠标, 修改输入文件, 脚本文件
- 点击鼠标, 上传下载文件
- 点击鼠标, 复制、移动文件
- 点击鼠标, 直接打开Linux桌面, 运行图形界面程序, 比如GaussView, VMD; 或者用Firefox上网.
显然, 也支持传统的SSH访问模式. 无论是Web端, 还是SSH模式, 所有计算任务, 都是通过slurm自动调度的. 网络访问在实验室内线, 千兆局域网. 通过互联网也可以访问呀. 对, 就是在家用宽带, 也可以访问呀. 显然, 工作室能访问互联网的机器, 仅仅是个教育网的多重NAT的局域网, 使用Tailscale搞一下, 就可以了. 访问效果, 取决于用户网络. 目前测试, 电信宽带/4G/5G热点, 移动宽带/4G/5G热点, 都很稳定. 延时大约30ms以内. 家里是千兆宽带, 晚间访问服务器, 下载文件, 能维持在6 - 8MB/s. Web端十分顺畅. 上了年纪的同事, 喜欢SSH模式. 学生, 很喜欢Web模式. 最耗时的环节hpc4you toolkit, 也就是30分钟吧. 因为neusoft在我这里, 可以跑到40MB/s. 最浪费时间的, 不是编写脚本, 而是不停调整脚本的说明, 以达到, 所有用户/学生看了后, 不再理解错. 你永远想不到, 一知半解(不仔细阅读文字)的学生, 如何异想天开的修改脚本参数.
|