Utiliser un script de démarrage pour les nœuds Azure
Vous pouvez configurer un script de démarrage qui s’exécute automatiquement sur un ensemble de nœuds Azure au démarrage (provisionné). À l’aide d’un script de démarrage, vous pouvez vous assurer qu’un groupe de nœuds est configuré correctement pour exécuter des travaux spécifiques. En outre, les nœuds sont restaurés dans un état connu s’ils deviennent indisponibles en raison d’une interruption de service et que les instances de rôle doivent être approvisionnées à nouveau dans Azure. Par exemple, à l’aide d’un script de démarrage, vous pouvez installer des applications ou des pilotes, configurer un dossier partagé ou ouvrir des ports de pare-feu pour des applications spécifiques. Vous pouvez également utiliser un script de démarrage pour configurer des sous-ensembles de nœuds différemment dans l’ensemble de nœuds Azure déployés à l’aide d’un modèle de nœud particulier.
Dans cette rubrique :
Note
- Les scripts de démarrage Azure sont pris en charge à partir de HPC Pack 2008 R2 avec Service Pack 2.
- Si un script de démarrage prend plus de 15 minutes, le contrôleur Azure Fabric peut entraîner l’échec de l’approvisionnement d’une instance de rôle.
Étapes générales pour configurer et utiliser un script de démarrage
Voici les étapes générales de configuration et d’utilisation d’un script de démarrage pour vos nœuds Azure :
Créez un script de configuration (par exemple, startup.bat) qui utilise des variables d’environnement pour différencier les nœuds et définir différentes configurations. Pour plus d’informations, consultez les sections restantes de cette rubrique.
Utilisez la commande hpcpack pour empaqueter le script et le charger dans le compte de stockage Azure utilisé pour déployer les nœuds Azure.
Important
Ne spécifiez pas le paramètre
/relativePath
lors de l’empaquetage et du chargement du script de démarrage. Le script de démarrage ne doit s’exécuter qu’à partir du répertoire racine des nœuds Azure.Créez ou modifiez un modèle de nœud Azure pour spécifier le script de démarrage.
Démarrez (provisionnez) les nœuds Azure.
Le script de démarrage est automatiquement déployé sur les nœuds Azure et s’exécute sur les nœuds. Si un problème se produit lorsque le script s’exécute, vous pouvez consulter les journaux d’erreurs. Pour plus d’informations, consultez Résoudre les problèmes de déploiements de nœuds Azure avec Microsoft HPC Pack.
Noms de script
Vous devez garantir la conformité entre le nom du package que vous chargez sur Azure et le nom du script qui s’exécute (et qui est spécifié dans le modèle de nœud). Seules les conventions d’affectation de noms du tableau suivant sont autorisées :
Nom du script | Nom du package |
---|---|
file.extension (exemple : startup.bat) |
.zip file.extension (exemple : startup.bat.zip) -OU- .zip de fichier (exemple : startup.zip) |
Variables d’environnement
Vous pouvez utiliser les variables d’environnement dans le tableau suivant, qui sont définies automatiquement sur les nœuds Azure, pour vous aider à configurer votre script de démarrage :
Variable d’environnement | Description |
---|---|
HPC_NODE_NAME | Nom du nœud Azure qui est automatiquement configuré par Microsoft HPC Pack , par exemple, AZURECN-0014. |
HPC_NODE_GROUPS | Liste délimitée par des virgules de groupes de nœuds auxquels appartient le nœud. Permet au comportement d’un script d’être spécialisé pour différents sous-ensembles des nœuds. Remarque : HPC_NODE_GROUPS est défini uniquement lorsque le nœud Azure est démarré pour la première fois. La variable n’est pas mise à jour dynamiquement si la variable est mise à jour et que le nœud est ensuite approvisionné à nouveau. |
Exemple
L’exemple suivant est un fichier de commandes qui configure une règle de pare-feu sur un sous-ensemble de nœuds identifiés par le groupe de nœuds Groupe de serveurs Port31337. Vous pouvez adapter ce modèle pour créer des scripts de démarrage qui effectuent d’autres tâches.
@echo off
echo %HPC_NODE_GROUPS% | findstr /C: "Port31337 Server Group"
if %errorlevel% == 0 (
echo Creating firewall exception
netsh advfirewall firewall add rule name="MyRule" dir=in protocol=tcp localport=31337 action=allow enable=yes
)
Fichiers journaux
Si un problème se produit lorsqu’un script de démarrage s’exécute, passez en revue les fichiers journaux du script. Les journaux des scripts de démarrage sont répertoriés dans le tableau suivant. Les fichiers journaux se trouvent dans le dossier %CCP_HOME% sur chaque nœud Worker Azure.
Fichier journal | Description |
---|---|
HpcStartupCommand.log | Quitter le code et le flux de sortie |
HpcStartupCommand.err | Flux d’erreurs |
Voir aussi
configuration d’un modèle de nœud Azure pour Microsoft HPC Pack