Créer un cluster de calcul haute performance (HPC) Windows avec le script de déploiement du HPC Pack IaaS
Important
Les machines virtuelles classiques seront mises hors service le 1er mars 2023.
Si vous utilisez des ressources IaaS provenant d’ASM, veuillez terminez votre migration avant le 1er mars 2023. Nous vous encourageons à effectuer le basculement plus tôt plus pour tirer parti des nombreuses fonctionnalités améliorées d’Azure Resource Manager.
Pour plus d’informations, consultez Migrez vos ressources IaaS vers Azure Resource Manager avant le 1er mars 2023.
Exécutez le script PowerShell de déploiement du HPC Pack IaaS pour déployer un cluster HPC Pack 2012 R2 complet pour les charges de travail Windows sur les machines virtuelles Azure. Le cluster se compose d’un nœud principal joint à Active Directory, exécutant Windows Server et Microsoft HPC Pack, et de ressources de calcul Windows supplémentaires que vous spécifiez. Si vous souhaitez déployer un cluster HPC Pack dans Azure pour les charges de travail Linux, consultez Créer un cluster HPC Linux avec le script de déploiement du HPC Pack IaaS.
Important
Le script PowerShell décrit dans cet article crée un cluster Microsoft HPC Pack 2012 R2 dans Azure à l’aide du modèle de déploiement classique. Pour la plupart des nouveaux déploiements, Microsoft recommande d’utiliser le modèle Resource Manager. En outre, le script décrit dans cet article ne prend pas en charge HPC Pack 2016. Pour plus d’informations sur les modèles Resource Manager pour HPC Pack 2012 R2 et HPC Pack 2016, consultez les options de déploiement de cluster HPC Pack dans Azure.
Selon votre environnement et vos choix, le script peut créer toute l’infrastructure de cluster, y compris le réseau virtuel Azure, les comptes de stockage, les services cloud, le contrôleur de domaine, les bases de données SQL locales ou distantes, le nœud principal et les nœuds supplémentaires du cluster. Le script peut également utiliser l’infrastructure Azure préexistante et créer uniquement les nœuds de cluster HPC.
Pour des informations générales sur la planification d’un cluster HPC Pack, consultez Évaluation du produit et planification et Mise en route dans la bibliothèque HPC Pack 2012 R2.
Prérequis
- Abonnement Azure : vous pouvez utiliser un abonnement dans le service Azure Global ou Azure Chine. Vos limites d’abonnement affectent le nombre et le type de nœuds de cluster que vous pouvez déployer. Pour plus d’informations, consultez Abonnement Azure et limites, quotas et contraintes du service.
- Ordinateur client Windows avec Azure PowerShell 0.8.10 ou ultérieur installé et configuré : pour connaître les instructions d’installation et la procédure de connexion à votre abonnement Azure, consultez Get started with Azure PowerShell (Prise en main d’Azure PowerShell).
-
Script de déploiement IaaS de HPC Pack : téléchargez et décompressez la dernière version du script à partir du Centre de téléchargement Microsoft. Vérifiez la version du script en exécutant
New-HPCIaaSCluster.ps1 –Version
. Cet article se base sur la version 4.5.2 du script. - Fichier de configuration de script : créez un fichier XML qui sera utilisé par le script pour configurer le cluster HPC. Pour plus d’informations et des exemples, consultez les sections suivantes de cet article et le fichier Manual.rtf qui accompagne le script de déploiement.
Syntaxe
New-HPCIaaSCluster.ps1 [-ConfigFile] <String> [-AdminUserName]<String> [[-AdminPassword] <String>] [[-HPCImageName] <String>] [[-LogFile] <String>] [-Force] [-NoCleanOnFailure] [-PSSessionSkipCACheck] [<CommonParameters>]
Remarque
Exécutez le script en tant qu’administrateur.
Paramètres
ConfigFile : spécifie le chemin d’accès du fichier de configuration pour décrire le cluster HPC. Découvrez plus d’informations sur le fichier de configuration dans cette rubrique ou dans le fichier Manual.rtf, dans le dossier contenant le script.
AdminUserName : spécifie le nom d’utilisateur. Si la forêt de domaines est créée par le script, il s’agit du nom d’utilisateur d’administrateur local pour toutes les machines virtuelles et du nom d’administrateur de domaine. Si la forêt de domaines existe déjà, cela indique l’utilisateur du domaine comme nom d’utilisateur d’administrateur local pour installer HPC Pack.
AdminPassword : spécifie le mot de passe de l’administrateur. S’il n’a pas été spécifié dans la ligne de commande, le script vous invite à entrer le mot de passe.
HPCImageName (facultatif) : spécifie le nom d’image de la machine virtuelle HPC Pack à utiliser pour le déploiement du cluster HPC. Ce doit être une image HPC Pack fournie par Microsoft à partir d’Azure Marketplace. Si aucune image n’est spécifiée (recommandé en général), le script choisit la dernière image HPC Pack 2012 R2 publiée. La dernière image est basée sur Windows Server 2012 R2 Datacenter avec HPC Pack 2012 R2 Update 3.
Notes
Le déploiement échoue si vous ne spécifiez pas d’image HPC Pack valide.
LogFile (facultatif) : spécifie le chemin du fichier journal de déploiement. S’il n’a pas été spécifié, le script crée un fichier journal dans le répertoire temp de l’ordinateur qui exécute le script.
Force (facultatif) : supprime toutes les invites de confirmation.
NoCleanOnFailure (facultatif) : spécifie que les machines virtuelles Azure qui n’ont pas été correctement déployées ne sont pas supprimées. Supprimez manuellement ces machines virtuelles avant de réexécuter le script pour poursuivre le déploiement, faute de quoi le déploiement risque d’échouer.
PSSessionSkipCACheck (facultatif) : pour chaque service cloud avec des machines virtuelles déployées par ce script, un certificat auto-signé est automatiquement généré par Azure, et toutes les machines virtuelles du service cloud utilisent ce certificat en tant que certificat Windows Remote Management (WinRM) par défaut. Pour déployer des fonctionnalités HPC dans ces machines virtuelles Azure, le script par défaut installe temporairement ces certificats dans le magasin d’autorités de certification racine approuvée local de l’ordinateur client pour supprimer l’erreur de sécurité « autorité de certification non approuvée » pendant l’exécution du script. Les certificats sont supprimés quand le script se termine. Si ce paramètre est spécifié, les certificats ne sont pas installés sur l’ordinateur client et l’avertissement de sécurité est supprimé.
Important
Ce paramètre n’est pas recommandé pour les déploiements de production.
Exemple
L’exemple suivant crée un cluster HPC Pack à l’aide du fichier de configuration MyConfigFile.xml et spécifie les informations d’identification de l’administrateur pour l’installation du cluster.
.\New-HPCIaaSCluster.ps1 –ConfigFile MyConfigFile.xml -AdminUserName <username> –AdminPassword <password>
Considérations supplémentaires
- Le script peut éventuellement activer la soumission de travaux via le portail web HPC Pack ou l’API REST du HPC Pack.
- Le script peut éventuellement exécuter des scripts de pré- et post-configuration personnalisés sur le nœud principal si vous souhaitez installer des logiciels supplémentaires ou configurer d’autres paramètres.
Fichier de configuration
Le fichier de configuration pour le script de déploiement est un fichier XML. Le fichier de schéma HPCIaaSClusterConfig.xsd se trouve dans le dossier de script de déploiement du HPC Pack IaaS. IaaSClusterConfig est l’élément racine du fichier de configuration qui contient les éléments enfants décrits en détail dans le fichier Manual.rtf dans le dossier de script de déploiement.
Exemples de fichiers de configuration
Dans les exemples suivants, utilisez vos propres valeurs pour votre ID ou nom d’abonnement et les noms de compte et de service.
Exemple 1
Le fichier de configuration suivant déploie un cluster HPC Pack qui possède un nœud principal avec des bases de données locales et cinq nœuds de calcul exécutant le système d’exploitation Windows Server 2012 R2. Tous les services cloud sont créés directement dans l’emplacement « USA Ouest ». Le nœud principal agit en tant que contrôleur de domaine de la forêt de domaines.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionId>08701940-C02E-452F-B0B1-39D50119F267</SubscriptionId>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<Location>West US</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>HeadNodeAsDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
</HeadNode>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%1000%</VMNamePattern>
<ServiceName>MyHPCCNService</ServiceName>
<VMSize>Medium</VMSize>
<NodeCount>5</NodeCount>
<OSVersion>WindowsServer2012R2</OSVersion>
</ComputeNodes>
</IaaSClusterConfig>
Exemple 2
Le fichier de configuration suivant déploie un cluster HPC Pack dans une forêt de domaines existante. Le cluster possède 1 nœud principal avec des bases de données locales et 12 nœuds de calcul avec l’extension de machine virtuelle BGInfo appliquée. L’installation automatique des mises à jour Windows est désactivée pour toutes les machines virtuelles dans la forêt de domaines. Tous les services cloud sont créés directement dans l’emplacement Asie Est. Les nœuds de calcul sont créés dans trois services cloud et trois comptes de stockage (c’est-à-dire, MyHPCCN-0001 à MyHPCCN-0005 dans MyHPCCNService01 et mycnstorage01 ; MyHPCCN-0006 à MyHPCCN0010 dans MyHPCCNService02 et mycnstorage02 ; et MyHPCCN-0011 à MyHPCCN-0012 dans MyHPCCNService03 et mycnstorage03). Les nœuds de calcul sont créés à partir d’une image privée existante capturée depuis un nœud de calcul. Le service d’agrandissement et de réduction automatiques est activé avec des intervalles d’agrandissement et de réduction par défaut.
<?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>
<NoWindowsAutoUpdate />
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
</HeadNode>
<Certificates>
<Certificate>
<Id>1</Id>
<PfxFile>d:\mytestcert1.pfx</PfxFile>
<Password>MyPsw!!2</Password>
</Certificate>
</Certificates>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%0001%</VMNamePattern>
<ServiceNamePattern>MyHPCCNService%01%</ServiceNamePattern>
<MaxNodeCountPerService>5</MaxNodeCountPerService>
<StorageAccountNamePattern>mycnstorage%01%</StorageAccountNamePattern>
<VMSize>Medium</VMSize>
<NodeCount>12</NodeCount>
<ImageName HPCPackInstalled=”true”>MyHPCComputeNodeImage</ImageName>
<VMExtensions>
<VMExtension>
<ExtensionName>BGInfo</ExtensionName>
<Publisher>Microsoft.Compute</Publisher>
<Version>1.*</Version>
</VMExtension>
</VMExtensions>
</ComputeNodes>
<AutoGrowShrink>
<CertificateId>1</CertificateId>
</AutoGrowShrink>
</IaaSClusterConfig>
Exemple 3
Le fichier de configuration suivant déploie un cluster HPC Pack dans une forêt de domaines existante. Le cluster contient un nœud principal, un serveur de base de données avec un disque de données de 500 Go, deux nœuds de répartiteur exécutant le système d’exploitation Windows Server 2012 R2 et cinq nœuds de calcul exécutant le système d’exploitation Windows Server 2012 R2. Le service cloud MyHPCCNService est créé dans le groupe d’affinités MyIBAffinityGroup. Les autres services cloud sont créés dans le groupe d’affinités MyAffinityGroup. L’API REST du planificateur de travaux HPC et le portail web HPC sont activés sur le nœud principal.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<AffinityGroup>MyAffinityGroup</AffinityGroup>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>ExistingDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>NewRemoteDB</DBOption>
<DBVersion>SQLServer2014_Enterprise</DBVersion>
<DBServer>
<VMName>MyDBServer</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<DataDiskSizeInGB>500</DataDiskSizeInGB>
</DBServer>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<EnableRESTAPI />
<EnableWebPortal />
</HeadNode>
<ComputeNodes>
<VMNamePattern>MyHPCCN-%0000%</VMNamePattern>
<ServiceName>MyHPCCNService</ServiceName>
<VMSize>A8</VMSize>
<NodeCount>5</NodeCount>
<AffinityGroup>MyIBAffinityGroup</AffinityGroup>
</ComputeNodes>
<BrokerNodes>
<VMNamePattern>MyHPCBN-%0000%</VMNamePattern>
<ServiceName>MyHPCBNService</ServiceName>
<VMSize>Medium</VMSize>
<NodeCount>2</NodeCount>
</BrokerNodes>
</IaaSClusterConfig>
Exemple 4
Le fichier de configuration suivant déploie un cluster HPC Pack dans une forêt de domaines existante. Le cluster présente 2 nœuds principaux avec des bases de données locales, 2 modèles de nœud Azure sont créés et 3 nœuds Azure de taille moyenne sont créés pour le modèle de nœud Azure AzureTemplate1. Un fichier de script s’exécute sur le nœud principal après la configuration de ce dernier.
<?xml version="1.0" encoding="utf-8" ?>
<IaaSClusterConfig>
<Subscription>
<SubscriptionName>Subscription-1</SubscriptionName>
<StorageAccount>mystorageaccount</StorageAccount>
</Subscription>
<AffinityGroup>MyAffinityGroup</AffinityGroup>
<Location>East Asia</Location>
<VNet>
<VNetName>MyVNet</VNetName>
<SubnetName>Subnet-1</SubnetName>
</VNet>
<Domain>
<DCOption>ExistingDC</DCOption>
<DomainFQDN>hpc.local</DomainFQDN>
</Domain>
<Database>
<DBOption>LocalDB</DBOption>
</Database>
<HeadNode>
<VMName>MyHeadNode</VMName>
<ServiceName>MyHPCService</ServiceName>
<VMSize>ExtraLarge</VMSize>
<PostConfigScript>c:\MyHNPostActions.ps1</PostConfigScript>
</HeadNode>
<Certificates>
<Certificate>
<Id>1</Id>
<PfxFile>d:\mytestcert1.pfx</PfxFile>
<Password>MyPsw!!2</Password>
</Certificate>
<Certificate>
<Id>2</Id>
<PfxFile>d:\mytestcert2.pfx</PfxFile>
</Certificate>
</Certificates>
<AzureBurst>
<AzureNodeTemplate>
<TemplateName>AzureTemplate1</TemplateName>
<SubscriptionId>bb9252ba-831f-4c9d-ae14-9a38e6da8ee4</SubscriptionId>
<CertificateId>1</CertificateId>
<ServiceName>mytestsvc1</ServiceName>
<StorageAccount>myteststorage1</StorageAccount>
<NodeCount>3</NodeCount>
<RoleSize>Medium</RoleSize>
</AzureNodeTemplate>
<AzureNodeTemplate>
<TemplateName>AzureTemplate2</TemplateName>
<SubscriptionId>ad4b9f9f-05f2-4c74-a83f-f2eb73000e0b</SubscriptionId>
<CertificateId>1</CertificateId>
<ServiceName>mytestsvc2</ServiceName>
<StorageAccount>myteststorage2</StorageAccount>
<Proxy>
<UsesStaticProxyCount>false</UsesStaticProxyCount>
<ProxyRatio>100</ProxyRatio>
<ProxyRatioBase>400</ProxyRatioBase>
</Proxy>
<OSVersion>WindowsServer2012</OSVersion>
</AzureNodeTemplate>
</AzureBurst>
</IaaSClusterConfig>
Dépannage
Erreur « le réseau virtuel n’existe pas » : Si vous exécutez le script pour déployer plusieurs clusters dans Azure simultanément sous un abonnement, un ou plusieurs déploiements peuvent échouer avec l’erreur VNet_Name « le réseau virtuel n’existe pas ». Si cette erreur se produit, réexécutez le script de déploiement qui a échoué.
Problème d’accès à Internet à partir du réseau virtuel Azure : si vous créez un cluster avec un nouveau contrôleur de domaine en utilisant le script de déploiement, ou si vous promouvez manuellement une machine virtuelle de nœud principal en contrôleur de domaine, vous pouvez rencontrer des problèmes de connexion des machines virtuelles à Internet. Ce problème peut se produire si un serveur DNS redirecteur est automatiquement configuré sur le contrôleur de domaine et si ce serveur DNS redirecteur ne se résout pas correctement.
Pour contourner ce problème, ouvrez une session sur le contrôleur de domaine et supprimez le paramètre de configuration du redirecteur ou configurez un serveur DNS redirecteur valide. pour configurer ce paramètre, dans Gestionnaire de serveur cliquez sur outils>dns pour ouvrir le gestionnaire dns, puis double-cliquez sur redirecteurs.
Problèmes d’accès au réseau RDMA à partir de machines virtuelles nécessitant beaucoup de ressources système : si vous ajoutez des machines virtuelles de calcul ou à nœud de répartiteur Windows Server utilisant une taille compatible RDMA, A8 ou A9 par exemple, vous pouvez rencontrer des problèmes pour la connexion de ces machines virtuelles au réseau d’application RDMA. Cela peut se produire si l’extension HpcVmDrivers n’est pas installée correctement lorsque les machines virtuelles sont ajoutées au cluster. Par exemple, l’extension peut être bloquée à l’état d’installation.
Pour contourner ce problème, vérifiez tout d’abord l’état de l’extension dans les machines virtuelles. Si l’extension n’est pas installée correctement, essayez de supprimer les nœuds de cluster HPC, puis ajoutez de nouveau les nœuds. Par exemple, vous pouvez ajouter des machines virtuelles à nœud de calcul en exécutant le script Add-HpcIaaSNode.ps1 sur le nœud principal.
Étapes suivantes
- Essayez d’exécuter une charge de travail test sur le cluster. Pour obtenir un exemple, consultez le guide de mise en routedu HPC Pack.
- Pour accéder à un didacticiel qui utilise un script de déploiement de cluster et exécute une charge de travail HPC, consultez Prise en main d’un cluster HPC Pack dans Azure pour exécuter des charges de travail Excel et SOA.
- Essayez les outils de HPC Pack pour démarrer, arrêter, ajouter et supprimer des nœuds de calcul à partir d’un cluster que vous créez. Consultez gérer des nœuds de calcul dans un cluster HPC Pack dans Azure.
- Pour se préparer à soumettre des travaux au cluster à partir d’un ordinateur local, consultez Envoyer des travaux HPC à partir d’un ordinateur local vers un cluster HPC Pack dans Azure.