Como soluciono problemas de falha de instalação do Atendente AWS Replication na minha instância EC2 Linux?

7 minuto de leitura
0

Estou instalando o Atendente AWS Replication para o AWS Application Migration Service ou o AWS Elastic para Recuperação de Desastres. A instalação falhou na minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2).

Solução

Identificar o erro

O log do instalador do Atendente do AWS Replication, mostra erros começando no final do log. Execute o comando a seguir para ver a última página do log do instalador para determinar o erro. Em seguida, revise a seção a seguir relacionada ao erro.

less +G aws_replication_installer.log

A resolução a seguir aborda os erros mais comuns de instalação do Atendente do AWS Replication em sistemas operacionais Linux.

libz.so .1: falha ao mapear o segmento do objeto compartilhado: Operação não permitida

Exemplo de erro

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

O script de instalação usa o diretório /tmp. Se noexec estiver definido em**/tmp**,então, libz.so não poderá mapear segmentos. Quando isso ocorre, você recebe o erro operação não permitida.

Para resolver esse erro, faça o seguinte:

1.    Execute o seguinte comando para desmontar o /tmp:

# umount /tmp

2.    Execute o comando a seguir para montar o volume com permissão exec:

# sudo mount /tmp -o remount, exec

O token de segurança incluído na solicitação expirou

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

Esse erro geralmente é causado por uma função expirada do AWS Identify e no Access Management (IAM). Quando o perfil do IAM expira, as chamadas de API para o endpoint do Application Migration Service ou da Recuperação elástica de desastres.

Para resolver esse problema, atualize o perfil do IAM ou instale a função com uma chave de acesso ou chave de acesso secreta. Para obter mais informações, consulte:

modo rmmod: ERRO: O módulo aws\ _replication\ _driver não está carregado no momento

Exemplo de erro

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

Esse erro ocorre quando a inicialização segura é ativada na instância de origem. A inicialização segura não é suportada pelo Application Migration Service ou pela Recuperação Elástica de Desastres.

Para resolver esse erro, desative a inicialização segura na instância de origem.

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]

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

**Observação:**Além desse erro, você pode resolver a maioria dos erros de urllib/SSL usando o método a seguir.

Esse erro pode ocorrer se o cliente estiver usando uma versão mais antiga do sistema operacional com o Python 3.10 ou mais recente. O Python 3.10 adicionou o PEP 644 – Exige OpenSSL 1.1.1 ou uma proposta mais recente.

As versões mais antigas do sistema operacional não têm a biblioteca OpenSSL mais recente que suporta o Python 3.10. Portanto, a instalação do Atendente AWS Replication falha ao verificar o certificado SSL no endpoint do Application Migration Service ou da Recuperação Elástica de Desastres.

Para evitar esse erro, use uma versão mais antiga do Python, como a versão 2.7 ou 3.8.

botocore.exceptions.CredentialRetrievalError

Exemplo 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

Esse erro pode ocorrer se você modificar a função do Atendente de Replicação da AWS, AWSElasticDisasterRecoveryAgentRole/AWSApplicationMigrationAgentRole.

Para resolver esse erro, certifique-se de que a função do Atendente de Replicação da AWS seja a seguinte:

Serviço de Migração da Aplicação

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

Recuperação Elástica de Desastre

{
  "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: Falha em um trabalho de dependência do aws-replication.target.

Exemplo de erro:

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

A seguir, estão as duas possíveis causas deste erro:

  • O diretório /var tem as permissões de 754.
  • Ocorreu um erro ao criar um grupo Linux para o usuário aws-replication.

Para resolver o problema de /var, execute chmod 755 para o diretório /var.

Para resolver o problema do grupo Linux, faça o seguinte:

1.    Desinstale totalmente o Atendente o AWS Replication.

2.    Execute os seguintes comandos para excluir o aws-replication user e aws-replication group:

# userdel aws-replication
# groupdel aws-replication

3.    Reinstale o Atendente AWS Replication.

Para obter mais informações e pré-requisitos de instalação, consulte:

Exceção no tópico “main” com.amazonaws.services.drs.model.InternalServerException

Exemplo 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 se o cliente desligar o endpoint do AWS STS. Se o endpoint do AWS STS estiver desativado, o Application Migration Service não poderá chamar o STS para assumir a função na conta do cliente. O mesmo vale para a Recuperação Elástica de Desastres.

Para resolver esse erro, ative o endpoint do AWS STS no cliente. Para obter mais informações, consulte Ativando e desativando o AWS STS em uma região da AWS.

insmod: ERRO: não foi possível inserir o módulo ./aws-replication-driver.ko: Chave necessária não disponível

Esse erro ocorre se o sistema operacional tiver a inicialização segura ativada. O Application Migration Service e a Recuperação Elástica de Desastres não oferecem suporte a sistemas operacionais Linux com inicialização segura ativada.

Para resolver esse erro, desative a inicialização segura do sistema operacional Linux. Na maioria dos sistemas operacionais, desative a inicialização segura no hipervisor.

insmod: ERRO: não foi possível inserir o módulo ./aws-replication-driver.ko: Não é possível alocar memória

Exemplo de erro:

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

Esse erro ocorre se o sistema operacional Linux não tiver memória suficiente para a instalação do Atendente.

Para resolver esse erro, certifique-se de que seu sistema operacional tenha pelo menos 300 MB de memória livre.

Erro inesperado ao criar o drive do atendente! Os cabeçalhos do kernel linux estão instalados corretamente?

Exemplo de erro:

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

Durante a instalação do Atendente, a instalação baixa um pacote kernel-devel correspondente do repositório de pacotes configurado em seu sistema operacional Linux. Esse erro ocorre quando o fluxo de trabalho de instalação do atendente não consegue instalar o pacote kernel-devel correspondente no kernel em execução do sistema operacional Linux.

Para resolver esse erro, revise o log de instalação para verificar se houve um problema ao acessar o repositório. Em seguida, baixe o pacote kernel-devel manualmente da Internet. Depois de baixar o pacote, execute a instalação novamente.

Você pode baixar o pacote kernel-devel/linux-headers correspondente nos seguintes sites:

O Atendente AWS Replication também instala as dependências necessárias para a instalação, como,** make gcc perl tar gawk rpm**. Para mais informações, consulte: Requisitos de instalação do Linux.

AWS OFICIAL
AWS OFICIALAtualizada há um ano