mdk.fr/content/blog/nfsmount_rpc_failed_2.md

40 lines
1.8 KiB
Markdown

Title: nfsmount: rpc failed: 2
For those, here on the internet, asking themselves what is this fscking
`rpc failed: 2` while mounting an NFS, it's possible that the response
is here: Your NFS client trying to mount the NFS share will use RPC to
communicate with the serveur, il will go like:
> PORTMAP GETPORT(Program: NFS, Version: 3, Proto: TCP)
< PORTMAP Port: 2049
> PORTMAP GETPORT(Program: MOUNT, Version: 3, Proto: TCP)
< PORTMAP Port 49066
> MOUNT MNT(Program Version: 3, Path: /srv/nfsroot/ )
< MOUNT Reply error 2, "remote can't support version \#", Program Version (Minimum): 1, Program Version (Maximum): 2
You can see that the response is "remote can't support version \#" and
we should have found this solution in the [RFC 1831 (RPCv2)](http://www.ietf.org/rfc/rfc1831.txt):
> Given that a call message was accepted, the following is the status
> of an attempt to call a remote procedure.
>
> enum accept_stat {
> SUCCESS = 0, /* RPC executed successfully */
> PROG_UNAVAIL = 1, /* remote hasn't exported program */
> PROG_MISMATCH = 2, /* remote can't support version # */
> PROC_UNAVAIL = 3, /* program can't support procedure */
> GARBAGE_ARGS = 4, /* procedure can't decode params */
> SYSTEM_ERR = 5 /* errors like memory allocation failure */
> };
So the problem is you client asking for a NFS version greater that
your server runs... but if your server is running NFS v3, check a `ps
aux | grep \[r\]pc.mountd\` for: `root 1411 0.0 0.0 18808 1036 ? Ss
Apr15 0:00 /usr/sbin/rpc.mountd --manage-gids --no-nfs-version 3` Did you
catch the `--no-nfs-version 3`? If your server is compiled with `NFSv3`
support, drop the `--no-nfs-version 3` in your configuration and it should
work!
Enjoy!