当前位置:网站首页 > R语言数据分析 > 正文

chronyc 手动同步ip(chronyc 手动同步某节点)



  • Slrum官网
  • Slurm安装

系统: Ubuntu 22.04

四个虚拟机充当四台计算

Slurm版本:24.5

主机名用途IPnode1管理节点/数据库服务节点192.168.1.101node2存储节点/计算节点192.168.1.102node3计算节点192.168.1.103node4计算节点192.168.1.104

以下操作如果没有特别说明都是在四台机器中执行相同命令,Xshell可以在工具栏中的工具->发送键输入到->所有会话,这样就可以在一台机器上同时控制四台

没有特别说明的话,默认登录用户就是ROOT用户

安装一些基础软件

 

bzip2:解压缩时候需要

zlib1g-dev: pmix 和 openmpi好像是用到了,不安装也不会报错,但是运行mpirun的时候会有个提示,说是建议安装zlib

这个是配置时区

 

参考: Linux服务器时间同步chrony详解+案例

Chrony是网络时间协议(NTP)的实现。

  • 使系统时钟与NTP服务器同步,
  • 使系统时钟与参考时钟(例如GPS接收器)同步,要将系统时钟与手动时间输入同步,
  • 作为NTPv4(RFC 5905)服务器或对等方以向网络中的其他计算机提供时间服务。
  • Chrony在各种条件下都表现良好,包括间歇性网络连接,网络严重拥塞,温度变化(普通计算机时- - 钟对温度敏感)以及无法连续运行或在虚拟机上运行的系统。
 

NTP服务端

将node1 作为NTP服务端,在 [/etc/chrony/chrony.conf] 配置文件中添加以下内容

 

NTP客户端

在其它三个节点内的相应的配置文件中添加以下内容

 

如果有的网卡支持IPV6那么可能启动chrony服务时会报错,但是不影响启动

Could not open command socket on [::1]:323

要想消除这个错误需要修改以下脚本添加 -4 参数,表示只使用IPV4

 

参考:SSH的免密登录详细步骤

配置主机名与IP的映射

 
 
 

配置好以后可以通过ssh命令进行测试是否可以免密登录,如果不成功的话,注意目录和文件的权限问题

 

NFS服务端

NFS共享目录我打算在node2上安装,node2为共享服务端

 

创建共享NFS目录

 

编辑配置文件

 

/opt/share:指定/opt/share为nfs服务器的共享目录
*:允许所有的网段访问,也可以使用具体的IP
rw:挂接此目录的客户端对该共享目录具有读写权限
sync:资料同步写入内存和硬盘
root_squash: 当客户端以root用户访问时,映射为匿名用户
no_root_squash:root用户具有对根目录的完全管理访问权限,映射为root用户
no_subtree_check:不检查父目录的权限

重启nfs服务

 

NFS客户端

也就是除了node2节点的其它节点进行操作

安装NFS 客户端

 

创建共享挂载点

 

挂载共享目录

 

-t:挂载的文件系统类型
-o nolock:不要文件锁
192.168.xxx.xxx:/opt/share:nfs服务器ip:服务器共享目录
/opt/share:客户端共享目录挂载点

设置开机自动挂载

 

MUNGE(MUNGE Uid ‘N’ Gid Emporium)是一个用于创建和验证用户凭证的身份验证服务。它专为高性能计算(HPC)集群环境设计,旨在提供高度可扩展的身份验证解决方案。MUNGE 允许在共享安全域内的主机之间进行用户身份验证,而无需使用 root 权限、保留端口或平台特定方法。

  • 下载地址
  • 安装指南
 

添加munge用户,添加munge用户主要是为了启动munge这个服务的,因为系统服务文件中明确规定了的用户就是munge,如果以其它用户去启动的话会报错。

所以我想是不是更改这个服务文件中的用户名就可以呢?

 

