Salta al contenuto

Come posso risolvere gli errori di controllo di stato della mia istanza EC2 Linux?

10 minuti di lettura
0

La mia istanza Amazon Elastic Compute Cloud (Amazon EC2) Linux è irraggiungibile e non supera i controlli di stato.

Breve descrizione

Amazon EC2 utilizza tre controlli di stato per monitorare lo stato delle istanze EC2.

Controllo dello stato del sistema

Il controllo dello stato del sistema rileva problemi con l'hardware sottostante di un'istanza. Se l'hardware sottostante non risponde o è irraggiungibile a causa di problemi di rete, hardware o software, il controllo dello stato del sistema fallisce.

Controllo dello stato dell'istanza

Un controllo dello stato dell'istanza ha esito negativo quando non riesci a raggiungere l'istanza. I controlli dello stato dell'istanza potrebbero non riuscire per i seguenti motivi:

  • Il sistema operativo non si avvia
  • I volumi Amazon Elastic Block Store (Amazon EBS) non vengono montati correttamente
  • La CPU e la memoria sono esaurite
  • Kernel panic
  • Errore di rete
  • Limitazione (della larghezza di banda della rete) dei parametri principali del volume EBS

Controlli dello stato dei volumi EBS collegati

I controlli dello stato dei volumi EBS collegati controllano se i volumi EBS collegati a un'istanza sono raggiungibili e possono completare le operazioni di I/O. Per ulteriori informazioni, consulta Controlli dello stato dei volumi EBS collegati.

Risoluzione

Per verificare se il controllo dello stato dell'istanza o il controllo dello stato del sistema non è stato superato, consulta le metriche di controllo dello stato dell'istanza.

Se il controllo dello stato del sistema non è stato superato, consulta Perché la mia istanza EC2 Linux non ha superato il controllo dello stato del sistema?

Se il controllo dello stato dell'istanza non è stato superato, controlla i log di sistema dell'istanza per individuare la causa dell'errore. Quindi scegli una delle seguenti opzioni di risoluzione per ovviare al problema.

Importante: alcune delle seguenti risoluzioni richiedono l'arresto e l'avvio dell'istanza. I dati contenuti nel volume di archivio dell'istanza vengono persi quando si arresta l'istanza. Se l'istanza non ha volumi supportati da EBS, esegui il backup dei dati prima di arrestare l'istanza. Inoltre, l'indirizzo IPv4 pubblico dell'istanza può cambiare dopo l'arresto e l'avvio dell'istanza. Per conservare lo stesso indirizzo IPv4 pubblico, utilizza un indirizzo IP elastico. Per altre informazioni, consulta Arresta e avvia le istanze Amazon EC2.

Il sistema operativo non si avvia

Se i log di sistema contengono errori di avvio, consulta I controlli dello stato delle istanze sulla mia istanza EC2 Linux hanno esito negativo a causa di problemi del sistema operativo. In che modo posso risolvere il problema?

I volumi EBS non vengono montati correttamente

Un errore nel punto di montaggio potrebbe causare l'errore del controllo dello stato dell'istanza.

Esempio di output di un errore del punto di montaggio:

[FAILED] Failed to mount /
See 'systemctl status mnt-nvme0n1p1.mount' for details.
[DEPEND] Dependency failed for Local File Systems.

Per ulteriori informazioni, consulta Perché la mia istanza EC2 Linux entra in modalità di emergenza quando provo ad avviarla? Inoltre, consulta I controlli dello stato delle istanze sulla mia istanza EC2 Linux hanno esito negativo a causa di problemi del sistema operativo. In che modo posso risolvere il problema?

Quando modifichi un tipo di istanza passando da un'istanza Xen a un'istanza basata su Nitro, il montaggio del volume potrebbe non riuscire. L'errore di montaggio si verifica perché i volumi EBS sono esposti come dispositivi a blocchi NVMe sulle istanze basate su Nitro. Ad esempio, i nomi dei dispositivi sono /dev/nvme0n1 e /dev/nvme1n1. I nomi dei dispositivi specificati in una mappatura dei dispositivi a blocchi vengono rinominati in nomi di dispositivi NVMe. Ad esempio, /dev/nvme[0-26]n1.

Nota: il driver del dispositivo a blocchi potrebbe assegnare i nomi dei dispositivi NVMe in un ordine diverso rispetto a quello che specifichi nella mappatura dei dispositivi a blocchi. Per evitare errori di montaggio sulle istanze basate su Nitro è consigliabile utilizzare un'etichetta o un UUID per i nomi dei dispositivi. Per ulteriori informazioni, consulta Rendi disponibile un volume Amazon EBS per l'uso.

La CPU e la memoria sono esaurite

Utilizzo elevato della CPU

Se la metrica CPUUtilization è pari o prossima al 100%, l'istanza non ha una capacità di calcolo sufficiente per eseguire il kernel.

Per le istanze T2 o T3, controlla le metriche dei crediti CPU di Amazon CloudWatch per vedere se i crediti CPU sono pari o prossimi a zero. Se i crediti CPU sono pari a zero, il parametro CPUUtilization mostra un plateau di saturazione al livello delle prestazioni di base dell'istanza. Ad esempio, le prestazioni di base potrebbero essere del 20% o del 40%. Se l'utilizzo della CPU è pari o prossimo al 100% o le istanze T2 o T3 hanno raggiunto un plateau di saturazione, il controllo dello stato risulta non superato a causa dell'eccessivo utilizzo delle risorse.

Per risolvere il problema, consulta Come posso risolvere i problemi di un'istanza EC2 Linux che non supera il controllo dello stato a causa dell'uso eccessivo delle risorse?

Gli errori dei dispositivi a blocchi, i bug del software o il kernel panic possono causare un picco insolito di utilizzo della CPU. Se l'utilizzo della CPU è pari al 100%, controlla i log di sistema per individuare eventuali errori dei dispositivi a blocchi o della memoria oppure altri errori insoliti del sistema. Quindi riavvia oppure arresta e avvia l'istanza.

Memoria esaurita

Un utilizzo elevato della memoria può causare un errore del controllo dello stato dell'istanza. Nel seguente esempio di estrazione del log, la memoria del sistema operativo è esaurita e viene avviato l'OOM-killer. Per risolvere l'errore, interrompi il processo che consuma più memoria.

[115879.769795] Out of memory: kill process 20273 (httpd) score 1285879 or a child
[115879.769795] Killed process 1917 (php-cgi) vsz:467184kB, anon-rss:101196kB, file-rss:204kB

Per impostazione predefinita, le metriche del disco e della memoria delle istanze EC2 non vengono inviate a CloudWatch. Per ulteriori informazioni, consulta Raccogli metriche, log e tracce con l'agente CloudWatch.

Per risolvere il problema dell'esaurimento della memoria, aggiorna l'istanza a un tipo di istanza più grande. In alternativa, aggiungi lo spazio di swap all'istanza per ridurre la pressione sulla memoria. Per ulteriori informazioni, consulta Come posso allocare memoria da utilizzare come spazio di swap in un'istanza Amazon EC2 tramite un file di swap? Inoltre, consulta Come posso usare una partizione del mio disco rigido per allocare memoria come spazio di swap su un'istanza Amazon EC2?

Errori di esaurimento del disco

Se i log di sistema contengono errori di esaurimento del disco, l'istanza è in modalità di emergenza perché il dispositivo principale è pieno.

Esempio di log di sistema:

$: sudo service apache2 restart
Error: No space left on device

$: sudo /etc/init.d/mysql restart
[....] Restarting mysql (via systemctl):
mysql.serviceError: No space left on device

$: df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.7G  7.7G     0 100% /

Per ulteriori informazioni, consulta Come posso risolvere i problemi di un'istanza EC2 Linux che non supera il controllo dello stato a causa dell'uso eccessivo delle risorse? Inoltre, consulta Come posso aumentare le dimensioni del volume EBS se ricevo un errore che indica che lo spazio nel file system è esaurito?

Kernel panic

Il kernel panic si verifica quando il kernel rileva un errore interno irreversibile durante il funzionamento. Se il kernel non viene caricato correttamente, l'errore si verifica durante l'avvio del sistema operativo. Un errore di caricamento del kernel causa l'esito negativo dell'avvio di un'istanza.

Esempio di output di un errore kernel panic:

Linux version
2.6.16-xenU (builder@xenbat.amazonsa) (gcc version 4.0.1 20050727 (Red Hat4.0.1-5)) #1 SMP Mon May 28 03:41:49 SAST 2007
Kernel command
line:  root=/dev/sda1 ro 4
Registering block device major 8
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)

Per informazioni, consulta Come posso risolvere l'errore “Kernel panic - not syncing" nella mia istanza EC2? Inoltre, consulta Come posso tornare a un kernel stabile noto dopo che un aggiornamento ha bloccato il riavvio della mia istanza EC2?

