Passer au contenu

Comment résoudre l'échec d'installation d'un AWS Replication Agent sur mon serveur Linux ?

Lecture de 8 minute(s)
0

Je souhaite installer l’AWS Replication Agent pour AWS Application Migration Service ou AWS Elastic Disaster Recovery, mais l’installation a échoué.

Résolution

Pour identifier automatiquement les problèmes liés à l'installation d’Application Migration Service ou de l'agent de réplication Elastic Disaster Recovery sur des serveurs sources Linux, utilisez le dossier d'exploitation AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. Le dossier d'exploitation utilise les fichiers journaux d'installation de l'agent de réplication AWS pour fournir la liste des erreurs détectées et la manière de les résoudre.

Avant de démarrer le dossier d’exploitation AWSSupport-TroubleshootLinuxMGNDRSAgentLogs, assurez-vous que votre utilisateur ou votre rôle Gestion des identités et des accès AWS (AWS IAM) dispose des autorisations requises. Pour plus d'informations, consultez la section Autorisations IAM requises sur AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. Téléchargez également le fichier journal de l'agent de réplication installer-path/aws_replication_agent_installer.log vers un compartiment Amazon Simple Storage Service (Amazon S3).

Pour exécuter AWSSupport-TroubleshootLinuxMGNDRSAgentLogs, consultez Instructions sur AWSSupport-TroubleshootLinuxMGNDRSAgentLogs.

Configurez les paramètres d'entrée suivants pour ServiceName (obligatoire) :

  • Pour utiliser Application Migration Service, sélectionnez AWS MGN.
  • Pour utiliser Elastic Disaster Recover, sélectionnez AWS DRS.

Vous pouvez également exécuter la commande suivante pour identifier manuellement les erreurs d'installation de l'AWS Replication Agent :

less +G installer-path/aws_replication_agent_installer.log

Remarque : Remplacez installer-path par le chemin utilisé pour installer l'agent de réplication.

En fonction de l'erreur que vous avez identifiée, suivez les étapes de résolution de problèmes suivantes pour résoudre le problème.

Erreur « failed to map segment from shared object: Operation not permitted »

Le script d'installation utilise le répertoire /tmp. Si vous définissez noexec sur /tmp, libz.so ne peut pas mapper les segments et le message d'erreur suivant s'affiche :

« error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted »

Pour résoudre cette erreur, exécutez la commande suivante pour monter le volume avec les autorisations d'exécution :

# sudo mount /tmp -o remount,exec

Si vous ne souhaitez pas supprimer noexec du répertoire /tmp, ajoutez la variable d'environnement suivante à la commande :

TMPDIR='my_temp_dir' AGENT INSTALLATION COMMAND

Remarque : Remplacez my_temp_dir par un répertoire qui ne contient pas noexec et la COMMANDE D’INSTALLATION DE L’AGENT par la commande que vous utilisez pour installer l'agent.

Exemple de commande :

TMPDIR='temp1' sudo chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init

Erreur « security token included in the request is expired »

Si votre rôle IAM expire, les appels d'API échouent vers le point de terminaison Application Migration Service ou Elastic Disaster Recovery et le message d'erreur suivant s'affiche :

« 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] »

Pour résoudre ce problème, demandez des informations d'identification de sécurité temporaires pour générer un nouveau jeton. Vous pouvez également installer le rôle à l'aide d'une clé d'accès ou d'une clé d'accès secrète pour Application Migration Service ou Elastic Disaster Recovery.

Erreur « ssl.SSLCertVerificationError »

Si vous utilisez une version antérieure du système d'exploitation (OS) avec Python 3.10 ou une version ultérieure, le message d'erreur suivant peut s'afficher :

« 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 »

Les anciennes versions du système d'exploitation ne disposent pas de la bibliothèque OpenSSL la plus récente compatible avec Python 3.10. Pour plus d'informations, consultez PEP 644 -- Exiger OpenSSL 1.1.1 ou une version ultérieure sur le site Web de Python Enhancement Proposals. Dans ce scénario, l'installation d'AWS Replication Agent ne peut donc pas vérifier le certificat SSL auprès d’Application Migration Service ou du point de terminaison Elastic Disaster Recovery.

Pour éviter cette erreur, utilisez une ancienne version de Python, telle que la version 2.7 ou 3.8.

Remarque : Pour résoudre la plupart des erreurs « urllib » ou « SSL », utilisez une version antérieure de Python.

Erreur « botocore.exceptions.CredentialRetrievalError »

Lorsque vous modifiez le rôle de service IAM AWSElasticDisasterRecoveryAgentRole ou AWSApplicationMigrationAgentRole, le message d'erreur suivant s'affiche :

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

Pour résoudre ce problème, mettez à jour la politique d'autorisations pour le rôle de service IAM en fonction du service que vous utilisez.

Politique d'autorisations d’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"  
                }  
            }  
        }  
    ]

Remarque : Remplacez AWS-Account-Number par votre ID de compte AWS.

Politique d'autorisations d'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"  
                }  
            }  
        }  
    ]  
}

Remarque : Remplacez AWS-Account-Number par votre ID de compte.

Erreur « A dependency job for aws-replication.target failed »

Si le répertoire /var possède 754 autorisations ou si un problème est survenu lors de la création d'un groupe Linux pour l'utilisateur aws-replication, le message d'erreur suivant s'affiche :

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

Pour résoudre le problème /var, exécutez la commande suivante :

sudo chmod 755 /var

Pour résoudre le problème du groupe Linux, procédez comme suit :

  1. Désinstallez l’AWS Replication Agent pour Application Migration Service ou Elastic Disaster Recovery.

  2. Exécutez les commandes suivantes pour supprimer l'utilisateur aws-replication et le groupe aws-replication :

    sudo userdel aws-replication
    sudo groupdel aws-replication
  3. Réinstallez l’AWS Replication Agent pour Application Migration Service ou Elastic Disaster Recovery.

Pour connaître les prérequis d'installation pour Application Migration Service, consultez la section Exigences d'installation. Pour Elastic Disaster Recovery, consultez la section Exigences d'installation pour l’AWS Replication Agent.

Erreur « Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException »

Si vous désactivez le point de terminaison AWS Security Token Service (AWS STS), le message d'erreur suivant s'affiche :

« 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 »

Cette erreur se produit car Application Migration Service et Elastic Disaster Recovery appellent AWS STS afin qu'il endosse le rôle dans le compte client. Pour résoudre ce problème, activez le point de terminaison STS dans le client.

Erreur « could not insert module ./aws-replication-driver.ko: »

Si vous avez activé SecureBoot sur le serveur source, l'un des messages d'erreur suivants s'affiche :

« insmod: ERROR: could not insert module ./aws-replication-driver.ko: Required key not available »

-ou-

« insmod: ERROR: could not insert module ./aws-replication-driver.ko: Key was rejected by service »

Vous ne pouvez pas utiliser SecureBoot sur un système d'exploitation Linux avec Application Migration Service ou Elastic Disaster Recovery.

Pour résoudre ce problème, désactivez SecureBoot pour le système d'exploitation Linux.

Remarque : Généralement, vous utilisez l'hyperviseur pour désactiver SecureBoot.

Pour vérifier l'état de SecureBoot, exécutez la commande suivante :

sudo mokutil --sb-state

Erreur « could not insert module ./aws-replication-driver.ko: Cannot allocate memory »

Si votre système d'exploitation Linux ne dispose pas d’une quantité suffisante de mémoire pour installer l'agent, le message d'erreur suivant s'affiche :

« insmod: ERROR: could not insert module ./aws-replication-driver.ko: Cannot allocate memory »

Pour résoudre ce problème, assurez-vous que votre système d'exploitation dispose d'une mémoire disponible d’au moins 300 Mo lorsque vous exécutez l'installation. Ce problème peut se produire en raison de la fragmentation de la mémoire. Pour résoudre les problèmes de fragmentation de la mémoire, redémarrez le serveur source. Vérifiez également si des logiciels de sécurité ou antivirus tels que Falcon, Trend Micro, SentinelOne ou McAfee protègent la mémoire ou le noyau et peuvent bloquer l'installation de l'agent.

Erreurs « Unexpected error while making agent driver! », « Kernel development package ...missing from repositories » ou « Kernel development or header package...did not install »

Lorsque vous installez l'agent, l'installation télécharge un package kernel-devel qui correspond à votre package de noyau en cours d’exécution actuel. Vous pouvez trouver le package actuel dans le référentiel de packages configuré sur votre système d'exploitation Linux. Si l'installation de l'agent ne parvient pas à installer le package kernel-devel dans le noyau en cours d'exécution du système d'exploitation Linux, l'un des messages d'erreur suivants s'affiche :

« Unexpected error while making agent driver! Are kernel linux headers installed correctly? »

-ou-

« Kernel development package for '************' are missing from repositories »

-ou-

« Kernel development or header package for ************ did not install »

Pour résoudre ce problème, consultez le journal d'installation pour vérifier l’existence de problèmes d'accès au référentiel.

Puis, recherchez et téléchargez manuellement le package kernel-devel en fonction de votre distribution :

  • Pour le répertoire des packages Red Hat Enterprise Linux (RHEL), CentOS, Oracle et SUSE, consultez la page Rechercher sur le site Web de RPM.
  • Pour Debian, consultez la page Packages sur le site Web de Debian.
  • Pour Ubuntu, consultez la section Recherche de packages Ubuntu sur le site Web des packages Ubuntu.

Après avoir téléchargé le package, relancez l'installation. L'AWS Replication Agent installe également les dépendances requises pour l'installation, telles que make gcc perl tar gawk rpm. Pour plus d’informations, consultez la section Exigences d’installation de Linux.

Informations connexes

Résolution des problèmes liés à l'agent

Résolution des problèmes liés à Elastic Disaster Recovery

Résolution des problèmes (Application Migration Service)