Perché la mia istanza Linux EC2 è irraggiungibile e non supera i controlli di stato?
La mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) è irraggiungibile e non supera uno o entrambi i controlli di stato.
Breve descrizione
Amazon EC2 utilizza due controlli 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 errore del controllo dello stato dell'istanza indica che l'istanza non è raggiungibile. I seguenti problemi comuni causano un errore del controllo dello stato dell'istanza:
- Mancato avvio del sistema operativo (OS)
- Errato montaggio dei volumi
- CPU e memoria esaurite
- Kernel panic
- Errore di rete
Avvertenza: alcune delle seguenti risoluzioni richiedono l'arresto e l'avvio dell'istanza. Prima di arrestare e avviare l'istanza, prendi nota delle seguenti condizioni:
- I dati archiviati nei volumi dell'archivio dell'istanza vengono persi quando l'istanza viene interrotta. Prima di interrompere l'istanza, assicurati di eseguire il backup dei dati. A differenza dei volumi supportati da Amazon Elastic Block Store (Amazon EBS), i volumi dell'archivio dell'istanza sono temporanei e non supportano la persistenza dei dati.
- L'indirizzo IPv4 statico pubblico che Amazon EC2 ha assegnato automaticamente all'istanza al lancio o all'avvio dell'istanza cambia dopo l'arresto e l'avvio. Per conservare un indirizzo IPv4 pubblico immutato se l'istanza viene interrotta, usa un indirizzo IP elastico.
Per ulteriori informazioni consulta la sezione Prerequisiti per arrestare un'istanza.
Risoluzione
Per determinare se il controllo dello stato dell'istanza o il controllo dello stato del sistema non sono riusciti, visualizza le metriche di controllo dello stato dell'istanza.
Se il controllo dello stato del sistema non è riuscito, consulta la sezione La mia istanza Linux EC2 non ha superato il controllo dello stato del sistema. Come posso risolvere questo problema?
Se il controllo dello stato dell'istanza non è riuscito, controlla i log di sistema dell'istanza per determinare la causa dell'errore. Quindi utilizza una delle seguenti soluzioni per risolvere il problema.
Mancato avvio del sistema operativo
Se i log di sistema contengono errori di avvio, consulta la sezione I controlli dello stato delle istanze sulla mia istanza Linux EC2 hanno esito negativo a causa di problemi del sistema operativo. In che modo posso risolvere il problema?
Errato montaggio dei volumi
Un errore nel punto di montaggio potrebbe causare il fallimento del controllo dello stato dell'istanza.
Esempio di errore nel 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 i seguenti articoli dell'AWS Knowledge Center:
- Errori di "dipendenza non riuscita": Why is my EC2 Linux instance going into emergency mode when I try to boot it?
- Errori "Montaggio non riuscito" o "Dipendenza non riuscita": I controlli dello stato delle istanze sulla mia istanza Linux EC2 hanno esito negativo a causa di problemi del sistema operativo. In che modo posso risolvere il problema?
Quando si modifica un tipo di istanza da Xen a Nitro, il montaggio del volume potrebbe fallire. L'errore di montaggio si verifica perché i volumi di Amazon EBS sono esposti come dispositivi a blocchi NVMe su istanze basate su Nitro. I nomi dei dispositivi sono /dev/nvme0n1, /dev/nvme1n1 e così via. I nomi dei dispositivi specificati in una mappatura dei dispositivi a blocchi vengono rinominati in nomi di dispositivi NVMe (/dev/nvme[0-26]n1). Il driver del dispositivo a blocchi potrebbe assegnare i nomi dei dispositivi NVMe in un ordine diverso dall'ordine originale specificato 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 la sezione Rendere un volume Amazon EBS disponibile per l'utilizzo in Linux.
CPU e memoria esaurite
Utilizzo elevato della CPU
Se la metrica di utilizzo della CPU è pari o vicina al 100%, l'istanza potrebbe non avere una capacità di calcolo sufficiente per eseguire il kernel.
Per le istanze T2 o T3, controlla i parametri di credito della CPU di Amazon CloudWatch per determinare se i crediti UPC sono pari o vicini allo zero. Se i crediti CPU sono pari a zero, il parametro CPUUtilization mostrerà un plateau di saturazione al livello delle prestazioni di base dell'istanza. Le prestazioni di base potrebbero essere del 20%, del 40% o così via, a seconda del tipo di istanza.
L'utilizzo della CPU pari o vicino al 100% o a un plateau di saturazione per le istanze T2 o T3 indica che il controllo dello stato non è riuscito a causa dell'eccessivo utilizzo delle risorse. Per risolvere questo problema, consulta la sezione La mia istanza Linux EC2 non ha superato la verifica dello stato dell'istanza a causa dell'eccessivo utilizzo delle sue risorse. Come faccio a risolvere questo problema?
Gli errori dei dispositivi a blocchi, i bug del software o il kernel panic potrebbero causare un insolito picco di utilizzo della CPU. Se l'utilizzo della CPU è 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
L'elevata pressione della memoria potrebbe causare un errore nel controllo dello stato dell'istanza. Nell'esempio seguente, la voce di registro indica che la memoria del sistema operativo è esaurita. Per risolvere questo 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, i parametri del disco e della memoria delle istanze EC2 non vengono inviati ad Amazon CloudWatch. Tuttavia, puoi utilizzare l'agente CloudWatch per raccogliere e monitorare metriche aggiuntive.
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 della memoria. Per ulteriori informazioni consulta i seguenti articoli dell'AWS Knowledge Center:
- How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?
- Come faccio ad allocare la memoria come spazio di swap su un'istanza Amazon EC2 utilizzando una partizione sul disco rigido?
Errori di disco pieno
Se i log di sistema contengono errori di disco pieno, l'istanza sarà entrata in modalità di emergenza a causa di un dispositivo root pieno.
Esempio di registro di sistema:
$: service apache2 restart Error: No space left on device $: /etc/init.d/mysql restart [....] Restarting mysql (via systemctl): mysql.serviceError: No space left on device root@example:~# df -h / Filesystem Size Used Avail Use% Mounted on /dev/root 7.7G 7.7G 0 100% /
Per istruzioni dettagliate su come affrontare e risolvere gli errori relativi al disco pieno, consulta i seguenti articoli dell'AWS Knowledge Center:
- La mia istanza Linux EC2 non ha superato la verifica dello stato dell'istanza a causa dell'eccessivo utilizzo delle sue risorse. Come faccio a risolvere questo problema?
- How do I increase the size of my EBS volume if I receive an error that there's no space left on my file system?
Kernel panic
Il kernel panic si verifica quando il kernel rileva un errore interno irreversibile durante il funzionamento. Se l'errore si verifica durante l'avvio del sistema operativo, il kernel potrebbe non caricarsi correttamente. Ciò causa un errore di avvio del sistema operativo.
Esempio di messaggio di 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 su come affrontare e risolvere un errore di kernel panic, consulta i seguenti articoli dell'AWS Knowledge Center:
- Why do I see a "Kernel panic" error after I upgrade the kernel or reboot my EC2 Linux instance?
- How do I revert to a known stable kernel after an update prevents my Amazon EC2 instance from rebooting successfully?
Errore di rete
I seguenti motivi comuni potrebbero causare il malfunzionamento della rete.
Il pacchetto cloud-init non è installato sull'istanza
Il pacchetto cloud-init viene utilizzato per aggiornare le configurazioni di rete all'avvio.
Per correggere questo errore, esegui il comando seguente per installare il pacchetto cloud-init sulla tua istanza:
$ sudo yum install cloud-init
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. Questi file si trovano generalmente 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. Ad esempio, esegui il comando seguente:
mv /etc/udev/rules.d/70-persistent-net.rules/root/
L'indirizzo IP è codificato in un file di configurazione
Quando crei un'Amazon Machine Image (AMI) da un'istanza con un indirizzo IP configurato staticamente, il file di configurazione potrebbe contenere un indirizzo IP hardcoded.
Per correggere questo errore, imposta l'interfaccia di rete in modo che utilizzi il protocollo DHCP.
Nota: non puoi aggiornare le AMI esistenti. Prima di creare una nuova AMI è necessario impostare l'interfaccia di rete in modo che utilizzi il protocollo DHCP.
Mancano i driver di rete con tecnologia ENA o Intel
Per ulteriori informazioni sugli adattatori elastici di rete (ENA) o sui driver di rete Intel avanzati mancanti, consulta la sezione Abilitazione delle reti avanzate su Linux.
L'interfaccia di rete viene rinominata all'avvio
Per risolvere questo problema, aggiungi net.ifnames=0 alla riga di comando del kernel per disattivare i nomi prevedibili delle interfacce di rete. Per eseguire la variabile è necessario attivare una rete avanzata con l'ENA.
Per ulteriori informazioni sui problemi di rete, consulta la sezione Best practice per la configurazione delle interfacce di rete.
Informazioni correlate
Risoluzione dei problemi relativi alle istanze con esito negativo delle verifiche dello stato
Why is my EC2 Windows instance down with a system status check failure or status check 0/2?
Why is my EC2 Windows instance down with an instance status check failure?
Contenuto pertinente
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa