Come faccio a risolvere un errore di installazione di AWS Replication Agent sull’istanza Linux EC2?

7 minuti di lettura
0

Voglio installare AWS Replication Agent per AWS Application Migration Service o AWS Elastic Disaster Recovery. L'installazione non è riuscita sull’istanza Linux Amazon Elastic Compute Cloud (Amazon EC2).

Risoluzione

La seguente risoluzione copre gli errori di installazione più comuni di AWS Replication Agent sui sistemi operativi (SO) Linux.

Identifica l'errore

Il log di installazione dell’AWS Replication Agent mostra gli errori alla fine del log.

Esegui il seguente comando per visualizzare l'ultima pagina del log di installazione e determinare l'errore:

less +G aws_replication_installer.log

Per risolvere l'errore riscontrato, segui la procedura nella sezione relativa all'errore.

Errore: impossibile mappare il segmento dall'oggetto condiviso: Operazione non consentita

Esempio di errore:

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

Lo script di installazione utilizza la directory /tmp. Senoexec è impostato su**/tmp**,libz.so non può mappare i segmenti. In questo caso, viene visualizzato l'errore Operazione non consentita.

Per risolvere questo errore, esegui il comando seguente per montare il volume con il permesso di esecuzione:

# sudo mount /tmp -o remount,exec

Error: security token included in the request is expired

Esempio di errore

"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]"

Questo errore è spesso causato da un ruolo AWS Identify and Access Management (IAM) scaduto. Quando il ruolo IAM scade, le chiamate API all'Application Migration Service o all'endpoint Elastic Disaster Recovery falliscono.

Per risolvere questo problema, aggiorna il ruolo IAM o installa il ruolo con una chiave di accesso o una chiave di accesso segreta. Per maggiori informazioni consulta la seguente documentazione di AWS:

Error: Il modulo aws\ _replication\ _driver non è attualmente caricato

Esempio di errore

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

Questo errore si verifica quando l'avvio sicuro è attivato nell'istanza di origine. Application Migration Service ed Elastic Disaster Recovery non supportano l'avvio sicuro.

Per risolvere questo errore, disattiva l'avvio sicuro nell'istanza di origine.

Error: ssl.SSLCertVerificationError

Esempio di errore

"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>"

Questo errore può verificarsi quando il client utilizza una versione precedente del sistema operativo con Python 3.10 o successiva. Python 3.10 ha aggiunto la proposta PEP 644 — Require OpenSSL 1.1.1 o versione successiva sul loro sito web Python Enhancement Proposals.

Le versioni precedenti del SO non dispongono della libreria più recente OpenSSL che supporta Python 3.10. Pertanto, l'installazione di AWS Replication Agent non riesce a verificare il certificato SSL sull'endpoint dell’Application Migration Service o dell’Elastic Disaster Recovery.

Per evitare questo errore, usa una versione precedente di Python, come la versione 2.7 o 3.8.

Nota: per risolvere la maggior parte degli errori urllib/SSL, usa una versione precedente di Python.

Error: botocore.exceptions.CredentialRetrievalError

Esempio di errore:

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

Questo errore può verificarsi quando si modifica il ruolo AWS Replication Agent AWSElasticDisasterRecoveryAgentRole per Elastic Disaster Recovery e AWSApplicationMigrationAgentRole per Application Migration Service.

Per risolvere questo errore, assicurati che il ruolo dell'AWS Replication Agent sia il seguente:

Application Migration Service

{
  "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"
        }
      }
    }
  ]
}

Elastic Disaster Recovery

{
  "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-*"
        }
      }
    }
  ]
}

Error: A dependency job for aws-replication.target failed.

Esempio di errore:

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

Esistono due possibili cause di questo errore:

  • La directory /var ha i permessi di 754.
  • Si è verificato un problema durante la creazione di un gruppo Linux per l'utente aws-replication.

Per risolvere il problema /var, esegui chmod 755 per la directory /var.

Per risolvere il problema del gruppo Linux, completa i seguenti passaggi:

  1. Disinstalla AWS Replication Agent.

  2. Esegui i seguenti comandi per eliminare l'utente aws-replication e il gruppo aws-replication:

    # userdel aws-replication
    # groupdel aws-replication
  3. Reinstalla AWS Replication Agent.

Per ulteriori informazioni e prerequisiti di installazione, consulta la seguente documentazione AWS:

Error: Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException

Esempio di errore:

"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"

Questo errore si verifica quando il client disattiva il servizio di token di sicurezza AWS (AWS STS). Quando l'endpoint STS è disattivato, Application Migration Service o Elastic Disaster Recovery non possono chiamare AWS STS per assumere il ruolo nell'account cliente.

Per risolvere questo errore, attiva l'endpoint STS nel client.

Error: could not insert module ./aws-replication-driver.ko: Chiave richiesta non disponibile

Questo errore si verifica quando nel sistema operativo è attivato l'avvio sicuro. Application Migration Service ed Elastic Disaster Recovery non supportano i sistemi operativi Linux con avvio sicuro attivato.

Per risolvere questo errore, disattiva l'avvio sicuro per il SO Linux. Sulla maggior parte dei sistemi operativi, disattiva l'avvio sicuro nell'hypervisor.

Error: could not insert module ./aws-replication-driver.ko: Cannot allocate memory

Esempio di errore:

"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"

Questo errore si verifica quando il SO Linux non dispone di memoria sufficiente per l'installazione dell'agente.

Per risolvere questo errore, assicurati che il tuo SO disponga di almeno 300 MB di memoria libera.

Error: Unexpected error while making agent driver! Le intestazioni del kernel linux sono installate correttamente?

Esempio di errore:

"Unexpected error while making agent driver! Le intestazioni del kernel linux sono installate correttamente? Installation returned with code 1Installation failed due to unspecified error:"

Quando si installa l'agente, l'installazione scarica un pacchetto kernel-devel che corrisponde al pacchetto corrente. Puoi trovare il pacchetto corrente nel repository dei pacchetti configurato nel tuo SO Linux.

Questo errore si verifica quando il flusso di lavoro di installazione dell'agente non riesce a installare il pacchetto kernel-devel corrispondente sul kernel in esecuzione del SO Linux.

Per risolvere questo errore, consulta il log di installazione per verificare che il problema sia dovuto all'accesso al repository. Quindi, scarica il pacchetto kernel-devel manualmente da Internet. Dopo aver scaricato il pacchetto, esegui nuovamente l'installazione.

È possibile scaricare il pacchetto kernel-devel dai seguenti siti Web:

AWS Replication Agent installa anche le dipendenze necessarie per l'installazione, comemake gcc perl tar gawk rpm. Per ulteriori informazioni, consulta Requisiti di installazione Linux.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa