Wie behebe ich einen fehlgeschlagenen Patch Manager (Linux)-Vorgang?

Lesedauer: 4 Minute
0

Ich möchte meinen fehlgeschlagenen Patch Manager (Linux)-Vorgang beheben.

Kurzbeschreibung

Patchvorgänge können aus mehreren Gründen fehlschlagen, und die Fehlerbehebung ist je nach Betriebssystem (OS) unterschiedlich. Sie können Fehlermeldungen in der AWS-Managementkonsole oder in der API-Antwort finden. Die Konsolenausgabe wird jedoch auf 48.000 Zeichen gekürzt, was die Sichtbarkeit bestimmter Probleme einschränkt. Bei diesen Problemen empfiehlt es sich, die gesamte Ausgabe zu überprüfen, die auf dem verwalteten Knoten gespeichert ist. Sie können auch die an Amazon CloudWatch und Amazon Simple Storage Service (Amazon S3) gesendete Ausgabe zur weiteren Fehlerbehebung verwenden.

Behebung

Führen Sie die folgenden Aufgaben aus, um Fehlermeldungen zu beheben, die Sie erhalten, wenn Ihr Patch Manager (Linux)-Vorgang fehlschlägt.

Verwenden Sie das AWSSupport-TroubleshootPatchManagerLinux-Runbook

Verwenden Sie AWSSupport-TroubleshootPatchManagerLinux, um Patch-Fehler für Linux-basierte verwaltete Knoten zu beheben.

Überprüfen der Partitionen und Berechtigungen

Der folgende Beispielfehler tritt auf, wenn /var/lib/amazon mit noexec-Berechtigungen gemountet wird:

„/var/lib/amazon/ssm/<instanceid>/document/orchestration/<commandid>/PatchLinux/\ _script.sh: Permission deniedfailed to run commands: exit status 126“

Um dieses Problem zu beheben, konfigurieren Sie exklusive Partitionen für /var/log/amazon und /var/lib/amazon und mounten Sie sie mit exec-Berechtigung.

Überprüfen der Berechtigungen verwalteter Knoten

Der folgende Beispielfehler tritt auf, wenn der verwaltete Knoten nicht über die erforderlichen Berechtigungen für den Zugriff auf den angegebenen Amazon S3 Bucket verfügt:

„Unable to download payload: https://s3.DOC-EXAMPLE-BUCKET.region.amazonaws.com/aws-ssm-region/patchbaselineoperations/linux/payloads/patch-baseline-operations-X.XX.tar.gz.failed to run commands: exit status 156“

Um dieses Problem zu beheben, aktualisieren Sie Ihre Netzwerkkonfiguration und stellen Sie sicher, dass Sie den regionalen Amazon-S3-Endpunkt von AWS erreichen können. Weitere Informationen finden Sie unter Kommunikation des AWS Systems Manager Agent (SSM Agent) mit von AWS verwalteten S3 Buckets.

Überprüfen der Run-Command-Aufgaben und des Verzeichnisbereichs

Der folgende Beispielfehler tritt auf, wenn zwei Befehle gleichzeitig AWS-RunPatchBaseline auf demselben verwalteten Knoten ausführen. Sie können diese Fehlermeldung auch erhalten, wenn im Verzeichnis /var kein Speicherplatz verfügbar ist.

Beispielfehler:

„IOError: [Errno 2] No such file or directory: 'patch-baseline-operations-X.XX.tar.gz'Unable to extract tar file: /var/log/amazon/ssm/patch-baseline-operations/patch-baseline-operations-1.75.tar.gz.
failed to run commands: exit status 155
Unable to load and extract the content of payload, abort.
failed to run commands: exit status 152“

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

  • Stellen Sie sicher, dass kein Wartungsfenster zwei oder mehr Run Command-Aufgaben enthält, die AWS-RunPatchBaseline ausführen. Die Aufgaben dürfen nicht dieselbe Prioritätsstufe haben und auf denselben Ziel-IDs ausgeführt werden. Ordnen Sie die Prioritätsstufen wenn nötig neu an.
  • Stellen Sie sicher, dass nur eine State-Manager-Zuordnung AWS-RunPatchBaseline nach demselben Zeitplan ausführt und auf dieselben verwalteten Knoten abzielt.
  • Machen Sie mehr Speicherplatz im Verzeichnis /var verfügbar.

Überprüfen der Prozesse, die auf einem verwalteten Knoten ausgeführt werden

Der folgende Beispielfehler tritt auf, wenn AWS-RunPatchBaseline auf einem verwalteten Knoten ausgeführt wird, auf dem Yum bereits läuft und ein anderer Prozess die Datenbank gesperrt hat:

„MM/DD/YYYY HH:MM:SS root [INFO]: another process has acquired yum lock, waiting 2 s and retry.“

Gehen Sie wie folgt vor, um dieses Problem zu beheben:

  • Stellen Sie sicher, dass keine State-Manager-Zuordnung, keine Aufgaben im Wartungsfenster oder andere Konfigurationen, die AWS-RunPatchBaseline nach einem Zeitplan ausführen, gleichzeitig auf denselben verwalteten Knoten abzielen.
  • Stellen Sie sicher, dass keine manuellen Yum-Operationen gleichzeitig ausgeführt werden.

Überprüfen der Python-Version des Servers

Der folgende Beispielfehler tritt auf, wenn keine unterstützte Version von Python 3 auf der Red Hat Enterprise Linux (RHEL), Debian Server, Raspberry Pi oder Ubuntu Server Instance installiert ist:

„An unsupported package manager and python version combination was found. Dnf requires Python 2 or Python 3 to be installed.“

Um diesen Fehler zu beheben, installieren Sie eine Version von Python 3 (3.0-3.9) auf dem erforderlichen Server.

Überprüfen des Betriebssystems

Der folgende Beispielfehler tritt auf, wenn ein Betriebssystem nicht unterstützt wird:

„An error occurred (UnsupportedOperatingSystem) when calling the GetDeployablePatchSnapshotForInstance operation: patch_common.exceptions. PatchManagerError: ('Unsupported Operating System', 146)“

Verwenden Sie ein unterstütztes Betriebssystem für Patch Manager, um dieses Problem zu beheben.

Überprüfen der Ausgabe der Instance

Wenn der Patchvorgang fehlschlägt und die Konsolenausgabe gekürzt ist, können Sie möglicherweise nicht die gesamte Ausgabe anzeigen.

Um diesen Fehler zu beheben, überprüfen Sie die gesamte Ausgabe der Instance an der folgenden Stelle:

„/var/lib/amazon/ssm/<example-instance-id>/document/orchestration/<example-command-id>/awsrunShellScript/PatchLinux/stdout“

**Hinweis:**Ersetzen Sie alle Beispielzeichenfolgen durch Ihre Werte.

Sie können den Vorgang auch so konfigurieren, dass die Run Command-Ausgabe an Amazon S3 oder CloudWatch gesendet wird.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr