This post originated from an RSS feed registered with Python Buzz
by Phillip Pearson.
Original Post: nfsmount (initrd) doesn't work with nfs-user-server, only nfs-kernel-server
Feed Title: Second p0st
Feed URL: http://www.myelin.co.nz/post/rss.xml
Feed Description: Tech notes and web hackery from the guy that brought you bzero, Python Community Server, the Blogging Ecosystem and the Internet Topic Exchange
I'm trying to do some hard disk maintenance on a machine on the other side of the world, and before I start doing things like reconfiguring its RAID arrays with things still mounted there, I'm giving NFS booting a go. The idea is to configure the system to boot using its usual GRUB boot partition, but then mount its root filesystem off an NFS server. This will let me unmount /boot and do all the hard disk maintenance, and if the worst comes to the worst, I can ask our man in the datacenter to bring the machine back to life with a Debian rescue disk.
I'd installed nfs-user-server on a Debian install on VMware, and configured a second Debian install to mount an NFS export from the server as its root partition. However, it would always fail during the boot with this error:
rpc failed: 2
At first I thought there was a module missing during boot or something, but I eventually figured out that the nfsmount tool used during boot was /usr/lib/klibc/nfsmount, and that it would give the same error if run after a normal boot:
The fix? Install nfs-kernel-server rather than nfs-user-server.
It now gets past that point OK. (It's still failing after 'Setting up networking....' -- I suspect that it's resetting eth0 and losing its IP address, or killing the NFS session.)