

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Sostituisci o riavvia manualmente un nodo usando Slurm
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance"></a>

Questa sezione spiega quando è necessario riavviare o sostituire manualmente un nodo, con istruzioni su come eseguire entrambe le operazioni.

## Quando riavviare o sostituire manualmente un nodo
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-when"></a>

La funzionalità di HyperPod ripristino automatico monitora se lo stato dei nodi Slurm diventa o. `fail` `down` Puoi controllare lo stato dei nodi Slurm eseguendo `sinfo`.

Se un nodo rimane bloccato o non risponde e il processo di ripristino automatico non lo ripristina, puoi avviare il ripristino manualmente. La scelta tra il riavvio e la sostituzione di un nodo dipende dalla natura del problema. Prendi in considerazione la possibilità di riavviare il sistema in caso di problemi temporanei o legati al software, come blocchi del sistema, perdite di memoria, problemi relativi ai driver della GPU, aggiornamenti del kernel o blocchi dei processi. Tuttavia, se si verificano problemi persistenti o legati all'hardware come guasti, errori di memoria o di rete GPUs, ripetuti errori nei controlli di integrità o nodi che non rispondono dopo più tentativi di riavvio, la sostituzione dei nodi è la soluzione più appropriata.

## Metodi per riavviare o sostituire manualmente i nodi
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-ways"></a>

SageMaker HyperPod offre due metodi per il ripristino manuale dei nodi. L'approccio preferito consiste nell'utilizzare SageMaker HyperPod Reboot and Replace APIs, che fornisce un processo di ripristino più rapido e trasparente che funziona con tutti gli orchestratori. In alternativa, è possibile utilizzare i comandi Slurm tradizionali come`scontrol update`, sebbene questo metodo legacy richieda l'accesso diretto al nodo controller di Slurm. Entrambi i metodi attivano gli stessi processi di ripristino. SageMaker HyperPod 

## Riavvia manualmente un nodo utilizzando l'API di riavvio
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-reboot-api"></a>

 È possibile utilizzare il **BatchRebootClusterNodes**per riavviare manualmente un nodo difettoso nel cluster. SageMaker HyperPod 

 Ecco un esempio di esecuzione dell'operazione di riavvio su due istanze di un cluster utilizzando: 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
```

## Sostituisci manualmente un nodo utilizzando l'API di sostituzione
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-replace-api"></a>

 È possibile utilizzare il **BatchReplaceClusterNodes**per sostituire manualmente un nodo difettoso nel SageMaker HyperPod cluster.

 Ecco un esempio di esecuzione dell'operazione di sostituzione su due istanze di un cluster utilizzando: 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
```

## Riavviare manualmente un nodo utilizzando Slurm
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-reboot"></a>

Puoi anche usare i comandi scontrol Slurm per attivare il ripristino del nodo. Questi comandi interagiscono direttamente con il piano di controllo Slurm e richiamano gli stessi meccanismi di ripristino sottostanti. SageMaker HyperPod 

Nel comando seguente, sostituite <ip-ipv4>con il nome del nodo Slurm (nome host) dell'istanza difettosa che desiderate riavviare.

```
scontrol update node=<ip-ipv4> state=fail reason="Action:Reboot"
```

Questo contrassegna il nodo come FAIL per il motivo specificato. SageMaker HyperPod lo rileva e riavvia l'istanza. Evita di modificare lo stato del nodo o di riavviare il controller Slurm durante l'operazione.

## Sostituisci manualmente un nodo usando Slurm
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-replace"></a>

È possibile utilizzare il comando scontrol update come segue per sostituire un nodo.

Nel comando seguente, sostituisci `<ip-ipv4>` con il nome del nodo Slurm (nome host) dell'istanza difettosa che desideri sostituire.

```
scontrol update node=<ip-ipv4> state=fail reason="Action:Replace"
```

Dopo aver eseguito questo comando, il nodo entrerà `fail` nello stato, attenderà il completamento dei processi attualmente in esecuzione, verrà sostituito con un'istanza integra e verrà ripristinato con lo stesso nome host. Questo processo richiede tempo e dipende dalle istanze disponibili nella zona di disponibilità e dal tempo necessario per eseguire gli script del ciclo di vita. Durante i processi di aggiornamento e sostituzione, evita nuove modifiche manuali allo stato del nodo o il riavvio del controller Slurm, perché queste operazioni potrebbero comportare errori di sostituzione. Se il nodo non viene ripristinato o non torna allo stato `idle` dopo molto tempo, contatta il [Supporto AWS](https://console.aws.amazon.com/support/).

## Forza la modifica manuale di un nodo
<a name="sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance-force"></a>

Se il nodo difettoso resta sempre bloccato in stato `fail`, l’ultima soluzione che potresti provare è forzare manualmente la modifica dello stato del nodo su `down`. Questa operazione richiede privilegi di amministratore (autorizzazioni sudo).

**avvertimento**  
Procedi con cautela prima di utilizzare il comando seguente, perché impone l’interruzione di tutti i processi che potrebbe comportare la perdita di tutto il lavoro non salvato.

```
scontrol update node=<ip-ipv4> state=down reason="Action:Replace"
```