Wie behebe ich den Installationsfehler des AWS Replication Agents auf meiner EC2 Linux-Instance?

Lesedauer: 7 Minute
0

Ich installiere den AWS Replication Agent für AWS Application Migration Service oder AWS Elastic Disaster Recovery. Die Installation auf meiner Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance ist fehlgeschlagen.

Auflösung

Identifizieren Sie den Fehler

Das Installationsprotokoll des AWS Replication Agent zeigt Fehler, die am Ende des Protokolls beginnen. Führen Sie den folgenden Befehl aus, um die letzte Seite des Installationsprotokolls aufzurufen und den Fehler zu ermitteln. Lesen Sie dann den folgenden Abschnitt, der sich auf den Fehler bezieht.

less +G aws_replication_installer.log

Die folgende Lösung behandelt die häufigsten Installationsfehler von AWS Replication Agent auf Linux-Betriebssystemen.

libz.so .1: Segment eines gemeinsam genutzten Objekts konnte nicht zugeordnet werden: Betrieb nicht erlaubt

Beispiel für einen Fehler

./aws-replication-installer-64bit: error while loading shared libraries: libz.so .1: failed to map segment from shared object: Operation not permitted

Das Installationsskript verwendet das Verzeichnis** /tmp**. Wenn noexec auf /tmp gesetzt ist, kann libz.so keine Segmente zuordnen. In diesem Fall erhalten Sie den Fehler „Vorgang nicht zulässig“.

Gehen Sie wie folgt vor, um diesen Fehler zu beheben:

1.Führen Sie den folgenden Befehl aus, um /tmp auszuhängen:

# umount /tmp

2.Führen Sie den folgenden Befehl aus, um das Volume mit der exec-Berechtigung zu mounten:

# sudo mount /tmp -o remount, exec

Das in der Anfrage enthaltene Sicherheitstoken ist abgelaufen

Beispiel für einen Fehler

botocore.exceptions.ClientError: An error occurred (ExpiredTokenException) when calling the GetAgentInstallationAssetsForDrs operation: The security token included in the request is expired [installation_id: 1a9af9d3-9485-4e02-965e-611929428c61, agent_version: 3.7.0, mac_addresses: 206915885515739,206915885515740, _origin_client_type: installer]

Dieser Fehler wird häufig durch eine abgelaufene AWS Identify and Access Management (IAM)-Rolle verursacht. Wenn die IAM-Rolle abläuft, schlagen API-Aufrufe an den Application Migration Service- oder Elastic Disaster Recovery-Endpunkt fehl.

Um dieses Problem zu beheben, aktualisieren Sie die IAM-Rolle oder installieren Sie die Rolle mit einem Zugriffsschlüssel oder einem geheimen Zugriffsschlüssel. Weitere Informationen finden Sie unter:

rmmod: FEHLER: Das Modul aws_replication_driver ist derzeit nicht geladen

Beispiel für einen Fehler

rmmod: ERROR: Module aws_replication_driver is not currently loaded insmod: ERROR: could not insert module ./aws-replication-driver.ko: Required key not available

Dieser Fehler tritt auf, wenn Secure Boot in der Quell-Instance aktiviert ist. Secure Boot wird vom Application Migration Service oder Elastic Disaster Recovery nicht unterstützt.

Um diesen Fehler zu beheben, schalten Sie den sicheren Start in der Quell-Instance aus.

Fehler bei der SSL-Zertifikatsüberprüfung: [SSL: CERTIFICATE_VERIFY_FAILED]

Beispiel für einen Fehler

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997) - urllib.error.URLError: <urlopen error unknown url type: https>

**Hinweis:**Zusätzlich zu diesem Fehler können Sie die meisten URLLib/SSL-Fehler mit der folgenden Methode beheben.

Dieser Fehler kann auftreten, wenn der Client eine ältere Betriebssystemversion mit Python 3.10 oder neuer verwendet. Python 3.10 hat den Vorschlag PEP 644 — Require OpenSSL 1.1.1 or newer proposal hinzugefügt.

Ältere Betriebssystemversionen haben nicht die neueste OpenSSL-Bibliothek, die Python 3.10 unterstützt. Daher kann die Installation des AWS Replication Agents das SSL-Zertifikat für den Application Migration Service- oder Elastic Disaster Recovery-Endpunkt nicht verifizieren.

Um diesen Fehler zu vermeiden, verwenden Sie eine ältere Version von Python, z. B. Version 2.7 oder 3.8.

BotoCore.Exceptions.CredentialRetrievalError

Beispiel für einen Fehler:

botocore.exceptions.CredentialRetrievalError: Error when retrieving credentials from cert: Oct 17, 2022 9:38:54 AM com.amazonaws.cloudendure.credentials_provider.SharedMain createAndSaveJks

Dieser Fehler kann auftreten, wenn Sie die AWS Replication Agent-Rolle AWSElasticDisasterRecoveryAgentRole/ AWSApplicationMigrationAgentRole ändern.

Um diesen Fehler zu beheben, stellen Sie sicher, dass die AWS Replication Agent-Rolle wie folgt lautet:

Dienst für die Anwendungsmigration

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "PrincipalGroup": {
        "AWS": "svc:mgn.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "sts:SourceIdentity": "s-*",
          "aws:SourceAccount": "AWSACCOUNTIDHERE"
        }
      }
    }
  ]
}

