Como fazer com que a equipe NIC apareça na inicialização no RHEL 7

Como fazer com que a equipe NIC apareça na inicialização no RHEL 7

Para configurar a rede no RHEL 7, criei um arquivo JSON para formação de equipes e executei estes comandos:

ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d

Também criei arquivos ifcfg para VLANs e executei este comando:

systemctl restart network

Depois disso, tudo funciona mais ou menos como esperado, mas o problema é que isso não persiste entre as reinicializações, então tenho que fazer isso sempre após a inicialização.

Como posso resolver este problema? Espero que esses comandos sejam executados apenas uma vez e quero que essas configurações persistam entre as reinicializações.

================================================= ========

Tentei aplicar a correção sugerida e estas perguntas apareceram:

  1. Eu criei ifcfg-team0o arquivo e o conteúdo é:

    DEVICE=team0
    DEVICETYPE=Team
    ONBOOT=yes
    BOOTPROTO=none
    TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
    

Devo remover a seção "dispositivo", então mude para TEAMCONFIG='{"runner": { "name": "lacp"...porque já a tenho DEVICE=team0? Ou não há problema em mencionar isso duas vezes?

  1. Meu ifcfg-eno1arquivo contém:

    HWADDR=...
    TYPE=Ethernet
    BOOTPROTO=dhcp
    DEFROUTE=yes
    PEERDNS=yes
    IPV4_FAILURE_FATAL=no
    IPV6_INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=eno1
    UUID=e656...
    ONBOOT=no
    

Devo realmente remover quase tudo dele? Em particular, eu realmente deveria remover UUIDseções NAMEe substituir este arquivo pelo que a documentação sugere? :

    DEVICE=eth1
    HWADDR=D4:85:64:01:46:9E
    DEVICETYPE=TeamPort
    ONBOOT=yes
    TEAM_MASTER=team0
    TEAM_PORT_CONFIG='{"prio": 100}'

Ou devo manter os dois arquivos? Basta nomeá-los, por exemplo ifcfg-eno1, eifcfg-eno1Team

  1. Ao executar isto: systemctl start network.servicerecebo o seguinte erro:

    Failed to start LSB: Bring up/down networking.  Unit network.service entered failed state.
    

Responder1

Primeiro, crie um novo arquivo no /etc/sysconfig/network-scriptsdiretório chamado ifcfg-team0parecido com este:

DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'

Obviamente você precisa alterar o endereço IP e a máscara de rede adequadamente.

Em seguida, no mesmo diretório, altere todos os ifcfg-eno[1-4]arquivos para ficar assim:

DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'

Como acima, seus arquivos locais serão um pouco diferentes, pois você precisará preservar a HWADDRconfiguração existente.

Isso édireto do manual.

O ifcfg-team0arquivo refere-se ao lacp.confarquivo que você já criou. No entanto, não vejo no manual como ele encontra esse arquivo. Talvez teamdvocê se lembre da configuração manual anterior ou talvez precise colocá-lo em um diretório comum.

De qualquer forma, uma vez configurado, você diz ifup team0, e o grupo NIC em equipe aparecerá todo junto. As interfaces individuais precisam estar inativas no início, mas você não precisará fazer nada especial para garantir isso na inicialização, já que agora elas estão marcadas como parte de uma equipe NIC. A configuração de inicialização do sistema operacional perceberá que não deve ativar essas quatro interfaces individualmente, mas apenas como parte da equipe NIC.


Todas as opções acima pressupõem que você desativouGerente da redee voltei à boa e velha maneira de configurar redes em Linux do tipo Red Hat:

$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service

Geralmente, isso é uma boa ideia em servidores, principalmente quando a configuração da rede começa a ficar complicada, como acontece com o LACP. O NetworkManager resolve muitos problemas, mas geralmente o faz com uma abordagem focada em desktops que é inadequada para servidores. Por exemplo, ele resolve as transições automáticas de WiFi para Ethernet comuns em laptops. Os servidores normalmente têm configurações de rede estáticas, então o NetworkManager pode acabar atrapalhando.

Ainda assim, se você quiser seguir os padrões da Red Hat, eles cobrem essa alternativaalgumas seções anteriores no manual.

informação relacionada