暂时先按着其它文章中的操作做一遍, 为了保持munge的uid和gid在所有的节点上一致,创建时指定固定uid和gid,确保指定的uid和gid不存在即可

 
 

启动munge服务

 

这个图省事就直接使用apt进行安装了,mysql只在运行 slurmdbd 服务的节点上安装即可,我选择了node1节点。

 

后续启动 slurmdbd 服务时报错 slurmdbd: error: Database settings not recommended values: innodb_buffer_pool_size innodb_lock_wait_timeout

修改配置文件并添加以下内容,如果设置了1024M,查看 slurmdbd 服务还是报相关错误,则将值提高到 2048M

 

创建数据库用户

 

在mysql命令行界面查看数据库和用户是否成功

 
  • OpenMPI
  • Slurm官方MPI安装指南

如果想在Slurm集群中使用OpenMPI需要提前构建,在指南中指出想使用 srun 命令直接启动MPI需要指定PMIx库

在没有安装PMIx库的情况下安装了Slurm,使用srun命令查看mpi插件时将无法得到PMIx的信息

 

需要注意的是: 编译OpenMPI时如果使用了外部PMIx,则需要和PMIx使用相同的libeventhwloc库,正好Slrum的cgroup插件也需要hwloc库,

所以编译OpenMPI一共要安装的库以下四个:

  • hwloc
  • libevent
  • PMIx
  • UCX

UCX库好像是利用高速网络进行通信的,支持RDMA的网卡好像是可以使用相应的API什么的。不安装UCX后续也不会报错,所以安不安都可以。

安装目录都是默认的 [/usr/local],没有自定义,后面编译Slurm时也好配置,不需要特别指定安装目录

 
  • libevent官网
 
  • PMIx操作指南
 
  • UCX下载链接
 
  • OpenMPI5.0下载链接

下载编译安装

 

在执行 https://blog.csdn.net/_/article/details/configure 后,确保输出的以下内容中的值是 external就可以了,最起码保证咱们之前安装的库用上了

hwloc: external
libevent: external
pmix: external

如果上面几个库安装时没有特别指定目录安装的话,不用指定 –with-xx 的,会在默认安装目录中 [/usr/local/] 下进行搜索的

Slurm中的cgroup 插件依赖于 dbus 和 hwloc 库,hwloc库在上面已经安装过了。

如果想源码编译dbus可以在 dbus 官网 中下载后进行安装

 
  • https://www.schedmd.com/download-slurm

在上面网址中下载Slurm 源码包

安装pam开发库

 

Slurm编译源码

 

安装完成后拷贝源码目录 etc/ 中的Slurm相关服务到 /lib/systemd/system/ 目录

这些服务文件中有的默认的启动用户是slurm,可以直接修改服务文件内容为root用户,这样就不用新创建一个slurm用户了,确保所有节点使用的是同一个用户就可以了。

 

此服务文件在主节点中存在即可

修改该服务文件内容,将User和Group改为root用户

 

24.05版本的Slurm是支持无配置模式的,所以,slurm.conf配置文件只需要在主节点中创建即可

slurm安装默认是没有配置文件的,所有的配置文件都需要自己创建。

生成slurm.conf配置文件内容有两种方式,选择其中一种

  • 1、可通过 Configurator tool 生成slurm.conf,在线生成的方式只适用于最新版本,如果安装的是其它版本应该使用源码中的doc/html/configurator.html构建
  • 2、在源码文件中的etc/下有个slurm.conf.example示例配置文件拷贝到slurmctld.service服务文件中指定的目录中。

比如在slurmctld.service中指定了slurm.conf文件的位置是 /usr/local/etc/slurm.conf 那么就可以在相应的目录中创建slurm.conf文件。

此配置文件为slurm24.05版本,如果版本不一致,需要自行找到源码中的doc/html/configurator.html 进行构建

其中注释部分网络上摘抄,具体含义还是需要试验进行验证,如果进行了make install操作,可以在系统内执行 man slurm.conf 命令查看所有配置的具体解释

 

