Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Remplacez ou redémarrez manuellement un nœud à l'aide de Slurm
Cette section explique à quel moment vous devez redémarrer ou remplacer manuellement un nœud, avec des instructions sur la façon de procéder dans les deux cas.
Quand redémarrer ou remplacer manuellement un nœud
La fonctionnalité de HyperPod reprise automatique surveille si l'état de vos nœuds Slurm passe à ou. fail down Vous pouvez vérifier l’état des nœuds Slurm en exécutant sinfo.
Si un nœud reste bloqué ou ne répond pas et que le processus de reprise automatique ne le rétablit pas, vous pouvez lancer la restauration manuellement. Le choix entre le redémarrage et le remplacement d'un nœud dépend de la nature du problème. Envisagez de redémarrer en cas de problèmes temporaires ou liés au logiciel, tels que des blocages du système, des fuites de mémoire, des problèmes liés au pilote du processeur graphique, des mises à jour du noyau ou des processus bloqués. Toutefois, si vous rencontrez des problèmes persistants ou liés au matériel, tels que des défaillances GPUs, des défaillances de mémoire ou de réseau, des échecs répétés liés aux tests de santé ou des nœuds qui ne répondent toujours pas après plusieurs tentatives de redémarrage, le remplacement des nœuds est la solution la plus appropriée.
Méthodes de redémarrage ou de remplacement manuel des nœuds
SageMaker HyperPod propose deux méthodes pour la restauration manuelle des nœuds. L'approche préférée consiste à utiliser le SageMaker HyperPod redémarrage et le remplacement APIs, qui fournissent un processus de restauration plus rapide et plus transparent qui fonctionne sur tous les orchestrateurs. Vous pouvez également utiliser des commandes Slurm traditionnellesscontrol update, bien que cette ancienne méthode nécessite un accès direct au nœud contrôleur du Slurm. Les deux méthodes activent les mêmes processus SageMaker HyperPod de restauration.
Redémarrer manuellement un nœud à l'aide de l'API de redémarrage
Vous pouvez utiliser le BatchRebootClusterNodespour redémarrer manuellement un nœud défectueux de votre SageMaker HyperPod cluster.
Voici un exemple d'exécution de l'opération de redémarrage sur deux instances d'un cluster à l'aide de AWS Command Line Interface :
aws sagemaker batch-reboot-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Remplacer manuellement un nœud à l'aide de l'API de remplacement
Vous pouvez utiliser le BatchReplaceClusterNodespour remplacer manuellement un nœud défectueux dans votre SageMaker HyperPod cluster.
Voici un exemple d'exécution de l'opération de remplacement sur deux instances d'un cluster à l'aide de AWS Command Line Interface :
aws sagemaker batch-replace-cluster-nodes \ --cluster-name arn:aws:sagemaker:ap-northeast-1:123456789:cluster/test-cluster \ --node-ids i-0123456789abcdef0 i-0fedcba9876543210
Redémarrer manuellement un nœud à l'aide de Slurm
Vous pouvez également utiliser les commandes scontrol Slurm pour déclencher la restauration des nœuds. Ces commandes interagissent directement avec le plan de contrôle Slurm et invoquent les mêmes mécanismes de SageMaker HyperPod restauration sous-jacents.
Dans la commande suivante, remplacez-le <ip-ipv4>par le nom du nœud Slurm (nom d'hôte) de l'instance défectueuse que vous souhaitez redémarrer.
scontrol update node=<ip-ipv4>state=failreason="Action:Reboot"
Cela marque le nœud comme FAIL avec la raison spécifiée. SageMaker HyperPod détecte cela et redémarre l'instance. Évitez de modifier l'état du nœud ou de redémarrer le contrôleur Slurm pendant l'opération.
Remplacer manuellement un nœud à l'aide de Slurm
Vous pouvez utiliser la commande scontrol update comme suit pour remplacer un nœud.
Dans la commande suivante, remplacez par le nom du nœud Slurm (nom d'hôte) de l'instance défectueuse que vous souhaitez remplacer.<ip-ipv4>
scontrol update node=<ip-ipv4>state=failreason="Action:Replace"
Après avoir exécuté cette commande, le nœud passe à l'failétat, attend la fin des tâches en cours d'exécution, est remplacé par une instance saine et est restauré avec le même nom d'hôte. Ce processus prend du temps en fonction des instances disponibles dans votre zone de disponibilité et du temps nécessaire pour exécuter vos scripts de cycle de vie. Pendant les processus de mise à jour et de remplacement, évitez de modifier à nouveau l’état du nœud manuellement ou de redémarrer le contrôleur Slurm. Cela peut entraîner un échec de remplacement. Si le nœud n’est pas rétabli ou ne revient pas à l’état idle après une longue période, contactez AWS Support
Forcer le changement manuel d'un nœud
Si le nœud défaillant est constamment bloqué dans l’état fail, le dernier recours que vous pouvez essayer est de forcer manuellement le remplacement de l’état du nœud par down. Cela nécessite des privilèges d’administrateur (autorisations sudo).
Avertissement
Procédez avec prudence avant d’exécuter la commande suivante, car elle force l’arrêt de toutes les tâches et vous risquez de perdre tout votre travail non enregistré.
scontrol update node=<ip-ipv4>state=downreason="Action:Replace"