nfs boot trava após o systemd-networkd iniciar

1

Estou tentando nfs-boot em um linux gerenciado com o systemd, via tftp kernel + nfs rootfs, meus bootargs:

root=/dev/nfs rw nfsroot=192.168.0.10:/nfsroot/rootfs,nolock ip=192.168.0.60:192.168.0.10:192.168.0.10:255.255.255.0

O kernel e o rootfs são carregados com sucesso e o sistema está em execução, até que systemd-networkd seja iniciado. Depois disso, eu posso não pingar a máquina e a montagem do NFS trava (obviamente).

Eu tentei adicionar a configuração de rede para systemd-networkd para inicializar a rede, mas isso não funciona.

O log do console serial:

         Starting Network Service...
...
[  OK  ] Started Network Service.
[  OK  ] Reached target Network.
...
[  *   39.330000] nfs: server 192.168.0.10 not responding, still trying

A configuração de rede:

[Match]
Name=eth0
[Network]
Address=192.168.0.60/24
Gateway=192.168.0.10
[Route]
Gateway=192.168.0.10
Destination=192.168.0.0

Eu me pergunto por que systemd-networkd.service quebra a rede quando o sistema é iniciado via nfs?

Eu acho que quando networkd inicia, ele retira o endereço IP e tenta ler o arquivo de configuração. Neste momento o nfs mount já quebra, e não tem a chance de ler o arquivo de configuração.

Se meu palpite for verdadeiro, como "corrigir" ou "contornar" esse problema?

    
por Mine 22.12.2017 / 09:27

1 resposta

2

Acontece que systemd-networkd fornece uma opção para não liberar o IP.

Adicionando abaixo na configuração

[DHCP]
CriticalConnection=true

Em seguida, o IP não será liberado e o NFS não será interrompido.

    
por 26.12.2017 / 10:28