Partager via


hpcsync

Copie les packages OPC à partir d’un compte de stockage Windows Azure et les décompresse sur un nœud Windows Azure.

Remarque

Cette commande a été introduite dans HPC Pack 2008 R2 avec Service Pack 1 et n’est pas prise en charge dans les versions précédentes.

Syntaxe

hpcsync [<storageAccountName> <storageKey>] [<packageRoot>] [/packageName:<packageNameFilter>]   
[/container:<Container name>] [/blocksize:<blockSize>] [/usehttp]   
  
hpcsync {/? | /help}  

Paramètres

Dans certains cas, un administrateur de cluster peut exécuter hpcsync clusrun sans spécifier de paramètres pour la commande hpcsync.

Paramètre Description
<storageAccountName> Spécifie le nom public du compte de stockage Windows Azure (le même nom de stockage que celui que vous spécifiez dans le modèle de nœud Windows Azure).

Il s’agit de la valeur de <storageAccountName> dans l’URL publique du compte : https://<storageAccountName>.blob.core.windows.net.

Si vous spécifiez <storageAccountName>, vous devez également spécifier <storageKey>Remarque : Si un administrateur de cluster exécute la commande clusrun hpcsync, le nom et la clé du compte de stockage n’ont pas besoin d’être spécifiés. Les valeurs sont fournies par la variable d’environnement CCP_AZURE_CONNECTIONSTRING (qui est définie au niveau du processus pour clusrun travaux uniquement). Si un administrateur de cluster exécute hpcsync sans clusrun ou si un utilisateur de cluster exécute hpcsync, les informations du compte de stockage doivent être fournies dans les paramètres de commande.
<storageKey> Spécifie la clé d’accès pour le compte de stockage Windows Azure.

Si vous spécifiez <>storageKey, vous devez également spécifier <storageAccountName>. Remarque : Si un administrateur de cluster exécute la commande clusrun hpcsync, le nom et la clé du compte de stockage n’ont pas besoin d’être spécifiés. Les valeurs sont fournies par la variable d’environnement CCP_AZURE_CONNECTIONSTRING (qui est définie au niveau du processus pour les travaux clusrun uniquement). Si un administrateur de cluster exécute hpcsync sans clusrun ou si un utilisateur de cluster exécute hpcsync, les informations du compte de stockage doivent être fournies dans les paramètres de commande.
<packageRoot> Spécifie le répertoire racine cible pour le déploiement des packages.

La valeur par défaut lorsqu’un administrateur de cluster exécute la commande est %CCP_PACKAGE_ROOT%. La valeur par défaut d’un utilisateur de cluster est son répertoire utilisateur, %USERPROFILE%\Packages.

Pour que les services SOA et XLL fonctionnent correctement, le répertoire racine doit être la valeur par défaut (%CCP_PACKAGE_ROOT% ou %USERPROFILE%\Packages).

La variable d’environnement %CCP_PACKAGE_ROOT% pointe vers un emplacement géré par Windows Azure. HPC Pack utilise les API Windows Azure pour définir une valeur pour cette variable après le déploiement des nœuds Windows Azure. La valeur de %CCP_PACKAGE_ROOT% est cohérente dans un déploiement Windows Azure, mais peut varier entre les déploiements. Remarque : Lors du chargement d’un package dans un compte de stockage (à l’aide de de chargement hpcpack), vous pouvez définir l’attribut de chemin d’accès relatif. Si le package spécifie un chemin d’accès relatif, le package est déployé sur <packageRoot>\<> relativePath , par exemple, %CCP_PACKAGE_ROOT%\myDir.
/packageName Spécifie le package que vous souhaitez télécharger. Si vous ne spécifiez pas ce paramètre, tous les packages OPC sont téléchargés.
/conteneur Spécifie le nom du conteneur dans le compte de stockage Windows Azure à partir duquel vous souhaitez télécharger le fichier. Si vous ne spécifiez pas ce paramètre, les packages sont téléchargés à partir de l’emplacement par défaut : un conteneur nommé hpcpackages dans le compte de stockage.
/blocksize Spécifie la taille du bloc, en octets, dans laquelle le fichier sera séparé lors du téléchargement. La taille de bloc par défaut est de 4 Mo (4194304 octets). 4 Mo est également la taille maximale du bloc. Vous pouvez spécifier une taille de bloc plus petite si vous rencontrez une connexion réseau instable.
/usehttp Spécifie que vous souhaitez remplacer le canal https par défaut sur le port 443 et essayer la communication à l’aide de http sur le port 80. En cas d’échec, il revient au port 443. Remarque : Ce paramètre a été introduit dans HPC Pack 2008 R2 avec Service Pack 3 et n’est pas pris en charge dans les versions précédentes.
/? Affiche l’aide à l’invite de commandes.
/Aide Affiche l’aide à l’invite de commandes.

