Come posso risolvere i problemi che si verificano durante l'aggiornamento del sistema operativo SUSE sulla mia istanza EC2

4 minuti di lettura
0

Sto aggiornando il sistema operativo (OS) SUSE sulla mia istanza Amazon Elastic Compute Cloud (Amazon EC2). Sto riscontrando problemi durante l'aggiornamento, ad esempio errore di controllo dello stato dell'istanza, registrazione del sistema operativo annullata o comandi zypper errati.

Risoluzione

Verifica, ad esempio, errore di controllo dello stato

Se il controllo dello stato dell'istanza non riesce dopo l'aggiornamento del sistema operativo, consulta La mia istanza Linux EC2 non ha superato il controllo dello stato dell'istanza a causa di problemi del sistema operativo. Come posso risolvere questo problema?

Verifica automaticamente gli errori di registrazione (solo istanze gestite)

Se la tua istanza è un'istanza gestita nella console AWS Systems Manager, esegui il documento di automazione AWSSupport-TroubleshootSUSERegistration. Il documento di automazione AWSSupport-TroubleshootSUSERegistration aiuta a determinare la causa principale dell'errore di aggiornamento. Per maggiori informazioni, consulta Perché non riesco a registrare la mia istanza EC2 che esegue SUSE nell'infrastruttura di aggiornamento SUSE in modo da poter installare o aggiornare i pacchetti?

Verifica manualmente gli errori di registrazione

Per le istanze che non sono istanze gestite, controlla i seguenti elementi:

I due prerequisiti principali determinati, ad esempio la registrazione, sono:

  • Codice di istanza billingProducts o marketplaceProductCodes.
  • L'indirizzo IP di connessione in uscita deve appartenere a un intervallo IP AWS.

1.    Esegui il comando seguente per verificare il codice billingProducts o marketplaceProductCodes:

# curl -s http://169.254.169.254/latest/dynamic/instance-identity/document

Di seguito è riportato un esempio di output per il seguente comando:

 billingProducts" : [ "bp-********" ]

2.    Verifica le voci della registrazione SMT nel file /etc/hosts. Cerca una voce che segue la riga,#Aggiunta dalla registrazione SMT non rimuovere, conserva anche il commento.

Ogni regione AWS ha un server SMT diverso. Per trovare l'indirizzo IP del server SMT per una regione senza utilizzare lo strumento pint, consulta l'elenco degli indirizzi IP del server SMT sul sito web susepubliccloudinfo.suse.com.

Esegui il seguente comando per verificare lo stato della registrazione:

# SUSEConnect -s

Nell'output del comando precedente, verifica che il parametro Stato sia Registrato o Non registrato. Se l'output è Non registrato, prova a registrare nuovamente l'istanza.

Per effettuare una nuova registrazione, è consigliabile rimuovere le registrazioni precedenti. Esegui i seguenti comandi per pulire credenziali e repository:

SUSEConnect --de-register
SUSEConnect --cleanup
rm -f /etc/SUSEConnect
rm -rf /etc/zypp/credentials.d/*
rm -rf /etc/zypp/repos.d/*
rm -f /etc/zypp/services.d/*

Inoltre, rimuovi la voce SMT aggiunta dalla registrazione precedente nel file /etc/hosts. In caso contrario, la nuova registrazione crea più voci SMT. Rimuovi o commenta la seguente voce:

# vi /etc/hosts

# Added by SMT registration do not remove, retain comment as well
54.246.90.215 smt-ec2.susecloud.net smt-ec2

Dopo aver pulito le voci, esegui il seguente comando per registrare nuovamente l'istanza:

# registercloudguest --force-new
# SUSEConnect -s

Se la registrazione fallisce, analizza i log in /var/log/cloudregister per determinare il motivo dell'errore. Di seguito è riportato un esempio di errore nei log:

SUSEConnect error: Errno::ENOSPC: No space left on device

Risolvi gli errori di registrazione più comuni

1.    Esegui il seguente comando per verificare che la versione cloud-regionsrv-client sia 9.0.0 o superiore:

rpm -qa | grep cloud-regionsrv-client

Quanto segue è un esempio del comando precedente:

cloud-regionsrv-client-9.0.3-52.16.1
cloud-regionsrv-client-plugin-ec2-1.0.0-52.16.1

Esegui il seguente comando per aggiornare il pacchetto:

# zypper update cloud-regionsrv-client

2.    Esegui il seguente comando per verificare che tutti i pacchetti necessari siano presenti nel tuo sistema operativo:

# rpm -qa | grep -iE "cloud-regionsrv-client|regionServiceClientConfigEC2|ec2metadata|SUSEConnect|libzypp|ruby-common"

Di seguito è riportato un esempio di output del comando precedente:

libzypp-17.31.8-150400.3.14.1.x86_64
python3-ec2metadata-4.0.0-150000.3.9.1.noarch
ruby-common-2.1-3.15.noarch
suseconnect-ng-1.0.0~git0.faee7c196dc1-150400.3.7.3.x86_64
libsuseconnect-1.0.0~git0.faee7c196dc1-150400.3.7.3.x86_64
suseconnect-ruby-bindings-1.0.0~git0.faee7c196dc1-150400.3.7.3.x86_64
regionServiceClientConfigEC2-4.1.0-150000.3.24.1.noarch
cloud-regionsrv-client-10.0.8-150000.6.86.1.noarch
cloud-regionsrv-client-plugin-ec2-1.0.2-150000.6.86.1.noarch

Se i pacchetti sono vecchi o mancanti e il sistema operativo non ha accesso a zypper, completa l'aggiornamento offline. Per maggiori informazioni, consulta Aggiornamento dell'infrastruttura del cloud pubblico sul sito web suse.com. La documentazione di Aggiornamento dell'infrastruttura del cloud pubblico include i moduli necessari per l'aggiornamento e i pacchetti di registrazione più recenti:

# wget --no-check-certificate https://52.15.49.139/late_instance_offline_update_ec2_<arch>_<slebase>.tar.gz
# sha1sum late_instance_offline_update_ec2_<arch>_<slebase>.tar.gz
# tar -xf late_instance_offline_update_ec2_<arch>_<slebase>.tar.gz
# cd <arch>
# zypper --no-refresh --no-remote --non-interactive in *.rpm

3.    Identifica i repository mancanti.

Se nella tua istanza SUSE mancano i repository del software, consulta Repository del software mancanti dell'istanza cloud AWS o Azure SUSE per forzare una nuova registrazione con tutti i repository disponibili.

Informazioni correlate

Domande frequenti su SUSE Linux Enterprise Server (SLES) su Amazon EC2

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa