Using NFS to automatically mount EFS file systems - Amazon Elastic File System

Using NFS to automatically mount EFS file systems

To update the /etc/fstab file on your EC2 instance
  1. Connect to your EC2 instance:

    • To connect to your instance from a computer running macOS or Linux, specify the .pem file for your SSH command. To do this, use the -i option and the path to your private key.

    • To connect to your instance from a computer running Windows, you can use either MindTerm or PuTTY. To use PuTTY, install it and convert the .pem file to a .ppk file.

    For more information, see the following topics in the Amazon EC2 User Guide for Linux Instances:

  2. Open the /etc/fstab file in an editor.

  3. To automatically mount a file system using NFS instead of the EFS mount helper, add the following line to the /etc/fstab file.

    • Replace file_system_id with the ID of the file system you are mounting.

    • Replace aws-region with the AWS Region that the file system in, such as us-east-1.

    • Replace mount_point with the file system's mount point.

    file_system_id.efs.aws-region.amazonaws.com:/ mount_point nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,_netdev 0 0

The line of code you added to the /etc/fstab file does the following.

Field Description

file-system-id:/

The ID for your Amazon EFS file system. You can get this ID from the console or programmatically from the CLI or an AWS SDK.

efs-mount-point

The mount point for the EFS file system on your EC2 instance.

nfs4

Specifies the file system type.

mount options

The comma-separated list of mount options for the file system:

  • nfsvers=4.1 – specifies using NFS v4.1.

  • rsize=1048576 – For improved performance, sets the maximum number of bytes of data that the NFS client can receive for each network READ request when reading data from a file on an EFS file system. 1048576 is the largest size possible.

  • wsize=1048576 – For improved performance, sets the maximum number of bytes of data that the NFS client can send for each network WRITE request when writing data to a file on an EFS file system. 1048576 is the largest size possible.

  • hard – Sets the recovery behavior of the NFS client after an NFS request times out, so that NFS requests are retried indefinitely until the server replies. We recommend that you use the hard mount option (hard) to ensure data integrity. If you use a soft mount, set the timeo parameter to at least 150 deciseconds (15 seconds). Doing so helps minimize the risk of data corruption that is inherent with soft mounts.

  • timeo=600 – Sets the timeout value that the NFS client uses to wait for a response before it retries a request to 600 deciseconds (60 seconds). If you must change the timeout parameter (timeo), we recommend that you use a value of at least 150, which is equivalent to 15 seconds. Doing so helps avoid diminished performance.

  • retrans=2 – Sets to 2 the number of times the NFS client retries a request before it attempts further recovery action.

  • noresvport – Tells the NFS client to use a new Transmission Control Protocol (TCP) source port when a network connection is reestablished. Doing this helps make sure that the EFS file system has uninterrupted availability after a network recovery event.

  • _netdev – Prevents the client from attempting to mount the EFS file system until the network has been enabled.

0

Specifies the dump value; 0 tells the dump utility to not back up the file system.

0

Tells the fsck utility to not run at start-up.