Network File System (NFS) is a distributed file system protocol that lets users access files over a network similar to the way they access local storage. In this article, we’ll discover more about network file systems and see how AWS EFS, a popular cloud file sharing service, can provide you with NFS capabilities when you run workloads on the Amazon cloud.
In this blog post, we’ll look at 5 key considerations to address when using AWS EFS as your NFS solution, including operating system support, on-premise access to files, and managing backups. In this post, we’ll take a deep dive into AWS NFS, and show how NetApp Cloud Volumes ONTAP can address these considerations.
In this article:
Network File System (NFS) is a distributed file system protocol that allows users to access files over a network like they access local storage. NFS users can “mount” a portion of the file system on a server, and those files are designated as an additional drive in the user’s operating system and become accessible locally.
NFS was developed in the 1980s and has gone through several versions; the latest version NFSv4.2 (RFC-7862) released in 2016. Features in the latest version of the protocol include server-side copying, application input/output (I/O) advise, sparse files, and application data blocks.
While earlier versions of the protocol used User Datagram Protocol (UDP), from version 4.2 onwards NFS runs on top of Transmission Control Protocol (TCP).
If you are running workloads on the Amazon cloud, Amazon Elastic File Service (EFS) is the solution you can use to provide users with NFS capabilities.
EFS is a shared file system that can be accessed by machines running on Amazon EC2. It is scalable and elastic, supporting thousands of attached machines instances on EC2 with predictable performance.
While Amazon S3 also offers shared storage, EFS provides higher performance and a file-system based model that doesn’t require changes to existing applications. An application can access files on EFS just like it would do in an on-premise environment. S3 does not support NFS.
Comparing EFS to another popular Amazon service, Elastic Block Storage (EBS), the major advantage of EFS is that it offers shared storage. EBS has higher performance, but it is attached to a specific EC2 machine instance and cannot be shared across multiple machines. EBS does not offer NFS access.
The following are five things that are important to know before you implement EFS as your NFS access solution.
1. Only Linux is supportedAWS EFS supports NFS 4.0 and 4.1, but an important caveat is that NFS on Amazon only works with Linux instances (Amazon provides shared storage for Windows using a different service, Amazon FSx). Any Linux-based EC2 machine can mount a folder stored on EFS as a local drive, using NFS. Access to files is secured using POSIX permissions.
2. You can allow on-premise machines to access cloud-based files via NFSWhen you use EFS, not only cloud machines can mount files as a local drive; on-premise machines can do so too. But this requires a VPN connection to the cloud or using AWS Direct Connect, which gives you a private network link into your Amazon Virtual Private Cloud (VPC).
3. You can leverage Amazon availability zonesEFS lets you save files across multiple Availability Zones and Regions. This lets you set up high availability for the data, or enable fast access for machine instances running in different Amazon data centers, or deployed in the same country or region as a specific data center.
4. Backups slow down EFS performance and NFS accessBe aware that when you perform a backup using EFS, the backup operation counts towards your allowed file system throughput, and this will slow down access to EFS for all attached devices. Plan your backups carefully to ensure you don’t slow down access to data via NFS.
5. EFS is effectively cheaper than EBSEBS has a lower price per GB-month compared to EFS—$0.10 for EBS vs $0.30 for EFS. However, you should realize that payment is per EFS share and not per machine instance, so the cost of using EFS decreases the more machines you have accessing EFS. With EBS, you need to pay for separate, dedicated storage volumes for each machine instance, so in most scenarios, EFS will be substantially cheaper.
NetApp Cloud Volumes ONTAP, the leading enterprise-grade storage management solution, delivers secure, proven storage management services on AWS, Azure and Google Cloud. Cloud Volumes ONTAP supports up to a capacity of 368TB, and supports various use cases such as file services, databases, DevOps or any other enterprise workload.
In particular, Cloud Volumes ONTAP provides file sharing services, serving NAS, including NFS, SMB / CIFS and multiprotocol access.