NFS not working with Ubuntu 10.04

I upgraded Ubuntu Karmic to version 10.04 as per the library instructions, but on the new version NFS apparently is not supported by the kernel. I get this message trying to start the service:

"Not starting NFS kernel daemon: no support in current kernel"

I also created a new linode and installed Ubuntu 10.04 fresh there. Same thing.

Am I missing something, or is this supposed new stable version of Ubuntu just not ready for roll out after all? Has anyone else dealt with this?

Thanks.

8 Replies

What kernel are you running?

We had a ticket about this recently, and Danny's solution (below) worked for that customer. Can you let me know if this works for you, as well?

–----

NFS support is pre-compiled into our kernel:

root@distro-test:/etc/init.d# zgrep -i nfs /proc/config.gz 
# CONFIG_XENFS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
# CONFIG_NFS_V4 is not set
# CONFIG_ROOT_NFS is not set
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
# CONFIG_NFSD_V4 is not set
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y

The issues you are experiencing is the result of how the new "nfs-kernel-server" init script in Ubuntu Lucid checks for NFS support. You are able to resolve this issue by following these steps:
4. nano +67 /etc/init.d/nfs-kernel-server

  1. Comment out this line: "if [ -f /proc/kallsyms ] && ! grep -qE ' nfsd_serv ' /proc/kallsyms; then"

  2. Replace with this line: "if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd| )' /proc/kallsyms; then"

  3. Save the changes

  4. NFS will now start correctly:

root@distro-test:~# service nfs-kernel-server start
 * Exporting directories for NFS kernel daemon...                        [ OK ] 
 * Starting NFS kernel daemon                                            [ OK ] 

sorry for not getting back on this sooner. Yes, I was the customer with the ticket, and yes it worked fine. Thanks!

The workaround above worked wonderfully for me until last week, when I had to reboot the server. The init.d script is still modified as above, but the nfs kernel fails to start now.

mount nfsd $PROCNFSD_MOUNTPOINT

Results in "mount: unknown filesystem type 'nfsd'"

The only related change I see is that our Linodes are now running a new kernel, 2.6.38-x8664-linode17 #1 SMP Fri Apr 8 22:05:57 UTC 2011 x8664 GNU/Linux

grep 'init_nf' /proc/kallsyms
ffffffff8142ec4e T init_nf_conntrack_hash_rnd
ffffffff81b48618 t init_nfs_fs
ffffffff81b487da T nfs_init_nfspagecache
ffffffff81b93d60 t __initcall_init_nfs_fs6

Any ideas?

Bah, that was my bad. I've had trouble with various kernel config options causing recent 64 bit 2.6 kernels to not boot correctly, and thus had to more or less start over from a fresh config this past round and missed the NFSD options. I've recompiled 2.6.38-x86_64-linode17 to include them.

Give it another reboot and you should be all set.

-Chris

and ….. we're up and running nfs again.

Thanks,

Brandon

I'm having problem to mount nfs4 shares. The server is running the default Ubuntu 10.04 config. I just changed /etc/init.d/nfs-kernel-server as recommended on this post and setup the share. Any ideas?

Client:

mount -t nfs4 -o proto=tcp,port=2049 xxx.xxx.xxx.xxx:/cache /mnt/cache

mount.nfs4: Protocol not supported

Server:

tail /var/log/messages

May 3 16:15:52 tech9 kernel: svc: yyy.yyy.yyy.yyy, port=810: unknown version (4 for prog 100003, nfsd)

@jed:

[list]
[*] nano +67 /etc/init.d/nfs-kernel-server
[*] Comment out this line: "if [ -f /proc/kallsyms ] && ! grep -qE ' nfsd_serv      ' /proc/kallsyms; then"
[*] Replace with this line: "if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd|     )' /proc/kallsyms; then"
[*] Save the changes
[*] NFS will now start correctly:
[/list]

This worked for me, still on Ubuntu 10.04 (.3) with the new 3.x kernel. I was having problems starting NFS. Thanks for the info and help. Glad I was able to find it.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct