{"record":{"id":"32a84fcafad4e682","repo":"kubernetes/kubernetes","slug":"mount-failed-for-nfs-v3-even-after-running-rpcbind","errorCode":null,"errorMessage":"mount failed for NFS V3 even after running rpcBind %s, %v","messagePattern":"mount failed for NFS V3 even after running rpcBind (.+?), (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cluster/gce/gci/mounter/mounter.go","lineNumber":90,"sourceCode":"\t\treturn nil\n\t}\n\n\tif !strings.EqualFold(string(output), nfsRPCBindErrMsg) {\n\t\t// Mount failed but not because of RPC bind error\n\t\treturn fmt.Errorf(\"mount failed: %v\\nMounting command: %s\\nMounting arguments: %v\\nOutput: %s\", err, chrootCmd, args, string(output))\n\t}\n\n\t// Mount failed because it is NFS V3 and we need to run rpcBind\n\toutput, err = exec.Command(chrootCmd, rootfsPath, rpcBindCmd, \"-w\").CombinedOutput()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"mount issued for NFS V3 but unable to run rpcbind:\\n Output: %s\\n Error: %v\", string(output), err)\n\t}\n\n\t// Rpcbind is running, try mounting again\n\toutput, err = exec.Command(chrootCmd, args...).CombinedOutput()\n\n\tif err != nil {\n\t\treturn fmt.Errorf(\"mount failed for NFS V3 even after running rpcBind %s, %v\", string(output), err)\n\t}\n\n\treturn nil\n}\n","sourceCodeStart":72,"sourceCodeEnd":95,"githubUrl":"https://github.com/kubernetes/kubernetes/blob/b882c60b4023bdf09264c2d5d30a2cadebc240fb/cluster/gce/gci/mounter/mounter.go#L72-L95","documentation":"Returned by mountInChroot (mounter.go:90) when the NFS V3 mount failed with the rpc.statd message, rpcbind was then started successfully, but the retried mount still failed. The original lock issue was a symptom; the deeper NFS problem (server reachability, export permission, version mismatch) remains.","triggerScenarios":"NFS server unreachable or doesn't export to the node's IP; firewall blocks NFS ports (2049, mountd); server is NFSv4-only but mounted as v3; auth mismatch (sec=sys vs krb5).","commonSituations":"Cloud firewall/security group blocks NFS; NFS export list excludes the node subnet; typo in server address; NFSv4-only storage mounted without fsType nfs4.","solutions":["Inspect the Output field for the kernel NFS error ('access denied', 'no route to host', 'Connection refused')","Confirm the NFS server exports include the node IP and permit the requested NFS version","Check network/firewall reachability to the server on ports 2049 and 111","If the server is NFSv4-only, set fsType: nfs4 in the PV instead of mounting as v3"],"exampleFix":"# before: NFSv4-only server mounted as v3\napiVersion: v1\nkind: PersistentVolume\nspec:\n  nfs:\n    server: nfs.example.com\n    path: /export\n\n# after: use nfs4\nspec:\n  nfs:\n    server: nfs.example.com\n    path: /export\n  # and on the node, mount -t nfs4 ...\n# or open firewall for 2049/111 and confirm showmount -e nfs.example.com lists /export","handlingStrategy":"validation","validationCode":"// Validate NFS server reachability and export before the node attempts the mount.\nfunc validateNFSExport(ctx context.Context, server, export string) error {\n    d := net.Dialer{Timeout: 2 * time.Second}\n    conn, err := d.DialContext(ctx, \"tcp\", net.JoinHostPort(server, \"2049\"))\n    if err != nil {\n        return fmt.Errorf(\"NFS server %s:2049 unreachable: %w\", server, err)\n    }\n    conn.Close()\n    return nil\n}","typeGuard":null,"tryCatchPattern":"// If the post-rpcbind retry still fails, escalate to a server-side/network diagnosis.\nif err := mountInChroot(rootfs, args); err != nil {\n    if strings.Contains(err.Error(), \"mount failed for NFS V3 even after running rpcBind\") {\n        // server/firewall/export problem, not a local rpcbind problem\n        return diagnoseNFS(err)\n    }\n    return err\n}","preventionTips":["Confirm showmount -e <server> lists the export from a node before wiring the PV","Open firewall for NFS ports (2049, 111, mountd) between nodes and the NFS server","Use fsType nfs4 for NFSv4-only servers to avoid V3 rpcbind path entirely"],"tags":["gce","gci","mount","nfs","rpcbind","volume"],"analyzedSha":"b882c60b4023bdf09264c2d5d30a2cadebc240fb","analyzedAt":"2026-08-07T04:07:48.144Z","schemaVersion":2},"datasetVersion":"2026-08-07T07:17:06.508Z"}