tftpカーネル+ nfs rootfs、私のbootargsを介してsystemdによって管理されているLinuxをnfs起動しようとしています。
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
カーネルとrootfsの両方が正常にロードされ、システムはsystemd-networkd
起動するまで実行されます。その後はできます。pingできませんマシンとNFSマウントは中断されます(明らかに)。
systemd-networkd
ネットワーク初期化のためにネットワーク構成を追加してみましたが、機能しません。
シリアルコンソールログ:
Starting Network Service...
...
[ OK ] Started Network Service.
[ OK ] Reached target Network.
...
[ * 39.330000] nfs: server 192.168.0.10 not responding, still trying
ネットワーク構成:
[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
systemd-networkd.service
nfsを介してシステムを起動したときにネットワーク接続が切断される理由を知りたいです。
networkd
起動時にIPアドレスを撤回し、設定ファイルを読み取ろうとします。この時点で nfs マウントが中断され、設定ファイルを読み取ることができません。
私の推測が正しい場合、この問題をどのように「修正」または「解決」できますか?
答え1
systemd-networkd
これはIPを公開しないオプションを提供することがわかりました。
構成に以下を追加します。
[DHCP]
CriticalConnection=true
これにより、IP が解放されず、NFS が中断されません。
答え2
2年前の質問ですが、まだここで検索しています。最後に、より良い解決策を得ましたNFSルートディレクトリとSYSTEMD
[Match]
Name=eth*
KernelCommandLine=!nfsroot