As part of “data-va” configuration (while deploying a Horizon Workspace environment), you might want to add an NFS store.  In fact, it is recommended to do so for larger environments for flexibility, performance and scalability reasons.

Typically, the way to do it is to create an NFS share and set access so that the data-va machine can access it and then run the following as “root”:

/opt/vmware-hdva-installer/bin # ./mount-nfs-store.pl –nfs

[NFS Store Name]:/[Path to store]

It’s a perl script and when run, mounts the NFS share, sets it as a “Primary” store and makes it the current store.

However, you might sometimes find that the script doesn’t run properly and while it manages to mount the share (proving there are no access issues), it is not listed in the list of stores.

To check this, change to the “Zimbra user” (by running “su – zimbra”) and run “zmvolume -l”:

Zimbra Store List

The command lists all current stores.  As you can see, only the default stores are visible. If that happens, you have to run a few commands to achieve the same result manually.

In my case, the NFS store mounted was “store27” so let’s go with that. Assuming the store is mounted correctly to the data-va appliance (use “mount” command to verify) and read/write access is enabled, the next thing to do is to add a volume to this configuration.

To achieve that, run the following command (assuming you want to name it “message 2”):

Zimbra Primary Store Addition

Doing that, should add the share as a store to zimbra. Once a confirmation is returned, running the “zmvolume -l” again reveals:

Zimbra Store List after addition

Great! The store is there but you can see that it’s still not set to current. Without that, the data won’t go in there. To correct this, the following command is required:

zmvolume –setCurrent –id [Volume id]

As in the screenshot above, Volume ID of the store I’ve just added is 3.

Zimbra Store - setCurrent

After running the command the store is set to current and now the data uploaded should go into the right store. Also note that the field “current” for “message 1” (which was the original store) has now changed to “false”.

But wait, how do you know it’s actually working as expected?  Well, you upload some data and then, go and look for yourself. If you haven’t configured “Horizon Files” yet then go configure that and upload some files. Make note of the size and time of each file uploaded.

Once done, go back to the data-va appliance console and change to “Zimbra User”. At Zimbra prompt, change to the NFS store and start changing directory to dig deeper. Here is a screenshot of what to expect. Each level of directory is in the screenshot to show what lives there:

Zimbra Store - setCurrent

One thing to remember is that this works like a messaging system so what you’ll see are *.msg files. Size, date and times of these files should coincide with what you uploaded as part of the test. If they match, you know the data is going into the right store!

I hope this helps anyone not managing to map NFS share(s) using the normal method as there isn’t any guidance currently available for such situations.