[wplug] PXE Netboot

Tom Rhodes trhodes at FreeBSD.org
Tue Dec 1 09:23:14 EST 2009


Wow old lol - this reply went missing ages ago, sorry for the
noise.



On Fri, 5 Dec 2008 19:46:26 -0500
Tom Rhodes <trhodes at FreeBSD.org> wrote:

> On Fri, 05 Dec 2008 07:44:51 -0500
> "Brian A. Seklecki" <bseklecki at collaborativefusion.com> wrote:
> 
> > On Sun, 2008-11-02 at 17:16 -0500, Roland Hess wrote:
> > > For a personal project, I'm trying to learn netbooting via PXE (using 
> > > DHCP on the server side, not BOOTP). My eventual goal is to be able to 
> > > netboot machines into a live (non-HD installed) Ubuntu server 
> > 
> > It takes about a 5 minutes to setup on FreeBSD, less on NetBSD where the
> > bootloader isn't insane.
> > 
> > You flick on TFTP daemon, DHCP, and NFS server.
> > 
> > Hardware gets a DHCP address lease; Lease tells it where to TFTP its
> > stage 1 & stage 2 x86 boot loader.  PXE code on the NIC TFTPs it down
> > and hands it to the BIOS for boot.
> > 
> > Stage 1 loader has sufficient NFS capabilities to mount the root file
> > system and load the kernel.
> > 
> > After that, you've got the 30-year old debate on how to split a POSIX
> > file system across network and local resources.
> 
> Not that it splits across the network and local resources, but
> I'd like to try this with ZFS should the NFS support mature a
> bit more.
> 
> > 
> > I recommend killing yourself and/or avoiding UDP NFS on gigabit
> > Ethernet.
> 
> This is a good idea, UDP NFS on GigE has a higher risk of data
> corruption IIRC.  From the RFC:
> 
>    The side effects caused by performing a duplicate
>    non-idempotent request can be destructive (for example, a
>    truncate operation causing lost writes). The combination of a
>    stateless design with the common choice of an unreliable
>    network transport (UDP) implies the possibility of
>    destructive replays of non-idempotent requests. Though to be
>    more accurate, it is the inherent stateless design of the NFS
>    version 3 protocol on top of an unreliable RPC mechanism that
>    yields the possibility of destructive replays of
>    non-idempotent requests, since even in an implementation of
>    the NFS version 3 protocol over a reliable
>    connection-oriented transport, a connection break with
>    automatic reestablishment requires duplicate request
>    processing (the client will retransmit the request, and the
>    server needs to deal with a potential duplicate
>    non-idempotent request).
> 
> In plain English: with higher data rates, the odds of a dropped packet
> has a higher chance of silent data corruption.  NFSv3 is stateless,
> thus, it doesn't perform its own checking of command order etc,
> so layering it on top of an unreliable transport == bad idea
> 
> NFSv4 doesn't allow layering on UDP at all :)
> 
> -- 
> Tom Rhodes
> _______________________________________________
> wplug mailing list
> wplug at wplug.org
> http://www.wplug.org/mailman/listinfo/wplug
> 


-- 
Tom Rhodes


More information about the wplug mailing list