Errore di rete

La rete può essere causa di errori per i seguenti motivi:

  • Nell'istanza non è installato il pacchetto cloud-init.
  • Il pacchetto cloud-init serve per aggiornare le configurazioni di rete all'avvio.

Per correggere l'errore e installare il pacchetto cloud-init nell'istanza, esegui questo comando dal terminale.

Sistema operativo Amazon, Amazon Linux 2, Amazon Linux 2023 o RedHat:

sudo yum install cloud-init -y

Sistema operativo Ubuntu o Debian:

sudo apt install cloud-init -y

L'indirizzo MAC è codificato in un file di configurazione

Gli indirizzi MAC hardcoded si trovano nei file di configurazione di Linux e nei file di configurazione udev. Puoi trovare i file nelle seguenti posizioni:

  • /etc/udev/rules.d/
  • /etc/udev/rules.d/70-persistent-net.rules
  • /etc/udev/rules.d/80-net-name-slot.rules

Per risolvere i problemi di rete causati da un indirizzo MAC hardcoded, rimuovi le voci o i file di configurazione ed esegui questo comando:

sudo mv /etc/udev/rules.d/70-persistent-net.rules /root/

Dopo aver spostato il file di configurazione, riavvia il servizio di rete per assicurarti di ricevere un nuovo indirizzo MAC.

L'indirizzo IP è codificato in un file di configurazione della rete

Quando crei un'Amazon Machine Image (AMI) da un'istanza con un indirizzo IP configurato staticamente, il file di configurazione contiene un indirizzo IP hardcoded. Per correggere l'errore, imposta l'interfaccia di rete in modo che utilizzi il protocollo DHCP.

Nota: non puoi aggiornare le AMI già esistenti. Prima di creare una nuova AMI, devi impostare l'interfaccia di rete in modo che utilizzi il protocollo DHCP.

Mancano gli adattatori elastici di rete (ENA) o i driver di rete Intel Enhanced

Per ulteriori informazioni sugli adattatori elastici di rete (ENA) o sui driver di rete Intel Enhanced mancanti, consulta Rete migliorata per le istanze Amazon EC2.

All'avvio, l'interfaccia di rete viene automaticamente rinominata

Per disattivare la ridenominazione prevedibile dell'interfaccia di rete, aggiungi net.ifnames=0 alla riga di comando del kernel. Per utilizzare il segnaposto, devi attivare le reti avanzate con l'ENA e ricostruire o aggiornare il file di configurazione di grub.

Limitazione (della larghezza di banda della rete) dei parametri principali del volume EBS

Quando i parametri del volume EBS root vengono limitati, l'istanza potrebbe non superare i controlli di stato perché diventa irraggiungibile e non risponde.

La limitazione (della larghezza di banda della rete) può verificarsi quando le operazioni di I/O al secondo (IOPS) o il throughput di un volume EBS superano i limiti già assegnati. L'istanza potrebbe non rispondere o diventare irraggiungibile a causa del deterioramento delle prestazioni dovuto alla limitazione (della larghezza di banda della rete) del volume EBS.

Per risolvere i problemi di limitazione del volume EBS, completa i seguenti passaggi:

  1. Monitora e analizza le metriche di CloudWatch come la lunghezza della coda del volume, le operazioni di lettura/scrittura del volume e i byte di lettura/scrittura del volume. Per ulteriori informazioni, consulta Come posso utilizzare le metriche di CloudWatch per calcolare il throughput medio e il numero medio di IOPS forniti dal mio volume EBS?
  2. Arresta e avvia l'istanza o riavvia l'istanza per risolvere temporaneamente il problema.
  3. Aumenta il limite di IOPS o throughput assegnato al volume EBS. Oppure esegui l'upgrade a un tipo e una dimensione di volume EBS più adatti al carico di lavoro. Per ulteriori informazioni, consulta Richiedi modifiche al volume di Amazon EBS.

Informazioni correlate

Risolvi i problemi delle istanze Amazon EC2 Linux con controlli di stato non riusciti

Why is my EC2 Windows instance down with a system status check failure or status check 0/2? (Perché la mia istanza EC2 per Windows è inattiva a causa di un errore relativo al controllo dello stato del sistema o del controllo dello stato 0/2?)

Why is my EC2 Windows instance down with an instance status check failure?

Tipi di verifica dello stato

AWS UFFICIALEAggiornata 8 mesi fa