重要
经典 VM 将于 2023 年 3 月 1 日停用。
如果使用 ASM 中的 IaaS 资源,请在 2023 年 3 月 1 日完成迁移。 我们建议你尽快进行切换,以利用 Azure 资源管理器中的许多增强功能。
有关详细信息,请参阅在 2023 年 3 月 1 日之前将 IaaS 资源迁移到 Azure 资源管理器。
运行 HPC Pack IaaS 部署 PowerShell 脚本,为 Azure 虚拟机中的 Linux 工作负荷部署完整的 HPC Pack 2012 R2 群集。 群集包括运行 Windows Server 和 Microsoft HPC Pack 的 Active Directory 联接头节点,以及运行 HPC Pack 支持的 Linux 分发版之一的计算节点。 如果要在 Azure 中为 Windows 工作负载部署 HPC Pack 群集,请参阅 使用 HPC Pack IaaS 部署脚本创建 Windows HPC 群集。
重要
本文中所述的 PowerShell 脚本使用经典部署模型在 Azure 中创建Microsoft HPC Pack 2012 R2 群集。 Microsoft 建议大多数新部署使用 Resource Manager 模型。 此外,本文中所述的脚本不支持 HPC Pack 2016。 有关 HPC Pack 2012 R2 和 HPC Pack 2016 的资源管理器模板的信息,请参阅 Azure 中的HPC Pack 群集部署选项。
根据环境和选择,脚本可以创建所有群集基础结构,包括 Azure 虚拟网络、存储帐户、云服务、域控制器、远程或本地 SQL 数据库、头节点和其他群集节点。 或者,该脚本可以使用预先存在的 Azure 基础结构并仅创建 HPC 群集节点。
有关规划 HPC Pack 群集的背景信息,请参阅 HPC Pack 2012 R2 TechNet 库中的 产品评估和规划 和 入门 内容。
先决条件
- Azure 订阅:可以在 Azure 全球或 Azure 中国服务中使用订阅。 订阅限制会影响可以部署的群集节点的数量和类型。 有关信息,请参阅 Azure 订阅和服务限制、配额和约束。
- 已安装和配置 Azure PowerShell 0.8.10 或更高版本的 Windows 客户端计算机:请参阅 Azure PowerShell 使用指南,以获取安装说明和连接到 Azure 订阅的步骤。
-
HPC Pack IaaS 部署脚本:从 Microsoft下载中心下载和解压缩最新版本的脚本。 通过运行
New-HPCIaaSCluster.ps1 –Version来检查脚本的版本。 本文基于脚本版本 4.5.2。 - 脚本配置文件:创建脚本用于配置 HPC 群集的 XML 文件。 有关信息和示例,请参阅本文后面的部分以及部署脚本随附的文件Manual.rtf。
语法
New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]
注释
以管理员身份运行该脚本。
参数
ConfigFile:指定要描述 HPC 群集的配置文件的文件路径。 有关配置文件的更多信息,请参阅本主题,或在包含脚本的文件夹中查找Manual.rtf文件。
AdminUserName:指定用户名。 如果域林是由脚本创建的,那么这将成为所有 VM 的本地管理员的用户名和域管理员名称。 如果域林已存在,则指定域用户作为本地管理员用户名来安装 HPC Pack。
AdminPassword:指定管理员的密码。 如果未在命令行中指定,脚本会提示输入密码。
HPCImageName(可选):指定用于部署 HPC 群集的 HPC Pack VM 映像名称。 它必须是 Microsoft 提供的 Azure 市场的 HPC Pack 映像。 如果未指定(通常是推荐的),脚本将选择最新发布的 HPC Pack 2012 R2 镜像。 最新映像基于安装了 HPC Pack 2012 R2 Update 3 的 Windows Server 2012 R2 Datacenter。
注释
如果未指定有效的 HPC Pack 映像,则部署会失败。
LogFile(可选):指定部署日志文件路径。 如果未指定,脚本将在运行脚本的计算机的临时目录中创建日志文件。
强制(可选):取消所有确认提示。
NoCleanOnFailure(可选):指定未成功部署的 Azure 虚拟机不会被移除。 在重新运行脚本以继续部署之前手动删除这些 VM,否则部署可能会失败。
PSSessionSkipCACheck(可选):对于使用此脚本部署的 VM 的每个云服务,Azure 会自动生成自签名证书,云服务中的所有 VM 将此证书用作默认的 Windows 远程管理(WinRM)证书。 若要在这些 Azure VM 中部署 HPC 功能,默认情况下,该脚本会在客户端计算机的本地计算机\受信任的根证书颁发机构存储中临时安装这些证书,以在脚本执行期间禁止显示“不受信任的 CA”安全错误。 脚本完成后,将删除证书。 如果指定此参数,则不会在客户端计算机中安装证书,并禁止显示安全警告。
重要
不建议对生产部署使用此参数。
示例:
以下示例使用配置文件 MyConfigFile.xml创建 HPC Pack 群集,并指定用于安装群集的管理员凭据。
.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>
其他注意事项
- 该脚本可以选择通过 HPC Pack Web 门户或 HPC Pack REST API 启用作业提交。
- 如果要安装其他软件或配置其他设置,脚本可以选择在头节点上运行自定义预配置脚本和后配置脚本。
配置文件
部署脚本的配置文件是一个 XML 文件。 架构文件 HPCIaaSClusterConfig.xsd 位于 HPC Pack IaaS 部署脚本文件夹中。 IaaSClusterConfig 是配置文件的根元素,其中包含部署脚本文件夹中的文件Manual.rtf中详细介绍的子元素。
示例配置文件
以下配置文件创建域控制器和域林,并部署一个 HPC Pack 群集,该群集具有一个头节点,其中包含本地数据库和 10 个 Linux 计算节点。 所有云服务直接在东亚位置创建。 Linux 计算节点在两个云服务和两个存储帐户中创建(即 MyLnxCNService01 和 mylnxstorage01 中的 MyLnxCN-0001 到 MyLnxCN-0005,以及 MyLnxCNService02 和 mylnxstorage02 中的 MyLnxCN-0006 到 MyLnxCN-0010)。 计算节点是从 OpenLogic CentOS 版本 7.0 Linux 映像创建的。
请将您的订阅名称、帐户名称和服务名称替换为您自己的值。
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>NewDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
<DomainController>
<VMName>MyDCServer</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>Large</VMSize>
</DomainController>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
</HeadNode>
<LinuxComputeNodes>
<VMNamePattern>MyLnxCN-%0001%</VMNamePattern>
<ServiceNamePattern>MyLnxCNService%01%</ServiceNamePattern>
<MaxNodeCountPerService>5</MaxNodeCountPerService>
<StorageAccountNamePattern>mylnxstorage%01%</StorageAccountNamePattern>
<VMSize>Medium</VMSize>
<NodeCount>10</NodeCount>
<ImageName>5112500ae3b842c8b9c604889f8753c3__OpenLogic-CentOS-70-20150325 </ImageName>
</LinuxComputeNodes>
</IaaSClusterConfig>
故障排除
“VNet 不存在”错误。 如果运行 HPC Pack IaaS 部署脚本以在一个订阅下同时在 Azure 中部署多个群集,则一个或多个部署可能会失败,并出现“VNet VNet_Name 不存在”错误。 如果发生此错误,请重新运行失败部署的脚本。
从 Azure 虚拟网络访问 Internet 时出现问题。 如果使用部署脚本创建具有新域控制器的 HPC Pack 群集,或者手动将头节点 VM 提升到域控制器,则可能会遇到将 Azure 虚拟网络中的 VM 连接到 Internet 时遇到的问题。 如果在域控制器上自动配置转发器 DNS 服务器,并且此转发器 DNS 服务器无法正确解析,则可能会出现这种情况。
若要解决此问题,请登录到域控制器,并删除转发器配置设置或配置有效的转发器 DNS 服务器。 为此,请在服务器管理器中单击 “工具>DNS ”以打开 DNS 管理器,然后双击“ 转发器”。
后续步骤
- 有关支持的 Linux 分发版、移动数据以及使用 Linux 计算节点将作业提交到 HPC Pack 群集的信息,请参阅 Azure 中 HPC Pack 群集中的 Linux 计算节点入门 。
- 有关使用脚本创建群集并运行 Linux HPC 工作负荷的教程,请参阅: