本页面介绍了如何创建将远程直接内存访问 (RDMA) 与 H4D 虚拟机结合使用的高性能计算 (HPC) Slurm 集群,该集群具有增强的集群管理功能。您可以使用 gcloud CLI 和 Cluster Toolkit 来配置集群。
H4D 机器系列专为满足严苛的 HPC 工作负载的需求而设计。H4D 通过 Cloud RDMA 网络提供具有更高工作负载可伸缩性的实例,吞吐量高达 200 Gbps。如需详细了解 Cloud de Confiance by S3NS上的 H4D 计算优化机器类型,请参阅 H4D 机器系列。
准备工作
在创建 Slurm 集群之前,如果您尚未完成以下步骤,请先完成这些步骤:
- 选择使用选项:您选择的选项决定了您希望如何获取和使用 vCPU 资源。
- 获取容量:为所选的使用选项获取容量。
- 确保您有足够的 Filestore 配额:您需要至少 10,240 GiB 的可用区级(也称为大规模 SSD)容量。
- 如需查看配额,请参阅查看 API 特定的配额。
- 如果配额不足,请申请增加配额。
- 安装 Cluster Toolkit:如需预配 Slurm 集群,您必须使用 Cluster Toolkit 版本
v1.62.0或更高版本。如需安装 Cluster Toolkit,请参阅设置 Cluster Toolkit。
如需了解详情,请参阅选择使用选项并获取容量。
In the Cloud de Confiance console, activate Cloud Shell.
At the bottom of the Cloud de Confiance console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
设置存储桶
集群蓝图使用 Terraform 模块来预配云基础设施。使用 Terraform 时,最佳实践是在已启用版本的文件中远程存储状态。在 Cloud de Confiance by S3NS上,您可以创建已启用版本控制的 Cloud Storage 存储桶。
如需通过 CLI 创建此存储桶并启用版本控制,请运行以下命令:
gcloud storage buckets create gs://BUCKET_NAME \
--project=PROJECT_ID \
--default-storage-class=STANDARD --location=BUCKET_REGION \
--uniform-bucket-level-access
gcloud storage buckets update gs://BUCKET_NAME --versioning
替换以下内容:
打开 Cluster Toolkit 目录
通过运行以下命令,确保您位于 Cluster Toolkit 目录中:
cd cluster-toolkit
此集群部署需要 Cluster Toolkit v1.70.0 或更高版本。如需查看版本,您可以运行以下命令:
./gcluster --version
创建部署文件
创建部署文件以指定 Cloud Storage 存储桶,为网络和子网设置名称,并设置部署变量,例如项目 ID、区域和可用区。
如需创建部署文件,请按照 H4D 机器类型的步骤操作:
您需要添加到部署文件的参数取决于您为部署使用的使用选项。选择与您要使用的使用选项对应的标签页。
受预留约束
如需创建部署文件,请使用文本编辑器创建一个名为 h4d-slurm-deployment.yaml 的 YAML 文件,并添加以下内容。
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
h4d_cluster_size: NUMBER_OF_VMS
h4d_reservation_name: RESERVATION_NAME
替换以下内容:
灵活启动
如需创建部署文件,请使用文本编辑器创建一个名为 h4d-slurm-deployment.yaml 的 YAML 文件,并添加以下内容。
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
h4d_cluster_size: NUMBER_OF_VMS
h4d_dws_flex_enabled: true
替换以下内容:
BUCKET_NAME:您在上一部分中创建的 Cloud Storage 存储桶的名称。DEPLOYMENT_NAME:部署的名称。如果您要创建多个集群,请确保为每个集群选择唯一的名称。PROJECT_ID:您的项目 ID。REGION:您要在其中预配集群的区域。ZONE:您要在其中预配集群的可用区。NUMBER_OF_VMS:您希望集群中的虚拟机数量。
此部署会预配静态计算节点,这意味着集群始终具有固定数量的节点。如果您希望集群改为自动扩缩,请使用 examples/h4d/hpc-slurm-h4d.yaml 文件,并将 node_count_static 和 node_count_dynamic_max 的值修改为与以下值一致:
node_count_static: 0
node_count_dynamic_max: $(vars.h4d_cluster_size)
Spot
如需创建部署文件,请使用文本编辑器创建一个名为 h4d-slurm-deployment.yaml 的 YAML 文件,并添加以下内容。
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
h4d_cluster_size: NUMBER_OF_VMS
h4d_enable_spot_vm: true
替换以下内容:
BUCKET_NAME:您在上一部分中创建的 Cloud Storage 存储桶的名称。DEPLOYMENT_NAME:部署的名称。如果您要创建多个集群,请确保为每个集群选择唯一的名称。PROJECT_ID:您的项目 ID。REGION:您要在其中预配集群的区域。ZONE:您要在其中预配集群的可用区。NUMBER_OF_VMS:您希望集群中的虚拟机数量。
预配 H4D Slurm 集群
Cluster Toolkit 会根据您在上一步中创建的部署文件和默认集群蓝图来预配集群。如需详细了解蓝图安装的软件,请详细了解 Slurm 自定义映像。
在 Cloud Shell 中,从安装 Cluster Toolkit 并创建部署文件的目录中,您可以使用以下命令预配集群,该命令使用 H4D Slurm 蓝图文件。 此步骤大约需要 20-30 分钟。
./gcluster deploy -d h4d-slurm-deployment.yaml examples/hpc-slurm-h4d/hpc-slurm-h4d.yaml --auto-approve
连接到 Slurm 集群
如需访问集群,您必须登录 Slurm 登录节点。如需登录,您可以使用 Cloud de Confiance 控制台或 Google Cloud CLI。
控制台
转到 Compute Engine > 虚拟机实例页面。
找到登录节点。其名称应采用
DEPLOYMENT_NAME+login-001格式。在登录节点的连接列中,点击 SSH。
gcloud
如需连接到登录节点,请完成以下步骤:
使用
gcloud compute instances list命令识别登录节点。gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"如果输出列出了多个 Slurm 集群,您可以根据指定的
DEPLOYMENT_NAME识别登录节点。使用
gcloud compute ssh命令连接到登录节点。gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iap替换以下内容:
ZONE:集群的虚拟机所在的可用区。LOGIN_NODE:您在上一步中识别的登录节点的名称。
重新部署 Slurm 集群
如果您需要增加计算节点数量或向集群添加新分区,可能需要通过重新部署来更新 Slurm 集群的配置。
如需使用现有映像重新部署集群,请执行以下操作:
运行以下命令:
./gcluster deploy -d h4d-slurm-deployment.yaml examples/h4d/h4d-slurm-deployment.yaml --only cluster-env,cluster --auto-approve -w
此命令仅适用于已存在映像的重新部署;它仅重新部署集群及其基础设施。
销毁 Slurm 集群
如需移除 Slurm 集群及其中的实例,请完成以下步骤:
如果您尚未断开与集群的连接,请断开连接。
在运行销毁命令之前,前往 Cluster Toolkit 目录的根目录。默认情况下,DEPLOYMENT_FOLDER 位于 Cluster Toolkit 目录的根目录中。
如需销毁集群,请运行以下命令:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
替换以下内容:
DEPLOYMENT_FOLDER:部署文件夹的名称。通常与 DEPLOYMENT_NAME 相同。
集群移除完成后,您应该会看到类似于以下内容的消息:
Destroy complete! Resources: xx destroyed.
如需了解如何干净地销毁基础设施,以及获取高级手动部署说明,请参阅 Cluster Toolkit 根目录下的部署文件夹:DEPLOYMENT_FOLDER/instructions.txt