申请试用

设置 HPC 集群


目标

  • - 使用您选择的配置属性部署 HPC 集群


体系结构概述和 NFS 文件系统设置


HPC 集群由登录节点,连接块存储卷的存储节点, 1-3 LSF 管理节点以及多个 LSF 工作程序节点组成。


  • 登录节点充当跳转主机,并且是唯一具有公共 IP 地址的节点。 其他节点只有专用 IP 地址,访问这些节点的唯一方法是通过登录节点。 您可以登录到主 LSF 管理主机,并从 LSF 管理主机执行大部分操作。 缺省情况下, lsfadmin 是在集群上创建的唯一用户标识。 在 LSF 管理主机和工作程序之间配置 SSH 无密码设置。 您可以从 LSF 主节点访问具有 lsfadmin 用户标识的任何其他工作程序节点。


  • 工作程序节点可以是静态资源。 在这种情况下,其生命周期由 Schematics管理。 您可以请求多个静态工作程序节点,并且这些工作程序在 LSF 集群中保持可用状态,直到执行 Schematics-destroy 操作为止。 LSF 资源连接器功能在没有足够的容量来运行作业时创建额外的工作程序,并在需求减少时破坏工作程序。 这些动态工作程序的生命周期由 LSF 资源连接器管理。 等待这些动态资源返回到云,然后再通过 Schematics销毁整个 VPC 集群。


  • 将存储节点配置为 NFS 服务器,并将块存储卷安装到 /data,该存储卷将导出以与 LSF 集群节点共享。 在 NSF 客户机端,在本例中, LSF 集群节点 (远程目录 /data) 以本地方式安装到 /mnt/data 。 软链接 /home/lsfadmin/shared也指向 /mnt/data。 您可以将 /home/lsfadmin/shared 用作应用程序的共享文件系统。HPC 集群解决方案提供基本定制映像,其中包括 LSF 安装。 您可以在基本映像的基础上创建自己的定制映像。 有关更多信息,请参阅 创建定制映像。 VPC 上的映像服务提供了执行此操作的方法。 然后,可以指定要在 LSF 管理节点和工作程序节点的 Schematics 中使用的定制映像。 登录节点和存储节点使用的映像目前不可配置 (缺省情况下为CentOS 7)。

 

步骤 1: 创建 SSH 密钥

完成以下步骤以创建 SSH 密钥:

(1)通过运行以下命令在系统上生成 SSH 密钥:

   ssh-keygen -t rsa

(2)复制并保存 .ssh/id_rsa.pub中的所有内容。

 

步骤 2: 将 SSH 密钥添加到 VPC 基础结构

(1)使用唯一凭证登录到 IBM Cloud® 控制台 。

(2)在仪表板中,单击 "菜单" 图标  "菜单" 图标> VPC 基础结构> SSH 密钥

(3)单击创建

(4)输入 SSH 密钥名称 (例如, po-ibm-ssh-key) ,选择缺省资源组,添加标记,然后选择区域。

(5)将公用密钥复制并粘贴到 公用密钥 字段 (从 .ssh/id_rsa.pub保存的内容)。

(6)单击添加 SSH 密钥

 

步骤 3: 创建 API 密钥

完成以下步骤以创建 API 密钥:

(1)在 IBM Cloud 控制台中,转至 管理> 访问权 (IAM)> API 密钥

(2)单击创建 IBM Cloud API 密钥

(3)为 API 密钥输入名称和描述。

(4)单击创建下载

(5)然后单击 显示 以显示 API 密钥,单击 复制 以复制并保存该密钥供以后使用,或者单击 。

 

步骤 4: 从 IBM Cloud 目录创建和配置 HPC 集群

完成以下步骤以从 IBM Cloud 目录创建和配置 HPC 集群:

(1)在 IBM Cloud 目录中,搜索 HPC 或 Spectrum LSF,然后选择 IBM Spectrum LSF

  

HPC Cluster 解决方案页面





HPC 集群解决方案页面


(2)在 设置部署值 部分中,提供必需值: api_key, ibm_customer_number, remote_allowed_ips, ssh_key_name和 zone。

(3)使用许可协议进行确认后,可以将缺省值用于其他参数,然后单击 安装。 将使用缺省配置在 5 分钟内创建并完成 HPC 集群。集群部署的参数请参阅下表以获取可以为 HPC 集群配置的参数列表:


集群部署的参数

请参阅下表以获取可以为 HPC 集群配置的参数列表:


