AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 925394
Accepted
Baptiste Mille-Mathias
Baptiste Mille-Mathias
Asked: 2018-08-08 23:22:56 +0800 CST2018-08-08 23:22:56 +0800 CST 2018-08-08 23:22:56 +0800 CST

interfaces escravas de ligação não obtendo o mesmo ID de agregador no LACP

  • 772

Eu tenho um bug em alguns servidores onde o LACP ( 802.3ad) não está funcionando. Tenho em todos os servidores um dispositivo de ligação bond0com dois ethescravos e cada interface é plugada em um swich diferente, e ambos os switches configurados com LACP.

Tudo parece estar bem, mas um engenheiro de rede detectou que algum MLAG (implementação Arista LACP) não estava funcionando enquanto os dispositivos físicos estavam ativos.

Quando olhei para /proc/net/bonding/bond0os servidores afetados, descobri que cada interface tem um arquivo Aggregator ID. Em servidores nominais Aggregator IDé o mesmo.

O problema pode ser reproduzido desligando e ligando a porta do switch, então podemos observar que apesar do link físico estar ativo, o MLAG está inativo. O bug está presente no RHEL 6 e 7 (mas nem todos os servidores são afetados).

Configuração

#/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
MACADDR=14:02:ec:44:e9:80
IPADDR=xxx.xxx.xxx.xxx
NETMASK=xxx.xxx.xxx.xxx
BONDING_OPTS="mode=802.3ad lacp_rate=slow xmit_hash_policy=layer3+4"
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
PEERDNS=no

# /etc/sysconfig/network-scripts/ifcfg-eno49 (same for other interface)
HWADDR=14:02:ec:44:e9:80
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
PEERDNS=no

Temos uma solução alternativa agora - configurar e configurar a ethinterface no servidor - mas isso não é o ideal.

Para verificar o protocolo LACP, fiz

tcpdump -i eno49 -tt -vv -nnn ether host 01:80:c2:00:00:02

Posso ver um pacote a cada 30 segundos em uma interface, mas na outra vejo um pacote a cada 1 segundo, pois estava tentando estabelecer uma sessão LACP.

Você tem uma maneira de solucionar e corrigir isso?

(desculpe se não usei o termo certo para rede, não sou muito habilidoso em LACP)

Obrigado

networking
  • 1 1 respostas
  • 9518 Views

1 respostas

  • Voted
  1. Best Answer
    Baptiste Mille-Mathias
    2018-08-10T09:20:57+08:002018-08-10T09:20:57+08:00

    Depois de pesquisar algumas documentações e alguns testes, descobri que quando um servidor está usando ligação, você precisa forçar o monitoramento dos links de rede usando o miimonparâmetro do bondingmódulo.

    Enquanto olhava, /proc/net/bonding/bond0eu deveria ter visto um dos dispositivos com o status MII downonde, na verdade, estava no nível do link.

    https://access.redhat.com/articles/172483#Link_Monitoring_Modes afirma que:

    É fundamental que um modo de monitoramento de link, os parâmetros miimonou arp_intervale arp_ip_targetsejam especificados. Configurar um vínculo sem um modo de monitoramento de link não é um uso válido do driver de vínculo

    Então para relatar isso no ifcfg-bond0arquivo você passa isso nas BONDING_OPTSopções

    #/etc/sysconfig/network-scripts/ifcfg-bond0
    ...
    BONDING_OPTS="mode=802.3ad lacp_rate=slow xmit_hash_policy=layer2+2 miimon=100"
    ...
    

    por isso força a sondagem dos links a cada 100ms.

    Reinicie o serviço de rede para aplicar a alteração.

    • 3

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve