nfs4

how to convert an old style nfs3 /etc/export to concept of nfs4

or how to avoid


mount -t nfs4 hn:/srv/opt
failed, reason given by server: No such file or directory

And.. how to restrict some clients access for shares belongs to itself only

solution:


# create a top-level dir for all exports
mkdir -p /srv/nfs
mkdir /srv/nfs/foo
mkdir /srv/nfs/bar
# bind mount all you want
mount -o bind /foo /srv/nfs/foo
mount -o bind /bar /srv/nfs/bar
# create a well-designed nfs4 /etc/exports
cat /etc/exports
/srv/nfs 192.168.1.0/255.255.255.0(rw,sync,fsid=0,subtree_check)
/srv/nfs/foo 192.168.1.1(ro,sync,fsid=1,subtree_check)
/srv/nfs/bar 192.168.1.2(rw,sync,fsid=2,subtree_check)

Hozzászólások

viszont az nfsroot ugy is csak nfs3 -mal megy (initramfs->klibc->nfsmount supports only nfsv2 and nfsv3)

Nekem mondjuk talán még meg is felelt volna, pl az uid mappelés még jó is lenne. Bár tény, hogy nfs root környezetben sosem sikerült kipróbálni (meglepő módon :) ), hogy problémát okozna-e.

Amúgy az a gyanúm, hogy lehetne ezt netbootra használni, csak az initramfs-t nem klibc-vel linkelve kell megcsinálni, hanem rendes glibc-vel. Láttam már ilyen megoldást, az Arch linux régi (~2008-ig) install cd-je ilyen volt és simán át lehetett netbootra is rakni. Csak kellemetlen volt mert a komplett live rendszer benne volt és ezért minden boot egy ~200MB-os initcpio.gz-t tftp-vel lehúzásával indult.

Viszont 0-ról felépíteni egy early init rendszert glibc-vel, elég kényelmetlenül nagy melónak néz ki, ennyit nekem nem ért meg az nfs4.
---
Internet Memetikai Tanszék

nem nagy melo,
a normal mkinitramfs is hajlando berakni a normal mount parancsot, a benne levo copy_exec meglepoen hasznalhato.
A /usr/sbin/mkinitramfs -ben van egy ilyen resz, hogy:


copy_exec /sbin/modprobe /sbin
copy_exec /sbin/depmod /sbin
copy_exec /sbin/rmmod /sbin

mondjuk ide kell rakni egy


copy_exec /bin/mount /bin

A /usr/share/initramfs-tools/scripts/nfs -ben is kicserelheted a nfsmount (klibc) parancsot egy mount (libc) parancsra, nem lesz tole 200Mbyte az initramfs.