Wie behebe ich Probleme beim Upgrade des SUSE-Betriebssystems auf meiner EC2-Instance?
Ich habe versucht, das SUSE-Betriebssystem auf meiner Amazon Elastic Compute Cloud (Amazon EC2)-Instance zu aktualisieren, und habe Fehler erhalten, z. B. einen Fehler bei der Instance-Statusüberprüfung, ein deregistriertes Betriebssystem oder ein Fehlschlagen von Zypper-Befehlen.
Behebung
Überprüfen auf fehlgeschlagene Instance-Statusprüfungen
Informationen zu fehlgeschlagenen Instance-Statusprüfungen finden Sie unter Wie behebe ich eine EC2-Linux-Instance, die die Instance-Statusprüfung aufgrund von Betriebssystemproblemen nicht bestanden hat?
Verwenden des susecloud-repocheck-Skripts, um kleinere Probleme automatisch zu diagnostizieren und zu beheben
Das susecloud-repocheck-Skript führt eine Überprüfung des Betriebssystem-Repositorys durch. Außerdem behebt es Probleme, die eine Registrierung der Instance in der SUSE-Update-Infrastruktur verhindern, und zwar für folgende Umgebungen:
- Microsoft Azure
- AWS
- Google Cloud Platform (GCP)
- On-Demand-Instances mit nutzungsbasierter Bezahlung (PAYG)
Weitere Informationen finden Sie unter susecloud-repocheck im GitHub-Repository von SUSE.
Führen Sie den folgenden Befehl aus, um das Skript zu starten:
$ python3 <(curl -sL https://raw.githubusercontent.com/SUSE/susecloud-repocheck/main/sc-repocheck.py)
Das Skript erstellt Protokolle im /var/log/-Verzeichnis mit dem Namen sc-repocheck_<YYMMDD_hhmmss>.tar.xz.
Manuelles Überprüfen der Registrierung und Beheben von Upgrade-Fehlern
Verifizieren des billingProducts- oder marketplaceProductCodes-Codes der Instance
Überprüfen Sie für standardmäßige SUSE Linux Enterprise Server (SLES) mit nutzungsbasierter Bezahlung den billingProducts-Code der Instance. Überprüfen Sie für SLES mit nutzungsbasierter Bezahlung für SAP-Anwendungen den marketplaceProductCodes-Code.
Führen Sie folgenden Befehl aus, um den billingProducts- oder marketplaceProductCodes-Code zu verifizieren:
# /usr/bin/curl --noproxy '*' -w "\n" -s -H "X-aws-ec2-metadata-token: $(curl --noproxy '*' -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 300")" http://169.254.169.254/latest/dynamic/instance-identity/document | grep -E 'billingProducts|marketplaceProductCodes'
Folgendes ist die Ausgabe für den Befehl:
billingProducts" : [ "bp-********" ]
Oder
"marketplaceProductCodes" : \[ "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*" \],
Prüfen der SMT-Registrierungseinträge in der Datei /etc/hosts
Suchen Sie in der Datei /etc/hosts nach einem Eintrag, der auf die Zeile # Added by SMT registration do not remove, retain comment as well folgt.
Hinweis: In einer AWS-Region gibt es mehr als einen öffentlichen Cloud-Update-Server für SUSE. Weitere Informationen finden Sie in der Liste der Update-Server-IP-Adressen für AWS-Regionen auf der Website von SUSE Public Cloud Solutions.
Führen Sie folgenden Befehl aus, um den aktuellen Registrierungsstatus zu überprüfen:
# SUSEConnect -s
Prüfen Sie, ob der Status-Parameter in der obigen Befehlsausgabe Registriert oder Nicht registriert lautet. Wenn die Ausgabe Nicht registriert lautet, registrieren Sie die Instance erneut.
Führen Sie folgenden Befehl aus, um Einträge von früheren Registrierungen zu entfernen:
# registercloudguest --clean
Führen Sie folgenden Befehl aus, um die Instance erneut zu registrieren:
# registercloudguest --force-new
Führen Sie folgenden Befehl aus, um den aktuellen Registrierungsstatus zu überprüfen:
# SUSEConnect -s
Wenn die Registrierung fehlschlägt, prüfen Sie die Protokolle in /var/log/cloudregister, um die Fehlerursache zu ermitteln. Dies ist ein Beispiel für einen Fehler in den Protokollen:
SUSEConnect error: Errno::ENOSPC: No space left on device
Entfernen Sie alle doppelten oder zusätzlichen SMT-Registrierungseinträge in der Datei /etc/hosts. Dies ist Beispieleintrag, der durch die SMT-Registrierung hinzugefügt wurde:
# vi /etc/hosts # Added by SMT registration do not remove, retain comment as well 54.246.90.215 smt-ec2.susecloud.net smt-ec2
Beheben häufig auftretender Registrierungsfehler
Gehen Sie wie folgt vor, um häufig auftretende Registrierungsfehler zu beheben:
-
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob der erforderliche cloud-regionsrv-client und die zugehörigen Abhängigkeitspakete in Ihrem Betriebssystem installiert sind:
# rpm -qa | grep -E 'cloud-regionsrv-client|cloud-regionsrv-client-plugin-ec2|regionServiceClientConfigEC2|SUSEConnect|suseconnect-ng|python3-ec2metadata|python3-dnspython|python3-lxml|python3-cssselect|python3-M2Crypto|python3-zypp-plugin|libzypp|ruby-common'
Folgendes ist eine Beispielausgabe des vorherigen Befehls:
libzypp-17.31.20-150400.3.40.1.x86_64 suseconnect-ng-1.6.0~git0.31371c8-150400.3.22.1.x86_64 python3-zypp-plugin-0.6.3-150000.4.2.1.noarch python3-cssselect-1.0.3-150000.3.3.1.noarch python3-M2Crypto-0.38.0-150400.7.64.x86_64 python3-lxml-4.7.1-150200.3.10.1.x86_64 regionServiceClientConfigEC2-4.1.1-150000.3.27.1.noarch ruby-common-2.1-3.15.noarch python3-ec2metadata-5.0.0-150000.3.12.1.noarch cloud-regionsrv-client-10.1.6-150000.6.105.1.noarch cloud-regionsrv-client-plugin-ec2-1.0.4-150000.6.105.1.noarch python3-dnspython-1.15.0-150000.3.2.1.noarch
Wenn die Pakete veraltet sind oder fehlen und das Betriebssystem keinen Zugriff auf Zypper hat, führen Sie das Upgrade offline durch. Um ein Offline-Upgrade durchzuführen, laden Sie die RPM-Pakete mit Zypper auf einen anderen funktionierenden Host herunter und übertragen Sie das RPM-Paket auf den nicht funktionierenden Host. Führen Sie dann eine Zypper-Installation der RPM-Pakete durch.
-
Identifizieren Sie fehlende Repositorys.
-
Wenn Ihrer SUSE-Instance Software-Repositorys fehlen, führen Sie die folgenden Befehle aus, um eine neue Registrierung mit allen verfügbaren Repositorys zu erzwingen.
# registercloudguest --force-new # SUSEConnect --list-extensions # zypper lr --uri
Verwandte Informationen
Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- Warum ist meine ACM-Zertifikatsanfrage fehlgeschlagen und eine zusätzliche Überprüfung erforderlich?AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren