Questions tagged [nfs]

Network File System (NFS) is a network file system protocol originally developed by Sun Micro systems in 1984, allowing a user on a client computer to access files over a network in a manner similar to how local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call (ONC RPC) system. The Network File System is an open standard defined in RFCs.

Original NFS version

The implementation details are defined in RFC 1094. Sun used version 1 only for in-house experimental purposes. When the development team added substantial changes to NFS version 1 and released it outside of Sun, they decided to release the new version as v2, so that version interoperation and RPC version fall back could be tested.

NFSv2

Version 2 of the protocol (defined in RFC 1094, March 1989) originally operated entirely over UDP. Its designers meant to keep the protocol stateless, with locking (for example) implemented outside of the core protocol. NFSv2 only allowed the first 2 GB of a file to be read.

NFSv3

Version 3 (RFC 1813, June 1995) added:

  • support for 64-bit file sizes and offsets, to handle files larger than 2 gigabytes (GB)
  • support for asynchronous writes on the server, to improve write performance
  • additional file attributes in many replies, to avoid the need to re-fetch them
  • a READDIRPLUS operation, to get file handles and attributes along with file names when scanning a directory
  • assorted other improvements.

At the time of introduction of Version 3, vendor support for TCP as a transport-layer protocol began increasing. While several vendors had already added support for NFS Version 2 with TCP as a transport, Sun Micro systems added support for TCP as a transport for NFS at the same time it added support for Version 3. Using TCP as a transport made using NFS over a WAN more feasible.

NFSv4

Version 4 (RFC 3010, December 2000; revised in RFC 3530, April 2003), influenced by AFS and CIFS, includes performance improvements, mandates strong security, and introduces a stateful protocol. Version 4 became the first version developed with the Internet Engineering Task Force (IETF) after Sun Micro systems handed over the development of the NFS protocols.

NFS version 4 minor version 1 (NFSv4.1) has been approved by the IETF and received an RFC number 5661 since Jan 2010. The NFSv4.1 specification aims:

  • To provide protocol support to take advantage of clustered server deployments including the ability to provide scalable parallel access to files distributed among multiple servers (pNFS extension).
  • to provide sessions and Exacely One Semantic (EOS)
1887 questions
9
votes
3 answers

NFS mount mounted inside another NFS mount disappears randomly

I have quite an odd issue where my nested NFS mounts just disappear randomly from time to time. The fstab entries look somewhat like this: nfs:/home /home nfs rw,hard,intr,rsize=32768,noatime,nocto,proto=tcp 0 0 nfs:/bigdir /home/bigdir nfs…
espenfjo
  • 1,686
  • 2
  • 13
  • 15
9
votes
2 answers

Troubleshooting strategy for very poor iSCSI/NFS performance

We have a new Synology RS3412RPxs that offers iSCSI targets to three Windows 2008 R2 boxes and NFS to one OpenBSD 5.0 box. Logging into the RS3412 with ssh and reading/writing both small files and 6GB files using dd and various blocksizes show great…
Alex Holst
  • 2,240
  • 1
  • 15
  • 13
9
votes
2 answers

Mounting NFS3 using Kerberos and AD

I've got a Linux server (Centos 5.6) that needs to automount home directories from a Windows (Server 2008) NFS share using Kerberos. The share mounts (with the nobody user and group) if authentication is turned off. However, if the -o sec=krb5 flag…
Ethan
  • 341
  • 3
  • 9
9
votes
3 answers

The best way to share a file uploads directory across horizontally scaling web servers

I'm currently trying to spec up a horizontally scalable cluster for a drupal based web app, that looks something like the colorful diagram below: The load balancer implements sticky sessions, so a user keeps state once they've been allocated a…
Chris Adams
  • 709
  • 3
  • 11
  • 18
9
votes
4 answers

Can I change the name of an NFS export

I am exporting my /opt/target directory via NFS but I would like the nfs clients to be able to mount it as /target. i.e. I would like showmount -e to show /target not /opt/target. Can that be done?
JonDrnek
  • 247
  • 1
  • 3
  • 7
9
votes
1 answer

Can open files be unlinked on NFS mounted volumes while applications that still have them open read/write?

Does NFS allow me to unlink/delete open files like I can do with local file systems? The reason I ask is that I'm developing something that runs on multiple servers and may access NFS as a back end. It simplifies things somewhat if I can do an…
hookenz
  • 14,472
  • 23
  • 88
  • 143
9
votes
2 answers

Is there a flag I can pass to either `df` or `mount` to make them display results for only locally-mounted file systems?

I'm getting mighty tired of having to manually egrep out NFS- and SMB-mounted file systems whenever I am checking on the condition of locally-mounted file systems. Is there some combination of flags that I can pass to either df or mount that will…
ZaMoose
  • 299
  • 1
  • 3
  • 9
9
votes
1 answer

Error "fileid changed" when accessing files over NFS

I have an nfs-kernel-server configured and running on Ubuntu 10.04 Server. /export THIRD_SERVER_IP(rw,fsid=0,insecure,no_subtree_check,async) SECOND_SERVER_IP(rw,fsid=0,insecure,no_subtree_check,async) /export/ebs…
Roman Prykhodchenko
  • 297
  • 2
  • 4
  • 13
9
votes
1 answer

NFS access from multiple networks

On my NFS server (Ubuntu) I have in /etc/exports the following: /share 192.168.89.1/24(rw,no_root_squash,async) However, I have a new machine which is not in 192.168.89.* IP range, it's in 192.168.92.* instead. How can I make this machine access my…
Luke
  • 3,826
  • 8
  • 36
  • 40
9
votes
6 answers

What are "good" speeds for iSCSI and NFS over 1GB ethernet?

I have an OpenSolaris box sharing out two ZFS filesystems. One is an NFS connection to a CentOS box running VMware server (the disk images are stored in ZFS). The other is an iSCSI connection to a Windows 2008 server with NTFS formatting on top of…
Sysadminicus
  • 596
  • 4
  • 8
  • 20
9
votes
1 answer

mount.nfs: failed to apply fstab options when mount nfs file system in fedora 32

This is my nfs service status in Fedora 32: [dolphin@MiWiFi-R4CM-srv infrastructure]$ sudo systemctl status nfs-server.service ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled;…
Dolphin
  • 351
  • 1
  • 7
  • 15
8
votes
1 answer

File-sharing over Infiniband on FreeBSD

I have a pair of servers, which I'd like to connect to each other directly -- rather than through the switch shared by the rest of the network. I expect to benefit from lower latency and higher bandwidth afforded by the direct connection (including…
Mikhail T.
  • 2,338
  • 1
  • 24
  • 55
8
votes
1 answer

Cannot delete Linux directory - infinite recursion

We have an NFS mount on a RHEL6 VM that supports our version control server - recently, one of the repositories went a bit crazy and this is what I found on the server: ls -latri repo.git/refs/heads/ total 28 5551210 drwxr-xr-x. 2 git git 8192 Jun …
oldNoakes
  • 183
  • 6
8
votes
2 answers

How to identify which NFS client generates disk IO?

Our pool server disk is 100% busy. I checked with iotop and determined that nfsd is the top process which consumes disk IO. I need to narrow that down further and want to determine which of the NFS clients using the server is/are responsible for…
Gani Rakhmatov
  • 227
  • 3
  • 11
8
votes
1 answer

Amazon EFS Mount from OSX

Gentlemen, I followed the instruction on this excellent post but failed to connect. Elastic file system (EFS) mount outside of AWS I use CoreOS in a Mesos Cluster. We have an EFS connected to all the nodes in the cluster so they can share data,…
G Rodriguez
  • 81
  • 1
  • 1
  • 3