Come posso usare EC2Rescue per Linux per risolvere problemi a livello di sistema operativo?

6 minuti di lettura
0

Non riesco a connettermi alla mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) o riscontro problemi di avvio. Per correggere questi problemi, devo risolvere problemi comuni come le autorizzazioni dei file OpenSSH o raccogliere i log di sistema (OS) per l'analisi e la risoluzione dei problemi. Come posso usare EC2Rescue per Linux per farlo?

Breve descrizione

EC2Rescue per Linux è uno strumento che aiuta a diagnosticare e risolvere i problemi delle istanze Linux di Amazon EC2. EC2Rescue per Linux viene eseguito sull'istanza Amazon EC2 Linux per correggere problemi a livello di sistema operativo. EC2Rescue per Linux raccoglie anche log avanzati, report sull'utilizzo del sistema e file di configurazione per ulteriori analisi.

Scenari comuni gestiti da EC2Rescue per Linux:

  • Raccogliere report sull'utilizzo del sistema come vmstat, iostat, mpstat e così via.
  • Raccogliere log e dettagli come syslog, dmesg, log degli errori delle applicazioni e log SSM.
  • Rilevare problemi di sistema come routing asimmetrico o etichette duplicate dei dispositivi root.
  • Risolvere automaticamente i problemi di sistema, come la correzione delle autorizzazioni dei file OpenSSH o la disabilitazione dei parametri problematici noti del kernel.

Requisiti di sistema

EC2Rescue per Linux richiede un'istanza Amazon EC2 Linux che soddisfi i seguenti prerequisiti:

Sistemi operativi supportati

  • Amazon Linux 2
  • Amazon Linux 2016.09+
  • SLES 12+
  • RHEL 7+
  • Ubuntu 16.04+

Requisiti software

  • Python 2.7.9+ o 3.2+

**Nota:**Se hai attivato la console seriale EC2 per Linux, puoi usarla per risolvere i problemi relativi ai tipi di istanze supportate da Nitro. La console seriale consente di risolvere problemi di avvio, configurazione di rete e di configurazione SSH. La console seriale si connette all'istanza senza bisogno di una connessione di rete funzionante. Puoi accedere alla console seriale utilizzando la console Amazon EC2 o l'interfaccia della linea di comando AWS (AWS CLI).

Prima di utilizzare la console seriale, concedi l'accesso alla console a livello di account. Quindi crea delle policy AWS Identity and Access Management (IAM) che concedono l'accesso ai tuoi utenti IAM. Inoltre, ogni istanza che utilizza la console seriale deve includere almeno un utente basato su password. Se la tua istanza non è raggiungibile e non hai configurato l'accesso alla console seriale, segui le istruzioni della sezione Risoluzione. Per informazioni sulla configurazione della console seriale EC2 per Linux, consulta Configurare l'accesso alla console seriale EC2.

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS CLI, assicurati di utilizzare la versione più recente dell'Interfaccia della linea di comando AWS CLI.

Risoluzione

Per risolvere i problemi di un'istanza Amazon EC2 Linux non raggiungibile utilizzando EC2Rescue per Linux, procedi come segue:

1.    Avvia una nuova istanza Amazon EC2 nel tuo cloud privato virtuale (VPC) utilizzando la stessa Amazon Machine Image (AMI) nella stessa zona di disponibilità dell'istanza compromessa. La nuova istanza diventa la tua istanza "di ripristino". In alternativa, puoi utilizzare un'istanza esistente a cui hai accesso, se utilizza la stessa AMI e si trova nella stessa zona di disponibilità dell'istanza compromessa.

2.    Scollega il volume root di Amazon Elastic Block Store (Amazon EBS) (/dev/xvda o**/dev/sda1**) dall'istanza danneggiata. Prendi nota del nome del dispositivo per assicurarti che sia lo stesso quando lo ricolleghi in un secondo momento

3.    Collega il volume EBS come dispositivo secondario (/dev/sdf) all'istanza di ripristino.

4.    Connettiti alla tua istanza di ripristino tramite SSH.

5.    Diventa root, identifica il nome corretto del dispositivo usando lsblk, quindi salvalo per utilizzarlo durante tutto il processo:

$ sudo -i
# lsblk
# rescuedev=/dev/xvdf1

**Nota:**Il dispositivo (/dev/xvdf1) potrebbe essere collegato all'istanza di ripristino con un nome di dispositivo diverso. Utilizza il comando lsblk per visualizzare i dispositivi su disco disponibili insieme ai relativi punti di montaggio per determinare i nomi corretti dei dispositivi.

6.    Seleziona un punto di montaggio temporaneo appropriato da usare e assicurati che esista, usa /mnt a meno che non sia già in uso:

# rescuemnt=/mnt
# mkdir -p $rescuemnt

7.    Installa il file system root dal volume allegato:

# mount $rescuedev $rescuemnt

**Nota:**Se il montaggio del volume fallisce, controlla dmesg | tail. Se i log suggeriscono UUID in conflitto, usa l'opzione -o nouuid.

8.    Monta file system speciali e modifica la directory root (chroot) con il file system appena montato:

# for i in proc sys dev run; do mount --bind /$i $rescuemnt/$i ; done
# chroot $rescuemnt

9.     Scarica e installa lo strumento EC2Rescue per Linux su un volume root Linux offline:

# curl -O https://s3.amazonaws.com/ec2rescuelinux/ec2rl.tgz
# tar -xf ec2rl.tgz

10.    Verifica l'installazione elencando il file di aiuto:

# cd ec2rl-<version_number>
# ./ec2rl help

11.    Esegui EC2Rescue per Linux senza opzioni per eseguire tutti i moduli:

# ./ec2rl run

12.    Visualizza i risultati in /var/tmp/ec2rl:

# cat /var/tmp/ec2rl/*/Main.log | more

13.    Abilita la correzione per i moduli supportati in base ai risultati:

# ./ec2rl run --remediate

14.    Una volta completata la correzione, esci da chroot e smonta il dispositivo secondario:

# exit
# umount $rescuemnt/{proc,sys,dev,run,}

Nota: Se l'operazione di smontaggio non va a buon fine, potrebbe essere necessario interrompere o riavviare l'istanza di ripristino per consentire uno smontaggio corretto.

15.    Scollega il volume secondario (/dev/sdf) dall'istanza EC2 di ripristino, quindi collegalo all'istanza originale come /dev/xvda o /dev/sda1 (volume root). Assicurati che sia lo stesso del passaggio 2.

16.    Avvia l'istanza EC2 e verifica che l'istanza sia reattiva.

**Nota:**Puoi anche utilizzare un documento di Automazione AWS Systems Manager per risolvere i problemi di connessione. Per ulteriori informazioni, consulta Procedura dettagliata: Esecuzione dello strumento EC2Rescue su istanze non raggiungibili. Il documento AWSSupport-ExecuteEC2Rescue è progettato per automatizzare i passaggi normalmente necessari per utilizzare EC2Rescue per Linux. Questi passaggi sono una combinazione di azioni di Systems Manager, azioni di AWS CloudFormation e funzioni AWS Lambda.

Risoluzione di problemi aggiuntiva


Informazioni correlate

Ripristinare le istanze danneggiate utilizzando EC2Rescue e Amazon EC2 Systems Manager Automation

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa