Algumas instâncias ECS de nível empresarial suportam eRDMA. Esse recurso oferece um serviço de rede RDMA de latência ultrabaixa, alta taxa de transferência e alta elasticidade, sem exigir alterações na arquitetura de rede existente. Este tópico explica como ativar o eRDMA em instâncias ECS de nível empresarial.
Limitações
Limitação | Descrição |
Tipo de instância | Os seguintes tipos de instância suportam eRDMA: |
Imagem |
Nota As imagens disponíveis variam conforme o tipo de instância. A página de compra da instância exibe apenas as imagens compatíveis com o tipo de instância selecionado. |
Número de dispositivos eRDMA | Para determinar o número máximo de ERIs que um tipo de instância suporta, verifique o valor do parâmetro EriQuantity na resposta da operação DescribeInstanceTypes. Um valor igual a 0 indica que o tipo de instância não suporta ERIs. |
Limitações de rede |
|
Configurar eRDMA em instâncias empresariais
Durante a criação da instância
Se o sistema operacional não suportar a instalação automática do driver eRDMA ou se a instalação automática falhar, instale o driver manualmente ou por meio de script após a criação da instância. Para mais informações, consulte Para instâncias existentes.
A instalação do driver eRDMA começa após a inicialização da instância e pode levar algum tempo para ser concluída.
Crie uma instância de nível empresarial que suporte o recurso ERI. Observe os seguintes parâmetros ao criar a instância. Para informações sobre outros parâmetros, consulte Criar uma instância usando o assistente.
Instances & Images: Selecione um tipo de instância que suporte eRDMA e instale o driver eRDMA.
Instance: Para mais informações, consulte Limitações.
Images: Selecione Public Image e, em seguida, selecione Install eRDMA Driver. O driver eRDMA é instalado automaticamente quando a instância é iniciada.

ENIs: À direita de Primary ENI, ative o recurso ERI para vincular uma ERI à instância ECS.
NotaAo criar uma instância de nível empresarial, você pode ativar o recurso ERI apenas para a ENI primária. Se precisar configurar o eRDMA para uma ENI secundária, ative o recurso ERI para a ENI secundária no console ou chamando uma operação de API. Para mais informações, consulte Placa de interface de rede Elastic RDMA (ERI).
Para instâncias existentes
Verifique se o tipo de instância está na lista de tipos de instância que suportam eRDMA.
Selecione um tipo de instância que suporte
eRDMA.Verifique a configuração do eRDMA na instância.
Verifique se o eRDMA está configurado corretamente na instância. Para mais informações, consulte Verificar a configuração do eRDMA.
Se o eRDMA não estiver configurado, instale o driver eRDMA e vincule uma ERI.
Instale o driver eRDMA na instância.
Se você não selecionou eRDMA Driver ao criar a instância, o driver eRDMA não foi instalado automaticamente. Instale o driver eRDMA manualmente ou por meio de script.
Método baseado em script: Por padrão, a versão estável mais recente do pacote de drivers é baixada.
Método manual: Baixe uma versão específica do pacote de drivers.
Instalação por script com um clique
Execute o seguinte comando para baixar a versão estável mais recente do pacote de drivers.
curl -O http://mirrors.cloud.aliyuncs.com/erdma/env_setup.shExecute o seguinte comando para instalar o pacote de drivers baixado.
sudo /bin/bash env_setup.sh > /var/log/erdma_install.log 2>&1Após executar o script de instalação, o script instala automaticamente as dependências de software necessárias e o driver eRDMA. Aguarde a conclusão da instalação.
NotaSe o script de instalação do driver falhar, verifique o log de instalação em
/var/log/erdma_install.log.
Instalação manual
Execute o seguinte comando para atualizar os pacotes de pré-requisitos.
Alibaba Cloud Linux 3, CentOS ou Anolis OS:
sudo yum update -yUbuntu: Nenhuma atualização necessária. Pule esta etapa.
Execute os seguintes comandos em sequência para verificar a versão mais recente do pacote do kernel e a versão do kernel em execução.
rpm -qa | grep kernel # View the latest kernel package version. 2 uname -r # View the running kernel version of the operating system.Se as versões forem iguais, conforme mostrado no exemplo de saída a seguir, nenhuma ação adicional será necessária. Se as versões forem diferentes, reinicie a instância para que as alterações entrem em vigor.

