How to configure NFS in EMC Elastic Cloud Storage (ECS) Appliance?

Elastic Cloud Storage (ECS) appliance from EMC is a storage array which allows multiprotocol access to the storage space. A bucket can be configured to simultaneously access via Amazon S3, Swift and NFS. Likewise, it can be allowed to access via HDFS. This post explains about how to configure NFS in ECS. It took me a lot of time to figure out the steps since there was no clear documentation available to configure NFS in ECS. In this example, we will mount a bucket created in ECS as NFS share to Linux host running CentOS 7.

Before creating a bucket, we should create a user in ECS portal. Login to ECS portal by navigating to any one of the public IP’s set on the nodes. You will see Dashboard after login expand Manage and then click Users. It is assumed that you have already defined storage pools, virtual data center, replication group and namespace.

Step 1:

In user management window, by default Object Users tab is selected. Click New Object User. Type a suitable name for the new user, and select a relevant namespace. Click Next to Add Passwords. Under S3 click generate and add password. Generating an S3 password is optional, because if you plan to allow multi-protocol access it can be generated. The same applies for Swift and CAS.

Once done, the user that you have created should look the one in the following screenshot. (If the image is not clear, click the image to open in new tab)

Create User

Step 2:

Next step is to create a bucket where the data is going to be stored and retrieved. Click Buckets and click New Bucket in Bucket Management page. Type a suitable bucket name, and select the relevant namespace and replication group. And then in Bucket Owner field, type the user that we just created in step 1. In my case, it is az_nfs. Scroll down and click Enabled for File System. If the bucket is created without enabling file system access, it is not possible to enable it later.

Before continuing further, get the Linux group name that the Linux user is part of

In Default Bucket Group field type the group name of the Linux user. Once done it should look like the following,

Create Bucket
Create Bucket contd..

Step 3:

In this step, we map the ECS object user with the Linux User and the group. Before continuing further, get the Linux user ID. Once you know the Linux user ID, Click File, next click User / Group Mapping tab and then click New User / Group Mapping. Type the ECS object user name and the ID of Linux user as shown in the screenshot. Next click Save.

User Mapping
User Mapping

Step 4:

After mapping ECS object user with Linux user, now we can create an NFS export of the bucket. While on the same page, click Exports tab and then click New Exports. In Bucket field select the bucket that we created and the export path will automatically change. Following is a screenshot of that,

New File Export

Now click Add which is next to Export Host Options. In this step, we are adding the Linux host. Following screenshot show what need to be selected. Type in IP address of the Linux host in Export Host field and type ECS object username in AnonUser, AnonGroup and RootSquash fields. And then click Add.

Add Export Host
Add Export Host

Final Step

Now it’s time to mount and test the share in Linux Host. Make a note of the export path, and establish a terminal session to the Linux host. Following is the Linux command to mount the share.

# sudo mount -t nfs -o vers=3,sec=sys,proto=tcp \ x.x.x.x:/namespace/az_nfs_bucket/ /home/az/Desktop/ecs_share

After this, the share will be mounted to ecs_share directory and you will be able to create files and folders. Having challenges? Please feel free to comment.


Originally published at SAN Enthusiast.