Elastische Notfallwiederherstellung

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "PrincipalGroup": {
        "AWS": "svc:drs.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity"
      ],
      "Condition": {
        "StringLike": {
          "aws:SourceAccount": "AWSACCOUNTIDHERE",
          "sts:SourceIdentity": "s-*"
        }
      }
    }
  ]
}

stderr: Ein Abhängigkeitsjob für aws-replication.target ist fehlgeschlagen.

Beispiel für einen Fehler:

stderr: A dependency job for aws-replication.target failed. See 'journalctl -xe' for details

Im Folgenden sind die beiden möglichen Ursachen für diesen Fehler aufgeführt:

  • Das Verzeichnis /var hat die Berechtigungen 754.
  • Beim Erstellen einer Linux-Gruppe für den AWS-Replikationsbenutzer ist ein Problem aufgetreten.

Um das /var-Problem zu lösen, führen Sie chmod 755 für das Verzeichnis /var aus.

Gehen Sie wie folgt vor, um das Linux-Gruppenproblem zu lösen:

1.Deinstallieren Sie AWS Replication Agent vollständig.

2.    Führen Sie die folgenden Befehle aus, um den AWS-Replication-Benutzer und die AWS-Replikationsgruppe zu löschen:

# userdel aws-replication
# groupdel aws-replication

3.Installieren Sie den AWS Replication Agent erneut.

Weitere Informationen und Installationsvoraussetzungen finden Sie unter:

Ausnahme im Thread „main“ com.amazonaws.services.drs.model.InternalServerException

Beispiel für einen Fehler:

Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException: An unexpected error has occurred (Service: Drs; Status Code: 500; Error Code: InternalServerException; Request ID: 4f4a76cb-aaec-44cc-a07a-c3579454ca55; Proxy: null)

Dieser Fehler tritt auf, wenn der Client den AWS STS-Endpunkt ausschaltet. Wenn der AWS STS-Endpunkt deaktiviert ist, kann Application Migration Service STS nicht aufrufen, um die Rolle im Kundenkonto zu übernehmen. Das Gleiche gilt für Elastic Disaster Recovery.

Um diesen Fehler zu beheben, schalten Sie den AWS STS-Endpunkt im Client ein. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von AWS STS in einer AWS-Region.

insmod: FEHLER: Modul konnte nicht eingefügt werden /aws-replication-driver.ko: Erforderlicher Schlüssel nicht verfügbar

Dieser Fehler tritt auf, wenn das Betriebssystem Secure Boot aktiviert hat. Application Migration Service und Elastic Disaster Recovery unterstützen keine Linux-Betriebssysteme mit aktiviertem Secure Boot.

Um diesen Fehler zu beheben, schalten Sie Secure Boot für das Linux-Betriebssystem aus. Schalten Sie auf den meisten Betriebssystemen den sicheren Start im Hypervisor aus.

insmod: FEHLER: Modul konnte nicht eingefügt werden /aws-replication-driver.ko: Speicher kann nicht zugewiesen werden

Beispiel für einen Fehler:

insmod: ERROR: could not insert module ./aws-replication-driver.ko: Cannot allocate memory
rmmod: ERROR: Module aws_replication_driver is not currently loaded
]
2023-03-16 10:27:08,416 ERROR      Exception during agent installation                                             
Traceback (most recent call last):
  File "cirrus/installer_shared/installer_main.py", line 308, in run_agent_installer_command_linux
  File "shared/installer_utils/command_utils.py", line 161, in run
shared.installer_utils.command_utils.RunException:
command: /tmp/tmp_t

Dieser Fehler tritt auf, wenn das Linux-Betriebssystem nicht über ausreichend Arbeitsspeicher für die Agenteninstallation verfügt.

Um diesen Fehler zu beheben, stellen Sie sicher, dass Ihr Betriebssystem über mindestens 300 MB freien Speicher verfügt.

Unerwarteter Fehler beim Erstellen des Agententreibers! Sind Kernel-Linux-Header korrekt installiert?

Beispiel für einen Fehler:

Unexpected error while making agent driver! Are kernel linux headers installed correctly?
Installation returned with code 1
Installation failed due to unspecified error:

Während der Agenteninstallation lädt die Installation ein passendes Kernel-Devel-Paket aus dem Paket-Repository herunter, das in Ihrem Linux-Betriebssystem konfiguriert ist. Dieser Fehler tritt auf, wenn der Workflow zur Agenteninstallation das passende Kernel-Devel-Paket nicht für den laufenden Kernel des Linux-Betriebssystems installieren kann.

Um diesen Fehler zu beheben, überprüfen Sie das Installationsprotokoll, um sicherzustellen, dass ein Problem beim Zugriff auf das Repository aufgetreten ist. Laden Sie dann das Kernel-Devel-Paket manuell aus dem Internet herunter. Führen Sie die Installation nach dem Herunterladen des Pakets erneut aus.

Sie können das passende Kernel-Devel/Linux-Headers-Paket von den folgenden Seiten herunterladen:

Der AWS Replication Agent installiert auch die für die Installation erforderlichen Abhängigkeiten, z. B.** make gcc perl tar gawk rpm**. Weitere Informationen finden Sie unter Linux-Installationsvoraussetzungen.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr