In diesem Dokument wird beschrieben, wie Sie Probleme beheben, die auftreten können, wenn Sie Compute Engine-VM-Instanzen mit Pay as you go-SUSE Linux Enterprise Server (PAYG-SLES) mit dem SUSE Subscription Management Tool-Repository (SMT-Repository) verbinden.
Vorbereitung
- Prüfen Sie, ob die VM mit einem Dienstkonto verknüpft ist.
- Achten Sie darauf, dass die Service Metadata API über die VM zugänglich ist.
- Verwenden Sie das Tool sc-repocheck, um die Probleme automatisch zu beheben.
- Klicken Sie auf die Schritte, die im Leitfaden zur Fehlerbehebung bei SUSE PAYG beschrieben werden.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich wie folgt bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Suchen Sie in der Liste der SUSE SMT-IP-Adressen eine IP-Adresse, die der Region Ihrer VM entspricht.
Bearbeiten Sie die Datei, um die SUSE-SMT-IP-Adresse und alle fehlenden Informationen hinzuzufügen.
Erfolgreiche Antwort:
Response code (>0 is OK): 200
Zeitüberschreitungsfehler bei Anfrage:
Response code (>0 is OK): 000 curl: (28) Connection timed out after 5001 milliseconds
Nicht lösbarer Domainfehler:
Response code (>0 is OK): 000 curl: (6) Could not resolve host: smt-gce.susecloud.net
Erforderliches Paket installieren
sudo zypper install python3-susepubliccloudinfo
Verwenden Sie den folgenden Befehl für eine bestimmte Region.
pint google servers --region us-central1
Die erfolgreiche Ausgabe enthält eine Liste von Einträgen im XML-Format.
<?xml version='1.0' encoding='UTF-8'?> <servers> <server ip="146.148.73.14" name="" region="us-central1" type="regionserver-sles"/> <server ip="162.222.182.90" name="" region="us-central1" type="regionserver-sap"/> <server ip="108.59.80.221" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.85.41" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> <server ip="108.59.80.58" name="smt-gce.susecloud.net" region="us-central1" type="smt"/> </servers>
Fehler
SUSEConnect
:SUSEConnect error: Errno::ETIMEDOUT: Connection timed out - connect(2) for "smt-gce.susecloud.net" port 443
Fehler
zypper
:Error retrieving metadata for 'SLE-Module-Adv-Systems-Management12-Pool': Not ready to read within timeout. ...
Prüfen Sie, ob die VM eine externe IP-Adresse hat oder ob das Virtual Private Cloud-Subnetz eine NAT verwendet (entweder Cloud NAT oder benutzerdefinierte Lösung).
Wenn Sie die Standardregeln für das Netzwerkrouting geändert haben, z B. den Zugriff auf den öffentlichen Internetzugriff beschränken oder Traffic über ein lokales Netzwerk weiterleiten, fügen Sie Routen für SMT-IP-Adressen manuell über das Standardgateway von Compute Engine hinzu. Gehen Sie dazu so vor:
Rufen Sie in der Google Cloud Console die Seite Routen auf.
Suchen Sie im Tab Routenverwaltung nach einer Route, die die SUSE-SMT-IP-Adressen enthält, und prüfen Sie, ob das Compute Engine-Standardgateway als nächster Hop festgelegt ist.
Wenn die Route fehlt, können Sie sie hinzufügen. Klicken Sie dazu auf Route erstellen und geben Sie die erforderlichen Informationen ein.
Wenn Sie einen internen Passthrough-Network Load Balancer verwenden, z. B. mit zusätzlicher zwischengeschalteter Netzwerksoftware (z. B. Firewalls, benutzerdefinierte NATs), muss der Load Balancer als nächster Hop für VM-Traffic verwendet werden. Gehen Sie dazu so vor:
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Klicken Sie auf den Namen der VM, den Sie prüfen möchten. Die Seite mit den VM-Details wird geöffnet.
Klicken Sie im Bereich Netzwerkschnittstellen auf Details ansehen.
Suchen Sie im Abschnitt Firewall- und Routendetails die Route, die den Pfad zum gewünschten IP-Adressbereich definiert.
Klicken Sie auf den Namen der Route und prüfen Sie, ob der interne Passthrough-Network Load Balancer oder seine IP-Adresse als nächster Hop festgelegt ist.
Wenn es keine Route gibt, die den Pfad zum gewünschten IP-Adressbereich definiert, oder wenn der nächste Hop der Route ein anderer ist als der interne Passthrough-Network Load Balancer, dann richten Sie den internen Passthrough-Network Load Balancer als nächsten Hop ein.
Wenn Sie einen internen Passthrough-Network Load Balancer verwenden, prüfen Sie, ob er sich in derselben Region wie die VM befindet.
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
Suchen Sie die VM, die Sie prüfen möchten, und notieren Sie sich die Region.
Öffnen Sie in der Google Cloud Console die Seite Load-Balancing.
Suchen Sie den verwendeten internen Passthrough-Network Load Balancer und prüfen Sie, ob er sich in derselben Region wie die VM befindet.
Wenn sich die VM und der interne Passthrough-Network Load Balancer nicht in derselben Region befinden, aktivieren Sie den globalen Zugriff.
Rufen Sie das Verzeichnis
/etc/products.d
auf:cd /etc/products.d
Führen Sie den folgenden Befehl aus und ersetzen Sie dabei
SLES.prod
durchSLES_SAP.prod
, wenn SLES für SAP installiert ist:sudo ln -sf SLES.prod baseproduct
Beenden Sie die VM:
gcloud compute instances stop VM_NAME
Fügen Sie der VM ein Dienstkonto hinzu:
gcloud compute instances set-service-account VM_NAME \ --service account SERVICE_ACCOUNT \ --no-scopes
Starten Sie die VM:
gcloud compute instances start VM_NAME
Führen Sie nach dem Hinzufügen des fehlenden Dienstkontos den folgenden Befehl über die VM aus, um SLES noch einmal zu registrieren:
sudo registercloudguest --force-new
Prüfen Sie die Details im Abschnitt Erneute Registrierung.
Entfernen Sie das SUSE Manager Client Tools-Modul, wie in der Anleitung Module und Erweiterungen löschen beschrieben.
Heben Sie die Registrierung von SUMA auf. Folgen Sie dazu der Anleitung Registrierung eines SUSE Manager-Clients aufheben.
Führen Sie die folgenden Befehle von der VM aus, um die alte Registrierung zu bereinigen:
sudo SUSEConnect --cleanup && \ sudo registercloudguest --clean && \ sudo rm -f /etc/SUSEConnect && \ sudo rm -f /etc/zypp/{repos,services,credentials}.d/* && \ sudo rm -f /var/lib/cloudregister/* && \ sudo rm -rf /var/cache/zypp/* && \ sudo rm -rf /var/cache/cloudregister/* && \ sudo sed -i '/^# Added by SMT reg/,+1d' /etc/hosts
Führen Sie den folgenden Befehl aus, um das System noch einmal zu registrieren:
sudo registercloudguest --force-new
Prüfen Sie die Details im Abschnitt Erneute Registrierung.
Aktualisieren Sie nach der Registrierung die Dienste und Repositories und prüfen Sie, ob alle erwarteten Repositories für das vom SMT-Server bereitgestellte System vorhanden sind:
sudo zypper ref -s && \ sudo zypper ls && \ sudo zypper lr -U
Netzwerkprobleme
Nicht aufgelöster Domainname
Die folgenden Probleme können auftreten, wenn die VM keine Verbindung zum SMT-Server
smt-gce.susecloud.net
herstellen kann:SUSEConnect error: SocketError: getaddrinfo: Name or service not known
ping: unknown host smt-gce.susecloud.net
Diese Probleme werden wahrscheinlich durch eine falsche Auflösung des SMT-Server-Domainnamens
smt-gce.susecloud.net
verursacht. Diese Domain kann nicht global aufgelöst werden. Daher müssen Sie die IP-Adresse gemäß der VM-Region festlegen. Gehen Sie dazu so vor:Prüfen Sie, ob die Datei
/etc/hosts
einen Eintrag mit der Domainsmt-gce.susecloud.net
enthält.cat /etc/hosts | grep -i smt
Die Ausgabe sieht dann ungefähr so aus, aber die IP-Adresse kann abweichen:
# Added by SMT registration do not remove, retain comment as well 108.59.80.221 smt-gce.susecloud.net smt-gce
Wenn die Datei
/etc/hosts
nicht dieselben Zeilen wie im vorherigen Beispiel enthält, gehen Sie so vor:Netzwerk nicht verfügbar
Die folgenden Fehler können aufgrund der Nichtverfügbarkeit des Netzwerks auftreten, auch wenn die VM den Domainnamen des Compute Engine Update-Server auflösen kann:
Unexpected exception. Not ready to read within timeout.
Repository 'SLE-Module-Adv-Systems-Management12-Pool' is invalid. Repository 'SLE-Module-Adv-Systems-Management12-Updates' is invalid.
Im Folgenden finden Sie einige Beispiele für Fehler in der Logdatei
/var/log/cloudregister
, die während der Untersuchung auftreten können:WARNING:Unable to remove client registration from server WARNING:HTTPSConnectionPool(host='smt-gce.susecloud.net', port=443): Max retries exceeded with url: /connect/systems (Caused by NewConnectionError('
: Failed to establish a new connection: [Errno 110] Connection timed out',)) INFO:Region server arguments: ?regionHint=europe-central2 ERROR:No response from: [('34.118.112.80', None), ('34.116.251.218', None), ('34.116.224.144', None)]
Führen Sie einen Netzwerkverbindungstest durch, um mehr über die Ursache des Problems zu erfahren. Das folgende Beispiel zeigt, wie Sie eine HTTPS-Verbindung mit
cURL
testen:curl -sSI -m 5 -o /dev/null \ -w 'Response code (>0 is OK): %{http_code}\n' \ 'https://smt-gce.susecloud.net'
Die Ausgabe des Befehls enthält einen HTTP-Antwortcode oder eine Fehlermeldung. Folgende Antworten und Fehler treten häufig auf:
In bestimmten Szenarien, z. B. bei strengen Host-Firewallregeln, ist die mit der Domain
smt-gce.susecloud.net
verknüpfte Standard-IP-Adresse möglicherweise nicht verfügbar. Führen Sie Netzwerkverbindungstests für alternative regionale Server aus, damit das Problem nicht nur mit der aktuellen IP-Adresse zusammenhängt. So rufen Sie die Liste der regionalen Server ab:WebUI
Rufen Sie SUSE WebUI auf, um die Liste der regionalen Updateserver abzurufen.
Befehlszeile
Verwenden Sie das Tool
pint
, um die Liste der regionalen Updateserver über die Befehlszeile abzurufen.Eine vollständige Liste der SUSE-Server-IP-Adressen für Google Cloud finden Sie in den folgenden Dokumenten:
Die Netzwerkverfügbarkeit kann auf eine falsche VM-Konfiguration zurückzuführen sein. Bei Problemen ist es erforderlich, eine Netzwerkdiagnose durchzuführen, um die Ursache zu ermitteln.
Fehler bei der Registrierung
Der folgende Fehler kann auftreten, wenn Sie VMs mit einer privaten IP-Adresse in Cloud NAT haben:
ERROR: Registration failed: Registering system to registration proxy https://smt-gce.susecloud.net command '/usr/bin/zypper --non-interactive refs Python_3_Module_x86_64' failed Error: zypper returned 4 with 'Problem retrieving the repository index file for service 'Python_3_Module_x86_64': Timeout exceeded when accessing 'https://smt-gce.susecloud.net/services/2045/repo/repoindex.xml?credentials=Python_3_Module_x86_64'.
Prüfen Sie zur Behebung dieses Problems, ob die Cloud NAT-Konfiguration den Parameter Mindestanzahl an Ports pro VM-Instanz auf mindestens 256 festgelegt hat.
Weitere Informationen finden Sie im SUSE Support-Bulletin Registrierung und Zypper fehlgeschlagen für Compute Engine-Instanzen hinter Cloud NAT.
Keine Antwort
Wenn Ihre VM Probleme bei der Kommunikation mit den Update- und Regionsservern hat, können die folgenden Fehler auftreten:
Diese Fehler können durch eine fehlende Antwort von Update- und Regionsservern verursacht werden. Um festzustellen, ob dies der Fall ist, prüfen Sie die Logs
/var/log/cloudregister
auf ähnliche Inhalte:INFO:Region server arguments: ?regionHint=europe-central2 INFO:Using API: regionInfo INFO:Region server arguments: ?regionHint=europe-central2 INFO:Getting update server information, attempt 1 INFO: Using region server: 130.211.242.136 ERROR: No response from: 130.211.242.136 INFO: Using region server: 35.187.193.56 ERROR: No response from: 35.187.193.56 INFO: Using region server: 162.222.182.90 ERROR: No response from: 162.222.182.90 INFO: Using region server: 130.211.88.88 ERROR: No response from: 130.211.88.88 ERROR: None of the servers responded ERROR: Attempted: [IPv4Address('130.211.242.136'), IPv4Address('35.187.193.56'), IPv4Address('162.222.182.90'), IPv4Address('130.211.88.88')] ... ... ... ERROR:Request not answered by any server after 3 attempts ERROR:Exiting without registration
Versuchen Sie Folgendes (eines davon oder mehr) um dieses Problem zu beheben:
Probleme mit der Betriebssystemkonfiguration
Unbekannter Registrierungsstatus
Führen Sie den folgenden Befehl aus, wenn Sie nicht wissen, ob Ihr PAYG-SUSE Linux-Enterprise-Server (Pay as you go) registriert ist:
sudo SUSEConnect --status-text
Die Ausgabe enthält den Versions- und Registrierungsstatus der SUSE-Produkte, einschließlich SUSE Linux Enterprise Server.
Installed Products: ------------------------------------------ SUSE Linux Enterprise Server 12 SP5 (SLES/12.5/x86_64) Registered ------------------------------------------ ...
Wenn der Status
Not Registered
lautet, starten Sie den Neuregistrierungsvorgang, um das Problem zu beheben.Falscher Basisprodukt-Symlink
Wenn die Produktverknüpfung auf eine falsche Produktdatei verweist, können die folgenden Fehler auftreten:
ERROR:Unable to obtain product information from server "108.59.85.41,None" Unprocessable Entity {"type":"error","error":"Unmet product dependencies, activate one of these products first: SUSE Linux Enterprise Server 12 x86_64... ... Unable to register modules, exiting.
Dieser Fehler wird durch eine falsche Produktdatei (d.h.
sle-module-toolchain.prod
) verursacht, auf die der symbolische Link/etc/products.d/baseproduct
verweist.Aktualisieren Sie zum Beheben dieses Problems den Symlink unter
/etc/products.d/baseproduct
so, dass er auf die entsprechende Basisproduktdatei verweist. Gehen Sie dazu so vor:Nicht verfügbare Informationen zur Instanzidentität
Wenn für die VM keine Informationen zur Instanzidentität verfügbar sind, können die folgenden Fehler auftreten:
ERROR:Data collected from stderr for instance data collection "b'Unable to access instance identity information\n'"
Für den Zugriff auf die Instanzmetadaten für Identitätstokens müssen alle VMs einem Dienstkonto zugeordnet sein.
Weitere Informationen finden Sie unter Public Cloud Infrastructure-Update.
Prüfen Sie mit dem folgenden Befehl auf der VM, ob die VM für diese Situation relevant ist:
curl -s -H 'Metadata-Flavor: Google' \ 'http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/identity?audience=test'
Beispiel für eine erfolgreiche Antwort mit einem Identitätstoken:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjkzOTd0MDQxSHQ2NDNxNzkzUjY1MDIwNzEyMjZPNnppaTdqNTl3eTciLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJ0ZXN0IiwiYXpwIjoiMjY1MDIwMDUyMzgzMjYyNTk0ODU2IiwiZXhwIjoxNjgzNzEyNTQzLCJpYXQiOjE2ODM3MTI4NjQsImlzcyI6Imh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbSIsInN1YiI6IjQ1NjA2MzQ5MDg5Mzc0Njg3ODI5NyJ9.EpzQ3NZ8mKStdpH10fL34qsKG0rjQEflzvLJLm2tVNX4xBJAkMhi8lcs5InUEY-QMK3njgbzdzNtD1fXoIfKoeWsqkA8vG3NkBz5zqRrtaB2STcO14H5tjIdTBsrCtET447tRXlGG5cvgMcWnRDZG92-jUZEpWki_Ri4T69X5-bBWkfE2Thm3oSUW4fScdeVOEmOgWnzD2jeVqQ_2YniywvpkT-rLzKfN-5AgN66zgBfXqJVTC90KFMebfiaOoL7z6ZSM9AjZGf45QEMZjxjd-Xzyee6ZWK8s0RE3hJlytb3zYcLt3tJwQ1WhnrC2ToJ-ZmKxxK3xKDLCvCQ6Ny5to
Wenn die zurückgegebenen Metadaten kein Token, sondern eine Fehlermeldung wie die folgende sind, ist die VM betroffen:
{ "error": "invalid_request", "error_description": "Service account not enabled on this instance" }
Führen Sie folgende Schritte aus, um dieses Problem zu beheben:
Registrierung hinter Proxys
Ein Problem kann auftreten, wenn Ihre VMs so konfiguriert sind, dass sie eine beliebige Proxy-Software verwenden. Das folgende Beispiel zeigt einen Versuch, SLES über einen HTTP-Proxy zu registrieren.
ERROR: Baseproduct registration failed ERROR: Registering system to registration proxy https://smt-gce.susecloud.net Announcing system to https://smt-gce.susecloud.net ... SUSEConnect error: Net::HTTPFatalError: 503 "Service Unavailable"
SUSE in Compute Engine bietet keine offizielle Unterstützung für die Betriebssystemregistrierung, wenn es über Vermittler ausgeführt wird, die die ursprüngliche Kommunikation ändern, z. B. Proxys von Man-in-the-Middle (MITM) oder nicht transparente Typen.
Die offizielle Lösung zur Behebung dieses Problems besteht darin, Cloud NAT einzurichten und den VM-Traffic durch ihn zu leiten.
Häufige Problemumgehungen
Erneute Registrierung
In einigen Fällen kann eine erneute Registrierung verwendet werden, um Registrierungsprobleme zu umgehen.
Verwenden Sie den folgenden Befehl, um eine neue Registrierung zu erzwingen:
sudo registercloudguest --force-new
Wenn der Vorgang erfolgreich ist, wird die folgende Zeile ausgegeben.
Registration succeeded
Details zum erneuten Registrierungsprozess finden Sie unter
/var/log/cloudregister
.Erfolgreiches Beispiel
INFO:Forced new registration INFO:Clean current registration server: ('108.59.80.221', None) ... INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 INFO:Starting new HTTPS connection (1): 108.59.80.58 INFO:Modified /etc/hosts, added: 108.59.80.58 smt-gce.susecloud.net smt-gce ... INFO:Starting new HTTPS connection (1): 108.59.80.58 DEBUG:"GET /api/health/status HTTP/1.1" 200 None INFO:Current update server will be used: "('108.59.80.58', None)" INFO:Starting new HTTPS connection (1): smt-gce.susecloud.net DEBUG:"POST /connect/systems/products/migrations HTTP/1.1" 422 None INFO:Registration: /usr/sbin/SUSEConnect --url https://smt-gce.susecloud.net --product sle-module-containers/12/x86_64 --instance-data /var/lib/cloudregister/9c982106-78de-48fe-a662-20383da4c760
Beispiel für Fehler
INFO:Forced new registration INFO:Using API: regionInfo INFO:Starting new HTTP connection (1): 169.254.169.254 INFO:Region server arguments: ?regionHint=us-central1 INFO:Using region server: 130.211.242.136 INFO:Starting new HTTPS connection (1): 130.211.242.136 ERROR:No response from: 130.211.242.136 INFO:Using region server: 130.211.88.88 INFO:Starting new HTTPS connection (1): 130.211.88.88 ERROR:No response from: 130.211.88.88 INFO:Using region server: 146.148.73.14 INFO:Starting new HTTPS connection (1): 146.148.73.14 ERROR:No response from: 146.148.73.14 ERROR:None of the servers responded ERROR: Attempted: ['130.211.242.136', '130.211.88.88', '146.148.73.14'] ERROR:Exiting without registration
Registrierung aufheben
In einigen Fällen, z. B. bei einem größeren Release-Upgrade, können die folgenden Fehler auftreten, da das System bereits für SUMA registriert ist:
Can't get available migrations from server: SUSE::Connect::ApiError: The requested products 'SUSE Manager Client Tools for SLE 12 x86_64' are not activated on the system.
This system is managed by SUSE manager.
So beheben Sie das Problem:
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-21 (UTC).
-