表 1. 参数值
参数描述
cluster_prefix用于命名为构建 HPC 集群而供应的 VPC 资源的前缀。 在某些资源中,它们的名称必须在给定单个区域的同一云帐户中唯一。 确保名称是唯一的 (例如,将您的缩写添加到名称 :po-hpc-cluster)。
hyperthreading_enabled通过将此值设置为 true (缺省值) ,可以在集群的工作程序节点中启用超线程。 否则,将禁用超线程技术。
image_name使用 LSF 编辑和添加定制映像。 您可以使用解决方案提供的缺省 LSF 定制映像。 如果您创建了自己的定制映像,请编辑定制映像名称的值。
management_node_count集群中最多可以有三个管理节点。 如果需要 LSF 提供的故障转移支持,那么需要指定大于 1 的值。 在这种情况下,当主管理节点关闭时,其中一个候选管理节点将成为主管理节点,并且集群保持正常运行而不会中断。
region编辑要在其中创建集群的区域。 要获取区域的完整列表,请参阅 在其他区域中创建 VPC。
resource_group部署 VPC 资源的 IBM Cloud 帐户中的资源组名称。
vpc_name您可以使用在其中供应集群资源的现有 VPC。 如果未提供任何值,那么将为集群供应新的 VPC。
vpn_enabled您可以在集群中部署 VPC 的 VPN 网关。 缺省情况下,该值设置为 false。
vpn_peer_addressVPN 所连接到的对等公共 IP 地址。
vpn_peer_cidrsVPN 所连接的对等 CIDR (例如, 192.168.0.0/24) 的逗号分隔列表。
vpn_preshared_keyVPN 的预共享密钥。
zone根据所选区域编辑区域。 要获取区域内区域的完整列表,请参阅 使用 CLI 获取区域。


用于自动缩放的参数

您可以为自动缩放设置以下参数:

  • • worker_node_min_count: 创建集群并保持运行时供应的工作程序节点的最小数目,而不考虑集群中的作业需求。
  • • worker_node_max_count: HPC 集群中的最大工作程序节点数,这将限制可以添加到 HPC 集群的机器数。 LSF 自动扩展会在工作负载需要时将集群向上扩展到此数量的节点,并在队列中没有作业时进行扩展以仅保留worker_node_min_count 工作程序。


实例概要文件的参数

您可以通过 xxx_node_instance_type 参数来控制每种实例类型的实例概要文件。 管理节点是运行主 LSF 守护程序的位置。 如果计划使用 100 多个节点来运行作业,那么需要选择具有更多计算能力的作业。 工作程序节点是执行工作负载的节点,需要根据工作负载的特征进行选择。 存储节点是用于管理 HPC 集群的 NFS 文件系统的存储节点。 登录实例充当跳转主机,因此您可以选择最小的概要文件。 有关更多信息,请参阅 实例概要文件。


块卷的参数

您可以使用 volume_xxx 参数来配置存储容量和吞吐量。 volume_profile 参数的值可以是通用值,也可以是定制值。 使用 general-purpose 时, IOPS 由云基础结构确定,并且 volume_iops 参数不会产生任何影响。 如果要定制 IOPS ,那么需要对 volume_profiles 使用定制,并根据 volume_capacity中指定的容量通过 volume_iops 设置 IOPS。 有关更多信息,请参阅 块存储器概要文件。

 

步骤 5: 访问 HPC 集群

要访问 HPC 集群,请完成以下步骤:

(1)转至 "菜单" 图标"菜单" 图标 > 活动> 已应用计划> 查看日志

(2)复制 ssh-command 以访问集群。

  •    ssh -J root@ip-jumphost lsfadmin@ip-managementhost
  •    ip-jumphost 是 public,而 ip-managementhost不是。
  •   • -J flag: 连接到跳转主机,并建立到最终目标 (管理主机) 的 TCP 转发。


 

步骤 6: 自动缩放

您具有最少数量的工作程序节点 (worker_node_min_count)。 这是创建集群时供应的工作程序节点数。 但是,您可以使用应该添加到由 worker_node_max_count 定义的 Spectrum LSF 集群的最大工作程序节点数。 这是为了限制在使用自动缩放配置时可以添加到 Spectrum LSF 集群的机器数。 此属性可用于管理与 Spectrum LSF 集群实例关联的成本。

以下示例显示了 worker_node_min_count=2 和 worker_node_max_count=10。


(1)要检查两个工作程序节点,请运行以下命令:


bhosts -w

示例输出:

original_workernodes.png

两个工作程序节点

(2)要尝试自动缩放功能,请运行需要两个以上节点的作业。 例如,此作业需要 5 个作业才能休眠 10 秒:


bsub -n 5 -R "span[ptile=1]" sleep 10

(3)已提交作业。

(4)一分钟后,通过运行以下命令来检查节点:

bhosts -w

您可以看到现在有 5 个节点已添加到集群中:

autoscaling.png

添加了 5 个工作程序节

(5)自动缩放功能创建的节点的差异将在不使用 10 分钟后自动销毁。


步骤 7: 针对工作负载定制 HPC 集群

您有两个选项可用于在集群中为工作负载添加软件包。 您可以在 NFS 共享文件系统 (例如, LSF 管理主机中的 /home/lsfadmin/shared ) 中安装其他软件,这对于所有计算节点都可视。 添加到 NSF 共享文件系统的文件存储在附加到存储节点的块存储器中。 当整个 HPC 集群被破坏时,数据将丢失。 请记住在销毁集群之前保存要保留的数据。


另一个选项是在 HPC 集群解决方案使用的缺省映像的基础上构建您自己的定制映像。 必须先准备定制映像的创建,然后再创建 HPC 集群。 在 VPC 中创建新的定制映像时,将有一个名称与此映像相关联。 您需要在 image_name 参数中使用此名称。 有关更多信息,请参阅 扩展基本映像并创建新的定制映像。


步骤 8: (可选) 设置混合连接

如果要使用 VPN 设置混合连接环境,请参阅 将 VPN 安装到 HPC 集群指示信息。

如果要使用 Direct Link,请参阅 将 Direct Link 安装到 HPC 集群的指示信息。