我有一个配置,在几年内运行良好,直到最新更新到 Ubuntu Server 20.04。我有一个头节点:tftpd-hpa,它提供pxelinux.0
内核、initrdfs 和启动参数:
root=/dev/nfs initrd=node-initramfs nfsroot=auto ip=dhcp rw
头节点还运行具有以下配置的 isc-dhcp-server
default-lease-time 3600;
ddns-update-style none;
deny booting;
deny bootp;
option domain-name "XXX";
server-name "node0.XXX";
subnet XXX.XXX.XXX.0 netmask 255.255.255.0 {
allow booting;
allow bootp;
default-lease-time 14400;
max-lease-time 172800;
option domain-name "XXX";
filename "pxelinux.0";
option root-path "XXX.XXX.XXX.1:/XXXXX/nfsroot";
host node1.XXX {
hardware ethernet 00:25:90:5b:cd:b8;
fixed-address XXX.XXX.XXX.2;
option host-name "node1";
option root-path "XXX.XXX.XXX.1:/XXXX/node1";
}
.......
}
当然,头节点运行 nfs-kernel-server 并为节点导出所需的目录。
然而,当无盘节点正在启动并应该使用 nfsroot=auto
来获取root-path
从 dhcp 服务器nsfmount: need a path
如果我将内核参数更改为
root=/dev/nfs initrd=node-initramfs nfsroot=XXX.XXX.XXX.1:/XXXX/node1 ip=dhcp rw
无盘节点正常启动。
内核和 initramfs 是标准的,与主系统相同/boot
。
有什么想法吗,root-path
启动过程中哪里可能会丢失?
答案1
原来是需要指定网络接口和 IP 地址。这样系统就可以正常工作了
root=/dev/nfs initrd=node-initramfs nfsroot=auto ip=:::::eth0:dhcp rw