Date: Sun, 15 Nov 2009 14:38:03 -0700 From: Tim Judd <tajudd@gmail.com> To: Mario Pavlov <freebsd@abv.bg> Cc: freebsd-stable@freebsd.org, freebsd-questions@freebsd.org Subject: Re: diskless - NFS root mount problem Message-ID: <ade45ae90911151338n27075983pb69d220a3ebaf330@mail.gmail.com> In-Reply-To: <1349537904.141314.1258277669303.JavaMail.apache@mail51.abv.bg> References: <1349537904.141314.1258277669303.JavaMail.apache@mail51.abv.bg>
next in thread | previous in thread | raw e-mail | index | archive | help
<snip all> Please compare my working configuration to yours to check. I found lots of odd problems in your post and I thought it'd be best to just run with this clean slate. Network config: One low-power PC Engines ALIX board running as the NFS server, with a microdrive partitioned off for it's own system, plus a separate mounted partition for diskless clients. This config works best with one diskless client, and is not the documented way from FreeBSD handbook to accomplish diskless workstations. I'll note what I immediately saw as an error in your config during these snippets. alix# bsdlabel /dev/ad0s1 # /dev/ad0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 1048576 16 4.2BSD 2048 16384 8 c: 12000177 0 unused 0 0 # "raw" part, don't edit h: 10951585 1048592 4.2BSD 2048 16384 28552 alix# cat /etc/fstab /dev/ad0s1a / ufs rw 0 0 /dev/ad0s1h /diskless ufs rw 0 0 alix# cat /etc/exports /diskless -maproot=0:0 -network 192.168.0.0 -mask 255.255.255.0 *** maproot needs a user and group definition. alix# cat /etc/rc.conf rpcbind_enable="YES" nfs_server_enable="YES" rpc_statd_enable="YES" rpc_lockd_enable="YES" *** rpc_lockd provides file locking, rpc_lockd depends on rpc_statd ************** Diskless side *** I believe the root filesystem information is passed on from dhcp, to pxeboot, to the kernel, in order to mount the root filesystem. You can have a 0-size fstab file for read-write access, or provide the read-only nfs root here. If you want it read only, it's best to specify it here, such as below alix# cat /diskless/etc/fstab 192.168.0.1:/diskless / nfs ro 0 0 alix# cat /diskless/etc/rc.conf rpcbind_enable="YES" nfs_client_enable="YES" rpc_statd_enable="YES" rpc_lockd_enable="YES" *** File locking needed lockd/statd support on the client, also. Think of editing /etc/passwd (the proper way) when you need file locking. This will result in a basic, 1-workstation diskless setup working. The difference is that the FreeBSD rc startup looks for a /conf directory which can provide multiple overrides to multiple workstations. I tried setting up a livecd with a /conf directory only to find that the /conf is checked, no matter which medium it's booting off of. This config does NOT cover the DHCP scope, TFTP, IPs or other settings that might be pertinent to booting diskless-ly. Note that by sharing your exact / filesystem as an export is a bad idea. It will essentially create a NFS server on a NFS server round robin and probably won't connect. It's why you setup a separate partition (EVEN if it's a file-backed filesystem mounted with the help of mdconfig on a separate mountpoint on your filesystem). Once you revise your config, please try again. --Tim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ade45ae90911151338n27075983pb69d220a3ebaf330>