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
7
votes
1 answer

Gluster + ZFS, deadlock during benchmarking: zfs_iput_taskq 100% cpu

First some background: I work at a company that runs a PHP-webapplication. We have a storage backend mounted over NFS on several webservers. Today we have the issue if one webserver writes a file over NFS, sometimes the file does not appear at other…
MannerMan
  • 73
  • 1
  • 5
7
votes
1 answer

Relationship between MTU and NFS rsize/wsize options

I'm trying to understand networking settings related to NFS and various buffer sizes (and there are quite a few). I'm running wireshark and inspecting the TCP packets arriving at the NFS server. Wireshark is showing a packet size max 32626 during an…
Jmoney38
  • 177
  • 1
  • 1
  • 4
7
votes
1 answer

Unable to launch MSI installers off NFS share

I have a Linux server where I've configured a read only NFS share. The client I'm currently working on is a Windows Server 2008 R2 machine that has the NFS features installed. I'm able to open and execute all files except any MSI file. For some…
7
votes
5 answers

DRBD vs. GlusterFS for replication

I need to build a solution to host internal git repositories. It needs to supports hundreds of thousands (or more) repositories. I plan on using multiple "dumb" servers with a shared storage, so basically when a client is trying to access a…
Gilad Novik
  • 307
  • 2
  • 3
  • 10
7
votes
3 answers

Linux: echo 3 > /proc/sys/vm/drop_caches takes hours to complete

I have a Thecus N8900 NAS, which is a Linux based file server, providing files via NFS to six clients. For some reason that Thecus support has yet to explain, it runs a script that checks /proc/meminfo every 60 seconds and if the disk cache exceeds…
rmm
  • 81
  • 1
  • 2
7
votes
3 answers

How to achieve multiple NFS/TCP connections to the same server?

I'm trying to maximize the NFS/TCP bandwidth between a Linux client and a single NFS server over a 10Gbps link. Although each NFS mount has its own device (major/minor), everything comes down to a single TCP connection and this is a…
Benoît
  • 1,341
  • 3
  • 11
  • 23
7
votes
3 answers

Vagrant OS X host nfs share permissions error - Failed to set owner to '1000'

I am a Vagrant and Puppet newbie, I have created a Base Box with Debian Squeeze plus standalone Puppet, using the instructions here to install Puppet with the Puppetlabs packages. The box itself seems to import successfully but once I get onto…
rachelandrew
  • 71
  • 1
  • 4
7
votes
4 answers

Securing NFS against SSH tunneling

I was idly reading http://nfs.sourceforge.net/nfs-howto/ar01s06.html trying to understand why localhost exports were bad when I got to the section "6.4. Tunneling NFS Through SSH". Everything in that section about it being a possible security…
CrazyCasta
  • 215
  • 3
  • 10
7
votes
3 answers

Recommendations: configuring a 10GbE NAS stack for virtualisation storage

I'll try as hard as I can to word this so it is not considered a shopping list. We have been successfully running a dev/test ESXi environment for some time, with a couple of Dell PE2950III servers over an HP MSA2012fc Starter Kit (with the…
7
votes
3 answers

centos 6 nfs: logs not showing anywhere

Can someone please tell me where NFS logs in centos 6? Or perhaps where I can tell NFS to send logs? At the present time, there appears to be no such setting. Trying to get the thing to work without logs is quite frustrating. [root@houston…
stormdrain
  • 1,439
  • 7
  • 28
  • 52
7
votes
3 answers

What is the use-case for NAS on a mid-to-high end storage array?

Many large storage vendors (EMC, NetApp, etc) provide storage equipment that does NAS in addition to FCP, FCoE, or iSCSI. When would it be appropriate to use the NAS functionality of these boxes? In an SMB setting, a NAS is a cheaper replacement…
MDMarra
  • 100,734
  • 32
  • 197
  • 329
7
votes
4 answers

Determining disk space usage & file counts for extremely large data sets (any tricks?)

Long time reader, first time asker: I'm a junior-level Linux admin who's increasingly supporting very large data sets/stores on local & NFS storage. The data is generally in the form of massive folder & file trees with arbitrary names. To give an…
user132791
  • 73
  • 1
  • 1
  • 3
7
votes
1 answer

how to mount a directory from another server?

I have two Ubuntu servers. One of them has a directory with data. I want this directory to be visible (and writable) by the second server. How can I do this? What tool to use?
yegor256
  • 1,836
  • 3
  • 16
  • 30
7
votes
2 answers

How to allow writing to a mounted NFS partition

How do you allow a specific user permission to write to an NFS partition? I've mounted an NFS share on my localhost (a Fedora install), and I can read and write as root, but I'm unable to write as the apache user, even though all the files and…
Cerin
  • 3,600
  • 19
  • 61
  • 79
7
votes
0 answers

how to tune NFS client on MacOS to get Linux like performance?

I have a NFS server running Linux and exporting a couple of shares. Both Linux and MacOS clients connect to the server, and while with the Linux clients I get ~ 75MB/s write speed, the MacOS clients only get ~ 25MB/s write speed (same file, same…
memyself
  • 335
  • 6
  • 13