Come posso risolvere i problemi che si verificano durante l'aggiornamento del sistema operativo SUSE sulla mia istanza EC2
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
Contenuto pertinente
- AWS UFFICIALEAggiornata 10 mesi fa
- AWS UFFICIALEAggiornata 9 mesi fa