Debian 9, NFSv2

 ( SySERR | 2017. augusztus 3., csütörtök - 8:59 )

Sziasztok!

Az egyik gépünket sikeresen frissítettem Debian 8-ról 9-re és a frissítés után minden tökéletesen működik elsőre, kivéve az NFS szervert.
Elsőre az NFS mount mindenhol jónak tűnt mert teszi a dolgát, viszont pont egy gépet kellett telepítenem hálózatból (PXE boot + NFS root)

A telepítendő gép DHCP-n kap IP-t, de a "/" felcsatolásánál meghal a dolog és "VFS: Unable to mount root fs via NFS" üzenetet tol a képembe.

Tudomásom szerint PXE boot esetén a "/" NFSv2-vel mountolódik. Ha a rendszer bebootolt akkor további NFS megosztásokat NFSv3 vagy NFSv4-el is simán lehet csatolni.

Tesztként megpróbáltam localhoston felcsatolni NFSv2-vel egy megosztást és "mount.nfs: Protocol not supported" hibaüzenettel bolgodít. Debian 8 alatt ez simán működött.

Már mindenhol frissítettem kernelt is 4.12.1-re és ellenőriztem, hogy az NFSv2 is legyen a kernelbe fordítva (szerver és kliens) de ő makacsul kitart továbbra is amellett, hogy nem megy az NFSv2.

Hogy tudom rávenni a mostani frissített Debiant, hogy továbbra is műlödjön az NFSv2
vagy
Hogy tudom rávenni azt, hogy PXE bootnál már eleve NFSv3-mal próbálja mountolni a "/"-t?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

A PXE boot es az NFS mount ket kulonbozo dolog. Nem a PXE, hanem a halozatrol (altalaban TFTP-vel) letoltott image hasznal NFS-t.

Igen, ez pontosan így van. TFP-vel lejön a kernel meg az initrd amihez nem kell NFS, de utána már kell neki. Az első, vagyis a "/" mount NFSv2-vel akar menni, de mivel a Debian 9-ből ez eltűnt ezért boot folytatása helyett kernel panic a jutalom.

-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!

Ez szerintem kernel/initrd -n mulik meg a hozzajuk irt parameterekben, hogy melyik nfs verzioval probal csatlakozni.

A valóság pedig azt hozta, hogy hiába nyomom le a torkán, hogy NFSv3 kell, le se sz*rja.
A /srv/tftpboot/pxelinux.cfg/default ide vonatkozó része most így néz ki.

LABEL Linux
linux vmlinuz-4.12.4
append initrd=initrd.img-4.12.4 rootfstype=nfs netboot=nfs root=/dev/nfs ip=::::::dhcp nfsroot=nfs3:172.20.0.1:/pxelinux rw

8-as Debiannal "nfsroot=nfs3:172.20.0.1:/pxelinux" helyett "nfsroot=172.20.0.1:/pxelinux" volt és működött.
A kernelbe meg bele van forgatva a v3 meg a v4 is.

-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!

Nem hasznalok ilyet, de a kernel forrasban nyoma sincs NFS verzionak az nfsroot opcional (marmint az NFS szerver elott). Egy probat megerne az nfsroot=172.20.0.1:/pxelinux:vers=3

zfs rollback a rootfs-en az upgrade előtti állapotra, bye

Ez csak a végső megoldás. A Debian 9 stable, tehát el is várom, hogy ez az icipici probléma meg legyen oldva.
-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!

Lenyomtam a torkán, hogy kell NFSv2 support.
/etc/default/nfs-kernel-server -ben: RPCNFSDCOUNT="8" helyett RPCNFSDCOUNT="--nfs-version 2 8"
Ettől függetlenül továbbra is érdekel, hogy tudom PXE boot során NFSv3-al felcsatolni a "/"-t.
Ugyanis:

root@pxelinux:~# mount | grep nfs
172.20.0.1:/pxelinux on / type nfs (ro,relatime,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=172.20.0.1,mountvers=1,mountproto=udp,local_lock=all,addr=172.20.0.1)
172.20.0.1:/home/install on /root/install type nfs (rw,relatime,vers=3,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.20.0.1,mountvers=3,mountport=56753,mountproto=tcp,local_lock=none,addr=172.20.0.1)
root@pxelinux:~#

Jól látszik, hogy a "/" NFSv2-vel van mountolva és nem is akar máshogy. Viszont az elindított rendszeren NFSv3-al már bármit fel tudok a későbbiekben mountolni.

-------------------
https://onlinestream.hu/ - A legtöbb magyar rádió és TV egy helyen!