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 quand vous devez redémarrer ou remplacer manuellement un nœud, avec des instructions sur la manière de procéder.
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écupère 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 si vous rencontrez des problèmes temporaires ou liés au logiciel, tels que des blocages du système, des fuites de mémoire, des problèmes de pilote GPU, 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 de GPU, des problèmes de mémoire ou de réseau, des échecs répétés de contrôle 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 des nœuds manuellement
SageMaker HyperPod propose deux méthodes de restauration manuelle des nœuds. L'approche préférée consiste à utiliser les API SageMaker HyperPod Reboot and Replace, qui fournissent un processus de restauration plus rapide et plus transparent qui fonctionne sur tous les orchestrateurs. Vous pouvez également utiliser les commandes Slurm traditionnellesscontrol update, comme, bien que cette ancienne méthode nécessite un accès direct au nœud contrôleur de 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 BatchRebootClusterNodes pour 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 BatchReplaceClusterNodes pour 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 du nœud. Ces commandes interagissent directement avec le plan de contrôle de Slurm et invoquent les mêmes mécanismes de restauration sous-jacents SageMaker HyperPod .
Dans la commande suivante, remplacez <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 dans cet 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 manuellement le changement 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"