Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Como soluciono uma falha de instalação do AWS Replication Agent no meu servidor Linux?
Quero instalar o AWS Replication Agent no AWS Application Migration Service ou no AWS Elastic Disaster Recovery, mas ocorreu uma falha na instalação.
Resolução
Para identificar problemas automaticamente ao instalar o Application Migration Service ou o atendente de replicação do Elastic Disaster Recovery em servidores de origem do Linux, use o runbook de automação AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. O runbook usa os arquivos de log de instalação do AWS Replication Agent para fornecer uma lista dos erros detectados e como resolvê-los.
Antes de iniciar o runbook AWSSupport-TroubleshootLinuxMGNDRSAgentLogs, certifique-se de que seu usuário ou perfil do AWS Identity and Access Management (AWS IAM) tenha as permissões necessárias. Para obter mais informações, consulte Permissões obrigatórias do IAM em AWSSupport-TroubleshootLinuxMGNDRSAgentLogs. Além disso, faça o upload do arquivo de log do agente de replicação installer-path/aws_replication_agent_installer.log em um bucket do Amazon Simple Storage Service (Amazon S3).
Para executar o AWSSupport-TroubleshootLinuxMGNDRSAgentLogs, consulte Instruções em AWSSupport-TroubleshootLinuxMGNDRSAgentLogs.
Configure os seguintes parâmetros de entrada para ServiceName (obrigatório):
- Para usar o Application Migration Service, selecione AWS MGN.
- Para usar o Elastic Disaster Recovery, selecione AWS DRS.
Ou execute o seguinte comando para identificar manualmente os erros de instalação do AWS Replication Agent:
less +G installer-path/aws_replication_agent_installer.log
Observação: substitua installer-path pelo caminho usado para instalar o atendente de replicação.
Com base no erro que você identificou, siga as seguintes etapas de solução de problemas para resolver o problema.
Erro "failed to map segment from shared object: Operation not permitted"
O script de instalação usa o diretório /tmp. Se você definir noexec em /tmp, libz.so não poderá mapear segmentos e você receberá a seguinte mensagem de erro:
"error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted"
Para resolver esse problema, execute o seguinte comando para montar o volume com permissões de execução:
# sudo mount /tmp -o remount,exec
Se você não quiser remover noexec do diretório /tmp, adicione a seguinte variável de ambiente ao comando:
TMPDIR='my_temp_dir' AGENT INSTALLATION COMMAND
Observação: substitua my_temp_dir por um diretório que não tenha noexec e AGENT INSTALLATION COMMAND pelo comando que você usa para instalar o agente.
Exemplo de comando:
TMPDIR='temp1' sudo chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init
erro "security token included in the request is expired"
Se seu perfil do IAM expirar, as chamadas de API falharão para o endpoint do Application Migration Service ou do Elastic Disaster Recovery e você receberá a seguinte mensagem de erro:
"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]"
Para resolver esse problema, solicite credenciais de segurança temporárias para gerar um novo token. Ou instale o perfil com uma chave de acesso ou chave de acesso secreta no Application Migration Service ou Elastic Disaster Recovery.
Erro "ssl.SSLCertVerificationError"
Se você usa uma versão anterior do sistema operacional (SO) com o Python 3.10 ou posterior, talvez receba a seguinte mensagem de erro:
"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"
As versões anteriores do sistema operacional não têm a biblioteca OpenSSL mais recente que oferece suporte ao Python 3.10. Para obter mais informações, consulte PEP 644 -- Require OpenSSL 1.1.1 or newer (PEP 644 -- Require OpenSSL 1.1.1 ou mais recente) no site Python Enhancement Proposals. Nesse caso, a instalação do AWS Replication Agent não consegue verificar o certificado SSL no endpoint do Application Migration Service ou do Elastic Disaster Recovery.
Para evitar esse problema, use uma versão anterior do Python, como a versão 2.7 ou 3.8.
Observação: para resolver a maioria dos erros "urllib" ou "SSL", use uma versão anterior do Python.
Erro "botocore.exceptions.CredentialRetrievalError"
Ao modificar o perfil de serviço do IAM AWSElasticDisasterRecoveryAgentRole ou AWSApplicationMigrationAgentRole, você recebe a seguinte mensagem de erro:
"botocore.exceptions.CredentialRetrievalError: Error when retrieving credentials from cert: Oct 17, 2022 9:38:54 AM com.amazonaws.cloudendure.credentials_provider.SharedMain createAndSaveJks"
Para resolver esse problema, atualize a política de permissões do perfil de serviço do IAM com base no serviço que você usa.
Política de permissões do 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" } } } ]
Observação: substitua AWS-Account-Number pelo ID da sua conta da AWS.
Política de permissões do 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" } } } ] }
Observação: substitua AWS-Account-Number pelo ID da sua conta.
Erro "A dependency job for aws-replication.target failed"
Se o diretório /var tiver 754 permissões ou se houver um problema ao criar um grupo do Linux para o usuário aws-replication, você receberá a seguinte mensagem de erro:
"stderr: A dependency job for aws-replication.target failed. See 'journalctl -xe' for details"
Para resolver o problema de /var, execute o seguinte comando:
sudo chmod 755 /var
Para resolver o problema do grupo do Linux, conclua as seguintes etapas:
-
Desinstale o AWS Replication Agent no Application Migration Service ou Elastic Disaster Recovery.
-
Execute os seguintes comandos para excluir o usuário aws-replication e o grupo aws-replication:
sudo userdel aws-replication sudo groupdel aws-replication -
Reinstale o AWS Replication Agent no Application Migration Service ou Elastic Disaster Recovery.
Para consultar os pré-requisitos de instalação do Application Migration Service, consulte Installation requirements (Requisitos de instalação). Para o Elastic Disaster Recovery, consulte Installation requirements for AWS Replication Agent (Requisitos de instalação do AWS Replication Agent).
Erro "Exception in thread "main" com.amazonaws.services.drs.model.InternalServerException"
Se você desativar o endpoint do AWS Security Token Service (AWS STS), receberá a seguinte mensagem de erro:
"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"
Esse erro ocorre porque o Application Migration Service e o Elastic Disaster Recovery chamam o AWS STS para assumir o perfil na conta do cliente. Para resolver esse problema, ative o endpoint do STS no cliente.
Erro "could not insert module ./aws-replication-driver.ko:"
Se você ativou o SecureBoot no servidor de origem, receberá uma das seguintes mensagens de erro:
"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"
Não é possível usar o SecureBoot em um sistema operacional Linux com o Application Migration Service ou o Elastic Disaster Recovery.
Para resolver esse problema, desative o SecureBoot para o sistema operacional Linux.
Observação: normalmente, você usa o hipervisor para desativar o SecureBoot.
Para verificar o status do SecureBoot, execute o seguinte comando:
sudo mokutil --sb-state
erro "could not insert module ./aws-replication-driver.ko: Cannot allocate memory"
Se o sistema operacional Linux não tiver memória suficiente para instalar o atendente, você receberá a seguinte mensagem de erro:
"insmod: ERROR: could not insert module ./aws-replication-driver.ko: Cannot allocate memory"
Para resolver esse problema, certifique-se de que seu sistema operacional tenha pelo menos 300 MB de memória livre ao executar a instalação. Esse problema pode ocorrer devido à fragmentação da memória. Para resolver problemas de fragmentação de memória, reinicialize o servidor de origem. Além disso, verifique se softwares de segurança ou antivírus, como Falcon, Trend Micro, SentinelOne ou McAfee, protegem a memória ou o kernel, o que pode bloquear a instalação do atendente.
Erros "Unexpected error while making agent driver! ", "Kernel development package ...missing from repositories", or "Kernel development or header package...did not install"
Quando você instala o atendente, a instalação baixa um pacote kernel-devel que corresponde ao seu pacote kernel que está em execução atualmente. É possível encontrar o pacote atual no repositório de pacotes que está configurado no seu sistema operacional Linux. Se a instalação do atendente não conseguir instalar o pacote kernel-devel no kernel em execução do sistema operacional Linux, você receberá uma das seguintes mensagens de erro:
"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"
Para resolver esse problema, analise o log de instalação para verificar se há problemas de acesso ao repositório.
Em seguida, pesquise e baixe manualmente o pacote kernel-devel com base na sua distribuição:
- Para o diretório de pacotes do Red Hat Enterprise Linux (RHEL), CentOS, Oracle e SUSE, consulte Search (Pesquisar) no site do RPM.
- Para Debian, consulte Packages (Pacotes) no site do Debian.
- Para o Ubuntu, consulte a Ubuntu packages search (Pesquisa de pacotes do Ubuntu) no site de pacotes do Ubuntu.
Depois de baixar o pacote, execute a instalação novamente. O AWS Replication Agent também instala dependências que a instalação exige, como make gcc perl tar gawk rpm. Para obter mais informações, consulte Linux installation requirements (Requisitos de instalação do Linux).
Informações relacionadas
Troubleshooting agent issues (Solução de problemas do atendente)
Troubleshooting Elastic Disaster Recovery (Solução de problemas do Elastic Disaster Recovery)
Troubleshooting (Solução de problemas) (Application Migration Service)
- Idioma
- Português