Remarques

  • hpcsync est disponible sur les ressources de calcul Windows Azure qui sont jointes à un cluster local exécutant au moins Microsoft HPC Pack 2008 R2 avec SP1, ou des ressources de calcul Windows Azure qui font partie d’un déploiement Windows Azure HPC Scheduler.

  • hpcsync s’exécute automatiquement lorsque vous démarrez des nœuds Windows Azure à partir de HPC Cluster Manager, et s’exécute également automatiquement si l’une des instances de nœud est reprovisionnée dans le cadre de la maintenance Windows Azure. Ce mécanisme permet de s’assurer que les fichiers requis sont disponibles sur les nœuds au démarrage ou si les instances de nœuds sont reprovisionnées. L'automatique hpcsync appelle à l’exécution du provisionnement de nœuds sans aucun paramètre. Cela signifie que les packages sont copiés de l’emplacement par défaut dans le stockage vers l’emplacement par défaut sur les nœuds. Pour plus d’informations, consultez Tirer parti des appels hpcsync automatiques pour le déploiement d’applications plus loin dans cette rubrique.

  • Étant donné qu’il s’exécute automatiquement pendant les déploiements Windows Azure en rafale, vous n’avez pas nécessairement besoin d’exécuter hpcsync directement. Toutefois, si vous placez des packages dans le stockage après le déploiement des nœuds Windows Azure ou si vous déployez des packages sur un déploiement du planificateur HPC Windows Azure, vous pouvez exécuter manuellement hpcsync avec . hpcsync fournit également des paramètres pour copier des packages à partir de différents conteneurs de stockage et déployer les packages sur d’autres répertoires cibles.

  • hpcsync est idéal pour déployer des services SOA, des fichiers XLL et des scripts de démarrage à partir du stockage Windows Azure vers leurs emplacements attendus sur vos nœuds Windows Azure. Vous pouvez également utiliser les commandes hpcpack (chargement hpcpack et hpcpack download) pour déplacer d’autres types de fichiers, d’applications ou de données de travail entre le stockage Windows Azure et vos nœuds Windows Azure. Pour plus d’informations, consultez hpcpack.

  • Pour utiliser cette commande, les utilisateurs du cluster doivent connaître le nom du compte de stockage et la clé d’accès primaire.

Exemples

Pour qu’un administrateur de cluster déploie tous les fichiers OPC à partir du conteneur par défaut sur un compte de stockage Windows Azure sur un ensemble de nœuds Worker Windows Azure :

clusrun /nodegroup:AzureWorkerNodes hpcSync

Pour qu’un utilisateur de cluster déploie tous les fichiers OPC à partir d’un conteneur spécifique sur un compte de stockage Windows Azure (myContainer) sur son répertoire par défaut sur un ensemble de nœuds Windows Azure (nœuds 1 à 3) :

job submit /requestednodes:node1,node2,node3 hpcSync myAccount myKey /container:myContainer

Pour résoudre les problèmes de déploiement de fichiers, vous pouvez tester la commande en essayant de déployer les fichiers sur votre ordinateur local dans C :\temp:

hpcsync myAccount myKey C:\temp

Utilisation des appels hpcsync automatiques pour le déploiement d’applications

Pour tirer parti des appels de hpcsync automatiques lors de l’approvisionnement de nœuds, vous devez mettre en scène des packages OPC vers les conteneurs hpcpackages sur le compte de stockage Windows Azure avant de déployer vos nœuds. Vous pouvez utiliser les commandes hpcpack pour empaqueter, puis charger des fichiers dans le stockage Windows Azure. (Par défaut, chargement hpcpack place les packages dans le conteneur hpcpackages ; vous spécifiez un autre conteneur si vous ne souhaitez pas que les packages soient automatiquement déployés sur tous les nœuds Windows Azure.)

Par défaut, pour les administrateurs de cluster hpcsync déploie des fichiers à un emplacement sur les nœuds Windows Azure qui sont déterminés en partie par la variable d’environnement %CCP_PACKAGE_ROOT%. Cette variable est définie sur les nœuds Windows Azure pendant le processus d’approvisionnement. Les fichiers extraits sont placés dans un dossier déterminé comme suit : %CCP_PACKAGE_ROOT%\<packageName>\<uploadTimeStamp>. Il s’agit de l’emplacement attendu pour les services SOA, xlLs, classeurs Excel et scripts de démarrage appelés à partir du modèle de nœud. Toutefois, cela n’est pas pratique pour les applications que les utilisateurs du cluster appelleront dans leurs lignes de commande.

Pour simplifier la structure de dossiers pour les fichiers exécutables, vous pouvez définir la propriété de chemin d’accès relatif du package lorsque vous le chargez dans le stockage. hpcsync applique le chemin relatif lors de l’extraction des fichiers, afin que le chemin d’accès soit déterminé comme suit : %CCP_PACKAGE_ROOT%\<relativePath>. Les utilisateurs peuvent ensuite spécifier le chemin d’accès à leur application comme dans l’exemple suivant d’une commande d’envoi de travail : envoi de travaux %CCP_PACKAGE_ROOT%\myRelativePath\myapp.exe

Pour plus d’informations, consultez Déploiement d’applications sur des nœuds Windows Azure dans un cluster Windows HPC.

Considérations importantes sur %CCP_PACKAGE_ROOT%

  • Sur les nœuds Windows Azure, le dossier %CCP_PACKAGE_ROOT% est créé sur une partition de disque de 10 Go. Cela signifie que tous les fichiers d’application sur une instance de nœud ne peuvent pas dépasser 10 Go. Si une application a des fichiers d’entrée et de sortie considérables, vous pouvez utiliser un script de démarrage pour accorder des autorisations utilisateur sur les lecteurs C :\ afin que les utilisateurs puissent écrire dans tous les espaces de travail disponibles sur le nœud.

  • Lorsque vous exécutez hpcsync manuellement, vous pouvez remplacer l’emplacement par défaut (%CCP_PACKAGE_ROOT%). Par exemple, vous pouvez créer un dossier sur chaque nœud Windows Azure, puis spécifier cet emplacement lorsque vous exécutez hpcsync . Tous les packages seront extraits dans ce dossier. Toutefois, toutes les nouvelles instances de nœud déployées (ou reprovisionnés automatiquement) n’incluent pas ce dossier, et les packages sont automatiquement déployés à l’emplacement par défaut.

  • Les utilisateurs du cluster disposent uniquement d’autorisations d’écriture dans des dossiers dans %CCP_PACKAGE_ROOT%. Sauf si vous modifiez des autorisations de dossier sur les nœuds Windows Azure, seuls les administrateurs de cluster peuvent exécuter des applications en dehors de %CCP_PACKAGE_ROOT%.

  • Lorsque hpcsync déploie un package, aucun des fichiers extraits ne peut avoir un chemin complet de plus de 256 caractères. Les répertoires racines dans lesquels les fichiers extraits sont temporairement placés, puis placés peuvent prendre jusqu’à 136 caractères, en laissant 120 caractères pour le nom de fichier, les sous-répertoires (le cas échéant) et les relativePath (si spécifié). Si le chemin des fichiers extraits dépasse 256 caractères, le déploiement du package échoue.

Voir aussi

hpcpack
clusrun
Burst to Azure Worker Instances avec Microsoft HPC Pack