Especifique qual interface de rede usar para o nfsroot

2

Estou executando um servidor (Ubuntu 16.04) que possui duas placas de rede eno1 e eno2 .

  • eno1 está ligado ao exterior e recebe um endereço IP público sobre o dhcp
  • eno2 está conectado a uma rede privada e recebe um endereço IP privado sobre o dhcp (por exemplo, 192.168.0.2 para simplificar)

O servidor netboots e recebe tudo de um segundo servidor na rede privada (digamos 192.168.0.1). Eu segui o Diskless Ubuntu HowTo e tudo funciona muito bem.

  • o servidor recebe 192.168.0.2 como endereço IP
  • então carrega o kernel e o initramfs sobre o tftp (de 192.168.0.1) e continua
  • mais tarde, monta / , que também está localizado em 192.168.0.1

Com o último passo, no entanto, existe um problema. Mais ou menos simultaneamente, o sistema tenta obter endereços IP para eno1 e eno2 e, às vezes, eno1 termina primeiro. Então o sistema tenta encontrar 192.168.0.1 até eno1, o que é claro que não pode e expira.

Como afirmado no tutorial, incluí iface eno2 inet manual no meu /etc/network/interfaces , para evitar que o eno2 perca seu endereço, mas isso não parece ajudar.

Alguma idéia de como forçá-lo a usar eno2 em vez de usar a interface de rede para usar primeiro

    
por mbeyss 28.02.2018 / 12:54

1 resposta

2

Para uma resposta longa, consulte a documentação do nfsroot .

O comportamento padrão é usar a primeira interface configurada para o nfsroot. No seu caso, é algo aleatório, já que você tem duas interfaces conectadas a duas redes diferentes.

Você pode forçar a interface de rede usada para o nfsroot adicionando isso à linha de comando do kernel: ip=:::::eno2:dhcp .

No caso do tutorial de netboot, isso vai para o arquivo /tftboot/pxelinux.cfg/default na linha APPEND . (Substitui o ip=dhcp )

    
por pim 28.02.2018 / 13:37