简介

​ 简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(即集群中的每台计算机)都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。当用户请求集群系统时,集群给用户的感觉就是一个单一独立的服务器,而实际上用户请求的是一组集群服务器。

​ 举个例子:

​ 打开谷歌,百度的页面,看起来好简单,也许你觉得用几分钟就可以制作出相似的网页,而实际上,这个页面的背后是由成千上万台服务器集群协同工作的结果。

​ 若要用一句话描述集群,即一堆服务器合作做同一件事,这些机器可能需要统一协调管理,可以分布在一个机房,也可以分布在全国全球各个地区的多个机房。

​ Linux集群系统包括集群节点和集群管理器两部分。集群节点有时简称为节点、服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作。一般来讲,它必须进行配置才能成为集群的一部分,也必须运行集群的应用软件。应用软件可以是专用于集群的软件,也可以是设计用于分布式系统的标准软件。Linux集群管理器则是将节点捆绑在一起,以构成单一系统外观的逻辑结构,它用于将任务分解到所有的节点。

集群的常见分类

计算机集群架构按功能和结构可以分成以下几类:

  • 负载均衡集群,简称LBC或者LB
  • 高可用性集群,简称HAC
  • 高性能计算集群,简称HPC
  • 网格计算集群

负载均衡集群高可用性集群是互联网行业常用的集群架构模式。

实验室集群的使用

管理节点、计算节点等众多节点其实是一个计算机,可以简单将slurm提交任务理解成将管理节点中的硬件替换成计算节点中的硬件计算资源,而原本在管理节点中的软件环境仍然可用

  • ssh登陆
  • scp传文件
  • module加载环境变量
  • slurm管理计算节点资源
  • 管理节点安装软件环境
  • 修改jupyter配置文件(参考https://blog.csdn.net/fs1341825137/article/details/109683965)
  • 写slurm脚本,使用jupyter
  • sbatch提交任务
  • squeue查看全部任务信息
  • 远程登陆jupyter
  • 激活环境
  • 运行脚本