Execute o seguinte comando para instalar os pacotes de dependências.
Para instâncias x86, execute as seguintes operações:
Alibaba Cloud Linux 3, CentOS ou Anolis OS:
sudo yum install gcc-c++ dkms cmake kernel-devel kernel-headers libnl3 libnl3-develUbuntu:
sudo apt-get install dkms cmake libnl-3-dev libnl-route-3-dev linux-headers-generic
Para instâncias Arm, que exigem tarefas de compilação a partir do código-fonte, os pacotes de dependências são numerosos e podem mudar. Portanto, pule esta etapa e execute diretamente o script de instalação. Se o script de instalação falhar, ele solicitará a instalação dos pacotes de dependências necessários. Instale-os conforme indicado e execute o script de instalação novamente.
Execute o seguinte comando para baixar o pacote de instalação do driver.
Obtenha o pacote de uma URL interna:
wget http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-latest.tar.gzObtenha o pacote de uma URL pública:
wget https://mirrors.aliyun.com/erdma/erdma_installer-latest.tar.gz
Por padrão, a versão mais recente do pacote de instalação do driver é baixada. Também é possível baixar uma versão específica conforme necessário. Para mais informações sobre as notas de lançamento das diferentes versões do pacote de instalação do eRDMA, consulte Etapa 2: Instalar o driver eRDMA para uma instância ECS.
Execute o seguinte comando para descompactar o pacote de instalação e acessar o diretório de arquivos.
tar -xvf erdma_installer-latest.tar.gz && cd erdma_installerExecute o seguinte comando para instalar o driver.
Método 1: Confirme manualmente as etapas de desinstalação e download automático durante a instalação.
sudo sh install.shMétodo 2: A instalação é executada sem confirmação.
sudo sh install.sh --batch
Verifique a saída para confirmar o resultado da instalação.
Se as seguintes informações forem retornadas, o driver foi instalado com êxito.

