[solved] Re: Re: Re: diskless - NFS root mount problem

Mario Pavlov freebsd at abv.bg
Mon Nov 16 19:47:30 UTC 2009


 Hi,
it turned out I was stupid enough to misconfigure the kernel...I forgot that I had left the IPFIREWALL options turned on and as you know it's default to deny so once the kernel initializes ipfw it blocks everything including NFS so that was the whole problem...I removed the IPFIREWALL option and all went fine.

thanks again
mgp

 > Hi,
 >thanks again for your response:
 >here's what I have, what I do and what I want to happen
 >
 >1. I have my desktop machine which is running FreeBSD-7.2-STABLE-amd64 from June.
 >   I created a new distribution like that (as shown in the handbook - http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-diskless.html):
 >
 >================================================================================
 >mkdir /storage0/diskless
 >cd /usr/src
 >export DESTDIR=/storage0/diskless
 >make buildworld buildkernel installworld distribution installkernel
 >================================================================================
 >
 >and created /storage0/diskless/etc/fstab with the following content:
 >
 >================================================================================
 >192.168.0.1:/storage0/diskless / nfs ro 0 0
 >================================================================================
 >
 >and I put this in /etc/exports (having in mind your advice about the group)
 >
 >================================================================================
 >/storage0/diskless -maproot=0:0 -ro -alldirs 192.168.0.3
 >/usr -ro -alldirs 192.168.0.3
 >================================================================================
 >
 >and this is in my dhcpd.conf (I tried with and without the comments - no difference, same result)
 >
 >================================================================================
 >  host laptop {
 >    hardware ethernet 00:1E:68:45:0D:98;
 >#    option host-name "laptop";
 >#    ddns-hostname "laptop";
 >#    next-server 192.168.0.1;
 >    fixed-address 192.168.0.3;
 >    filename "pxeboot";
 >    option root-path "192.168.0.1:/storage0/diskless";
 >  }
 >================================================================================
 >
 >2. And I do this:
 >
 >================================================================================
 >rpcbind
 >nfsd -u -t -n 4
 >mountd -r
 >/etc/rc.d/ineted onestart # I have my TFTP root set to /boot
 >/usr/local/etc/rc.d/isc-dhcpd onestart
 >================================================================================
 >
 >then I start my laptop (which has a 64bit CPU therefore it should be compatible with my amd64 kernel) enter the boot menu and choose the network boot option and I can see that it acquires its IP address then fetches pxeboot over TFTP then pxeboot loads the kernel and the kernel starts bringing the system up...and these are the last few lines where the system stops:
 >
 >================================================================================
 >...
 >...
 >Trying to mount root from nfs:192.168.0.1:/storage0/diskless
 >NFS ROOT: 192.168.0.1:/storage0/diskless
 >nfs send error 13 for server 192.168.0.1:/storage0/diskless
 >bge0: link state changed to DOWN
 >bge0: link state changed to UP
 >================================================================================
 >
 >3. What I want is to have a server that multiple clients can boot from (diskless-ly as you say). And I want all file systems provided by the server to be read-only (which means I don't need lockd, do I...)
 >
 >Do you have an idea what could be my problem? ...obviously my TFTP and DHCP services are fine, even the NFS as pxeboot is able to download the kernel...maybe something in my distribution in /storage0/diskless is not OK?
 >
 >thanks
 >mgp
 >
 >
 > >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
 > >_______________________________________________
 > >freebsd-stable at freebsd.org mailing list
 > >http://lists.freebsd.org/mailman/listinfo/freebsd-stable
 > >To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
 > >
 >
 >-----------------------------------------------------------------
 >Вижте водещите новини от Vesti.bg!
 >http://www.vesti.bg
 >_______________________________________________
 >freebsd-stable at freebsd.org mailing list
 >http://lists.freebsd.org/mailman/listinfo/freebsd-stable
 >To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
 >

-----------------------------------------------------------------
Вижте водещите новини от Vesti.bg!
http://www.vesti.bg


More information about the freebsd-stable mailing list