Why do I need to use complicated ways to access my files that are located on company’s server or in my homelab, for example? I want to ask the same question in order to make remote files available for my local applications without any extra actions. The answer, as well as the solution to the problems listed above, lies in the next four words – Network File System protocol.
I’d like to start with the general description of the NFS technology and some background about its purpose, and how it was created. The story goes back to middle 80’s when, alongside with the Van Halen’s new “1984” album, the company named Sun Microsystems created a Network File System protocol. It allowed users to access some files from the servers over a network, just like if these files were located on users’ machines.
Since that time, there were several versions of the NFS protocol released. Originally, the protocol was operating over UDP till NFSv3 update, in which TCP was added as a transport service. That allowed transferring blocks of a larger size which was limited by UDP before. The latest versions of the NFS protocol, including v4, v4.1, and v4.2, were developed by another company named Internet Engineering Task Force (IETF). They include performance increase, multiple security updates, and scalability.
Generally speaking, you can mount the local storage of your server on an NFS file server, so that this storage could be accessed by users. Additionally, there is an option to assign privileges, which allows you managing the access to your NFS share. As an improvement to this configuration, the NFS file server can be created on top of highly available shared storage, such as StarWind Virtual SAN, so the reliability of the system will be significantly increased.
The process of creating NFS file shares is extremely straightforward. Before dealing with storage that will be exposed as an NFS share, you need to add several roles and features in order to create it on the NFS file server. This can be performed from the Add Roles and Features Wizard in Server Manager.
After the roles have been added successfully, you need to create the actual NFS share, using New Share Wizard.
During the process of creating the NFS share, you will be able to specify the location, authentication parameters and share permissions, depending on your requirements.
As a result, you will get a storage repository that can be shared via a network.
NFS shares will definitely come in handy in those scenarios when you need to give the transparent remote access to the files over the network. Moreover, the functionality of the NFS file server will allow creating access lists for users and manage the permissions to the files. Speaking about the performance, the NFS share is completely comparable to the local file access speed. Additionally, using shared storage as an underlying repository for the NFS file server will make this configuration highly available and fault tolerant, ensuring that your clients will not lose their data.