NodeName那一行的配置中,因为我配置的虚拟机分配的核心数比较少,根据slurmd -C 输出只能分配一个CPU核心给Slurm调度。

配置cgroup.conf, 与slurm.conf同一个目录, cgroup.conf官方解释

 

此服务文件在计算节点和登录节点中存在即可,我的登陆节点就是主节点所以四个节点都需要此文件。

因为选择了无配置启动,不需要在本地创建slurm.conf文件,使用主节点的配置即可

slurmd 服务文件中需要添加远程配置服务的参数 –conf-server node1:6817,这样计算节点启动时会去主节点同步 slurm.conf 配置文件

 

此服务文件在node1中存在,其它计算节点不需要这个服务

修改 [/lib/systemd/system/slurmdbd.service] 中的 UserGrouproot

 
  • slurmdbd.conf

根据 [/lib/systemd/system/slurmdbd.service] 中指定的配置文件位置添加slurmdbd.conf

 
  • pam_slurm_adopt
 

后续还有很多配置,可以根据上方的链接进行配置。

在这里插入图片描述
根据官网图片中所示

管理节点需要启动 slurmctldslurmdbdmunge 服务

计算节点需要启动 slurmdmunge服务

 

如果以普通用户启动slurmctld服务时会提示你用什么用户进行验证,用root用户则不会提示。

 

因主节点中的 slurm.conf 配置文件中设置了无配置模式 SlurmctldParameters=enable_configless

所以计算节点不需要写配置文件了,启动计算节点服务后会同步到本机器内

 
  • 两小时入门MPI与并行计算系列
  • 一些例子
  • Slurm提交OpenMPI作业
  • MPI作业示例

在共享目录中编写一个简单的MPI程序

 

编译运行测试

 

默认使用当前节点并且创建了4个进程

-N:使用的节点数量,最大值3,因为只有三个计算节点

 

-n:要创建几个任务,一个任务就是一个进程,占据一个CPU核心

 

如果指定-N 1 不指定-n的数量时,会以当前计算节点的所有CPU核心数分配任务数量,也就是三个,但是要使用的节点数量为一个,一个计算节点内的CPU核心数是一个,此时会报错

 

也就是说任务数量不能超过: 要使用的节点的数量 X 分配好的CPU数量, 以下命令指定-n后成功运行

 

-w: 指定计算节点运行

 
  • slurm安全设定 规避用户盗用资源的讨论
  • slurm集群安装与踩坑详解
  • Ubuntu22.04部署slurm GPU集群
  • 北大高性能计算平台文档
  • 上海交大超算平台用户手册
  • 中国科大超算中心
  • slurm使用参考
  • Slurm资源管理与作业调度系统安装配置
  • AWS ParallelCluster 3集成ANSYS CFD计算
  • Slurm限制普通用户登陆计算节点(超算管理员必看)
  • OpenScow-slurm部署简介
到此这篇chronyc 手动同步ip(chronyc 手动同步某节点)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • oven的中文翻译(oevr翻译英文)2025-05-08 10:54:06
  • orcale默认用户(oracle 用户默认表空间)2025-05-08 10:54:06
  • swagger2配置(swagger2配置登录)2025-05-08 10:54:06
  • github docker镜像(docker镜像库)2025-05-08 10:54:06
  • resnet34和resnet50参数量(resnet50比34效果差)2025-05-08 10:54:06
  • chronyc sources输出详解(chronyc sources显示的结果)2025-05-08 10:54:06
  • pointnet++网络原理(pointer networks)2025-05-08 10:54:06
  • nfs文件服务器(nfs server用到的文件和目录)2025-05-08 10:54:06
  • argparse如何传列表(args传参)2025-05-08 10:54:06
  • orepare怎么读(ordre怎么读)2025-05-08 10:54:06
  • 全屏图片