У меня есть конфигурация, которая работала довольно хорошо в течение нескольких лет, до последнего обновления 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: нужен путь
Если я изменю параметры ядра на
root=/dev/nfs initrd=node-initramfs nfsroot=XXX.XXX.XXX.1:/XXXX/node1 ip=dhcp rw
, бездисковый узел загрузится нормально.
Ядро и initramfs стандартные и такие же, как и для основной системы в каталоге /boot
.
Любая идея, где root-path
может быть потерян во время загрузки?