Wie behebe ich den Installationsfehler des AWS Replication Agents auf meinem Linux-Server?
Ich möchte den AWS Replication Agent für AWS Application Migration Service oder AWS Elastic Disaster Recovery installieren, aber die Installation ist fehlgeschlagen.
Lösung
Um Probleme bei der Installation des Application Migration Service oder des Elastic Disaster Recovery-Replikationsagenten auf Linux-Quellservern automatisch zu identifizieren, verwende das Automatisierungs-Runbook AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. Das Runbook verwendet die Installationsprotokolldateien von AWS Replication Agent, um eine Liste der erkannten Fehler und deren Behebung bereitzustellen.
Bevor du das Runbook AWSSupport-TroubleshootLinuxMGNDRSAgentLogs startest, stelle sicher, dass die AWS Identify and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Benutzer bzw. die IAM-Rolle über die erforderlichen Berechtigungen verfügt. Weitere Informationen findest du unter Erforderliche IAM-Berechtigungen für AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. Lade außerdem die Replikationsagenten-Protokolldatei installer-path/aws_replication_agent_installer.log in einen Amazon Simple Storage Service (Amazon S3)-Bucket hoch.
Informationen zum Ausführen von AWSSupport-TroubleshootLinuxMGNDRSAgentLogs findest du in den Anweisungen für AWSSupport-TroubleshootLinuxMGNDRSAgentLogs.
Konfiguriere die folgenden Eingabeparameter für ServiceName (erforderlich):
- Um den Application Migration Service zu verwenden, wähle AWS MGN aus.
- Um Elastic-Notfallwiederherstellung zu verwenden, wähle AWS DRS aus.
Oder führe den folgenden Befehl aus, um Installationsfehler von AWS Replication Agent manuell zu identifizieren:
less +G installer-path/aws_replication_agent_installer.log
Hinweis: Ersetze installer-path durch den Pfad, der für die Installation des Replikationsagenten verwendet wurde.
Gehe auf der Grundlage des identifizierten Fehlers wie folgt vor, um das Problem zu beheben.
Fehler „failed to map segment from shared object: Operation not permitted“
Das Installationsskript verwendet das Verzeichnis**/tmp**. Wenn du noexec auf /tmp setzt, kann libz.so keine Segmente zuordnen und du erhältst die folgende Fehlermeldung:
„error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted“
Um dieses Problem zu beheben, führe den folgenden Befehl aus, um das Volume mit Ausführungsberechtigung einzubinden:
# sudo mount /tmp -o remount,exec
Wenn du noexec nicht aus dem Verzeichnis /tmp entfernen möchtest, füge dem Befehl die folgende Umgebungsvariable hinzu:
TMPDIR='my_temp_dir' AGENT INSTALLATION COMMAND
Hinweis: Ersetze my_temp_dir durch ein Verzeichnis ohne noexec und AGENT INSTALLATION COMMAND durch den Befehl, den du zur Installation des Agenten verwendest.
Beispielbefehl:
TMPDIR='temp1' sudo chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init
Fehler „security token included in the request is expired“
Wenn deine IAM-Rolle abläuft, schlagen API-Aufrufe beim Application Migration Service- oder Elastic Disaster Recovery-Endpunkt fehl und du erhältst die folgende Fehlermeldung:
„botocore.exceptions.ClientError: Beim Aufrufen der Operation GetAgentInstallationAssetsForDrs ist ein Fehler aufgetreten (ExpiredTokenException): Das in der Anfrage enthaltene Sicherheitstoken ist abgelaufen [installation_id: 1a9af9d3-9485-4e02-965e-611929428c61, agent_version: 3.7.0, mac_addresses: 206915885515739,206915885515740,_origin_client_type: installer]“
Um dieses Problem zu beheben, fordere temporäre Sicherheitsanmeldeinformationen an, um ein neues Token zu generieren. Oder installiere die Rolle mit einem Zugriffsschlüssel oder einem geheimen Zugriffsschlüssel für Application Migration Service oder Elastic Disaster Recovery.
Fehler „ssl.SSLCertVerificationError“
Wenn du eine frühere Betriebssystemversion (OS) mit Python 3.10 oder höher verwendest, wird möglicherweise die folgende Fehlermeldung angezeigt:
„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“
Ältere Betriebssystemversionen haben nicht die neueste OpenSSL-Bibliothek, die Python 3.10 unterstützt. Weitere Informationen findest du unter PEP 644 -- Require OpenSSL 1.1.1 or newer auf der Python Enhancement Proposals-Website. In diesem Szenario kann die Installation des AWS Replication Agents das SSL-Zertifikat für den Application Migration Service- oder Elastic Disaster Recovery-Endpunkt nicht verifizieren.
Um dieses Problem zu vermeiden, verwende eine ältere Version von Python, z. B. Version 2.7 oder 3.8.
Hinweis: Verwende eine frühere Version von Python, um die meisten „urllib“- oder „SSL“- Fehler zu beheben.
Fehler „botocore.exceptions.CredentialRetrievalError“
Wenn du die IAM-Servicerolle AWSElasticDisasterRecoveryAgentRole oder AWSApplicationMigrationAgentRole änderst, wird die folgende Fehlermeldung angezeigt:
„botocore.exceptions.CredentialRetrievalError: Error when retrieving credentials from cert: Oct 17, 2022 9:38:54 AM com.amazonaws.cloudendure.credentials_provider.SharedMain createAndSaveJks“
Um dieses Problem zu beheben, aktualisiere die Berechtigungsrichtlinie für die IAM-Servicerolle auf der Grundlage des verwendeten Service.
Berechtigungsrichtlinie für den Application Migration Service:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "mgn.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "sts:SourceIdentity": "s-*", "aws:SourceAccount": "AWS-Account-Number" } } } ]
Hinweis: Ersetze AWS-Account-Number durch deine AWS-Konto-ID.
Berechtigungsrichtlinie für Elastic Disaster Recovery:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "drs.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "sts:SourceIdentity": "s-*", "aws:SourceAccount": "AWS-Account-Number" } } } ] }
Hinweis: Ersetze AWS-Account-Number durch deine Konto-ID.
Fehler „A dependency job for aws-replication.target failed“
Wenn das Verzeichnis /var 754-Berechtigungen hat oder beim Erstellen einer Linux-Gruppe für den aws-replication-Benutzer ein Problem aufgetreten ist, wird die folgende Fehlermeldung angezeigt:
„stderr: A dependency job for aws-replication.target failed. See 'journalctl -xe' for details“
Führe den folgenden Befehl aus, um das /var-Problem zu beheben:
sudo chmod 755 /var
Gehe wie folgt vor, um das Linux-Gruppenproblem zu lösen:
-
Deinstalliere den AWS Replication Agent for Application Migration Service oder Elastic Disaster Recovery.
-
Führe die folgenden Befehle aus, um den aws-replication-Benutzer und die aws-replication-Gruppe zu löschen:
sudo userdel aws-replication sudo groupdel aws-replication -
Installiere den AWS Replication Agent für Application Migration Service oder Elastic Disaster Recovery erneut.
Die Installationsvoraussetzungen für Application Migration Service findest du unter Installationsvoraussetzungen. Informationen zu Elastic Disaster Recovery findest du unter Installationsvoraussetzungen für AWS Replication Agent.
Fehler „Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException“
Wenn du den AWS Security Token Service (AWS STS)-Endpunkt deaktivierst, erhältst du die folgende Fehlermeldung:
„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, weil Application Migration Service und Elastic Disaster Recovery AWS STS aufrufen, um die Rolle im Kundenkonto zu übernehmen. Um dieses Problem zu beheben, aktiviere den STS-Endpunkt im Client.
Fehler „could not insert module ./aws-replication-driver.ko:“
Wenn du SecureBoot auf dem Quellserver aktiviert hast, erhältst du eine der folgenden Fehlermeldungen:
„insmod: ERROR: could not insert module ./aws-replication-driver.ko: Required key not available“
-oder-
„insmod: ERROR: could not insert module ./aws-replication-driver.ko: Key was rejected by service“
Du kannst SecureBoot nicht in einem Linux-Betriebssystem mit Application Migration Service oder Elastic Disaster Recovery verwenden.
Um dieses Problem zu beheben, deaktiviere SecureBoot für das Linux-Betriebssystem.
Hinweis: In der Regel verwendest du den Hypervisor, um SecureBoot zu deaktivieren.
Führe den folgenden Befehl aus, um den SecureBoot-Status zu überprüfen:
sudo mokutil --sb-state
Fehler „could not insert module ./aws-replication-driver.ko: Cannot allocate memory“
Wenn dein Linux-Betriebssystem nicht über genügend Speicher verfügt, um den Agenten zu installieren, erhältst du die folgende Fehlermeldung:
„insmod: ERROR: could not insert module ./aws-replication-driver.ko: Cannot allocate memory“
Um dieses Problem zu beheben, stelle sicher, dass dein Betriebssystem über mindestens 300 MB freien Speicher verfügt, wenn du die Installation ausführst. Dieses Problem kann aufgrund einer Speicherfragmentierung auftreten. Starte den Quellserver neu, um Probleme mit der Speicherfragmentierung zu beheben. Prüfe außerdem, ob Sicherheits- oder Antivirensoftware wie Falcon, Trend Micro, SentinelOne oder McAfee einen Speicher- oder Kernel-Schutz verursacht, der die Agenteninstallation blockieren kann.
Fehler „Unexpected error while making agent driver!“, „Kernel development package ...missing from repositories“ oder „Kernel development or header package...did not install“
Wenn du den Agent installierst, lädt die Installation ein kernel-devel-Paket herunter, das deinem aktuellen Kernel-Paket entspricht. Du findest das aktuelle Paket im Paket-Repository, das in deinem Linux-Betriebssystem konfiguriert ist. Wenn die Agenteninstallation das kernel-devel-Paket im laufenden Kernel des Linux-Betriebssystems nicht installieren kann, erhältst du eine der folgenden Fehlermeldungen:
„Unexpected error while making agent driver! Are kernel linux headers installed correctly?“
-oder-
„Kernel development package for '************' are missing from repositories“
-oder-
„Kernel development or header package for ************ did not install“
Um dieses Problem zu beheben, überprüfe das Installationsprotokoll auf Probleme mit dem Repository-Zugriff.
Suche dann nach dem „kernel-devel“-Paket, das deiner Distribution entspricht, und lade es manuell herunter:
- Informationen zum Paketverzeichnis von Red Hat Enterprise Linux (RHEL), CentOS, Oracle und SUSE findest du unter Suchen auf der RPM-Website.
- Für Debian siehe Packages auf der Debian-Website.
- Für Ubuntu siehe Ubuntu packages search auf der Ubuntu-Paket-Website.
Führe die Installation nach dem Herunterladen des Pakets erneut aus. Der AWS Replication Agent installiert auch die für die Installation erforderlichen Abhängigkeiten, z. B. make gcc perl tar gawk rpm. Weitere Informationen findest du unter Linux-Installationsvoraussetzungen.
Ähnliche Informationen
Beheben von Problemen mit dem Agent
Problembehandlung bei Elastic Disaster Recovery
Problembehandlung (Application Migration Service)
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 6 Monaten
AWS OFFICIALAktualisiert vor 3 Jahren