Se as seguintes informações forem retornadas, a instalação do driver falhou. Siga as instruções no prompt e tente instalar o driver novamente.
NotaSe você estiver usando o CentOS 7 e um pacote estiver ausente durante a reinstalação do driver, mas não for possível obtê-lo usando
yum, execute o comandoyum install -y epel-releasepara instalar o repositório EPEL. Em seguida, obtenha o pacote necessário.
Vincule uma ERI à instância.
Vincule uma ERI à instância de uma das seguintes maneiras.
Nota 3Para determinar o número máximo de ERIs que um tipo de instância suporta, verifique o valor do parâmetro EriQuantity na resposta da operação DescribeInstanceTypes. Um valor igual a 0 indica que o tipo de instância não suporta ERIs.
4-
5
-
6
Modifique os atributos de uma ENI vinculada para ativar a interface eRDMA
7Consulte Modificar os atributos de uma ENI.
8
9
-
10
-
11
Crie uma ERI e vincule-a a uma instância ECS
12-
13
-
14
Para criar uma ERI, consulte Criar uma ERI independente.
15
16 -
17
Para vincular uma ERI a uma instância ECS, consulte Vincular uma ENI secundária.
18
19
21 -
14
-
22
-
23
Crie uma ENI secundária com a interface eRDMA ativada e vincule-a a uma instância usando uma operação de API
24Crie e vincule uma ENI secundária usando operações de API:
25-
26
-
27
Chame uma operação de API para criar uma ERI.
28Chame a operação CreateNetworkInterface para criar uma ENI. Para criar uma ENI com ERI ativada, defina o parâmetro NetworkInterfaceTrafficMode como HighPerformance.
29Registre o ID da ENI retornado no parâmetro
30NetworkInterfaceId.
31 -
32
Chame AttachNetworkInterface. Defina NetworkInterfaceId como o ID da etapa anterior e InstanceId como o ID da instância de destino para vincular a ENI com ERI ativada.
3336Importante 34Se o tipo de instância suportar múltiplas ERIs, especifique um NetworkCardIndex diferente para cada ERI ao vinculá-las para maximizar a largura de banda da rede. Isso garante que as ERIs sejam vinculadas a canais diferentes. Consulte Índices de placa de rede.
35
37
39 -
27
-
6
Testar a latência de escrita do eRDMA
Instale o perftest em duas instâncias de nível empresarial com eRDMA ativado e use ib_write_lat para realizar um teste de latência de escrita. Para mais informações sobre o perftest, consulte o conjunto de testes perftest.
Pré-requisitos
Prepare duas instâncias de nível empresarial configuradas com eRDMA. Uma atuará como servidor e a outra como cliente.
Certifique-se de que a configuração de rede esteja correta e que os dois servidores possam se comunicar pela rede interna. Para mais informações, consulte Ativar comunicação interna entre instâncias ECS.
Procedimento
Conecte-se remotamente a cada uma das duas instâncias.
Para mais informações, consulte Conectar-se a uma instância Linux usando o Workbench.
Certifique-se de que o eRDMA esteja configurado corretamente em ambas as instâncias.
Para mais informações, consulte Verificar a configuração do eRDMA.
Em ambas as instâncias, execute os seguintes comandos para instalar a ferramenta perftest.
Instale o perftest do repositório oficial (requer um endereço IP público) ou de um repositório YUM/APT.
40 41 51Repositório oficial
42-
43
-
44
Atribua um endereço IP público à instância ECS.
45
46 -
47
Baixe e instale o perftest do repositório oficial do perftest.
48
49
52 67Repositório YUM ou APT
5356Nota 54As versões do
55perftestnos repositórios de software podem variar entre distribuições Linux, causando problemas de compatibilidade. Use a mesma distribuição em todas as instâncias que se comunicam. Se isso não for possível, instale do repositório oficial.-
57
-
58
Alibaba Cloud Linux 3, CentOS ou Anolis OS
59
60sudo yum install perftest -y
61 -
62
Ubuntu
63
64sudo apt install perftest -y
65
-
44
Teste se a latência de rede eRDMA atende às expectativas.
Na instância do servidor, execute o seguinte comando para iniciar o
ib_write_latcomo servidor e aguardar conexões do cliente.ib_write_lat -R -a -F-R: Especifica que o RDMA Connection Manager (RDMA_CM) é usado para estabelecer a conexão.ImportantePara tipos de instância baseados em CPU que suportam eRDMA, o modo de instalação padrão do driver de kernel eRDMA é Standard, que suporta apenas o método de estabelecimento de conexão RDMA_CM. Para mais informações, consulte Métodos de estabelecimento de conexão.
Por padrão, o perftest usa uma conexão out-of-band (OOB). Ao realizar um teste de desempenho em uma instância baseada em CPU, use o parâmetro -R tanto no servidor quanto no cliente para especificar o método de estabelecimento de conexão RDMA_CM. Caso contrário, pode ocorrer uma exceção ao estabelecer a conexão.
Também é possível usar a linha de comando para tornar os métodos de conexão RDMA_CM e OOB compatíveis. Para mais informações, consulte Alterar o modo de estabelecimento de conexão do eRDMA para compatibilidade com bRPC. Após ativar a compatibilidade, o parâmetro -R não é mais necessário.
-a: Esta opção executa testes para todos os tamanhos de mensagem de 2 a 2^23 bytes. Isso permite testar o impacto de diferentes tamanhos de mensagem na latência.-F: Substitui forçadamente quaisquer conexões existentes. Isso significa que, se conexões foram estabelecidas anteriormente, o uso da opção-Fignora essas conexões e força o estabelecimento de novas conexões.
Na instância do cliente, execute o seguinte comando para iniciar o
ib_write_late conectar-se ao servidor.ib_write_lat -R -a -F <server_ip><server_ip>é o endereço IP privado da interface de rede na instância ECS do servidor usada para o teste e que tem o recurso ERI ativado. Para obter o endereço IP, consulte Visualizar endereços IP.Visualize os resultados do teste.
Após a conclusão do teste do cliente, o
ib_write_latexibe as informações de configuração do teste, as informações de conexão e os resultados do teste de desempenho (estatísticas relacionadas à latência, incluindo métricas de desempenho como latência mínima, máxima e média).