Network and Storage Protocols

Using Widelinks in a CIFS environment

jwrobertson
17,666 Views

Has anyone ever setup Widelinks in a CIFS only environment?

We have a FAS 3070 cluster, and I'm trying to re-direct users from a volume on one head to a volume on a different head (or possibly even on the same head).  I was able to do this using NFS, but our NFS license was temporary, so to create any new ones, I need to do it using CIFS only.

I've read through the following documents, but they have been no help:

About Widlinks Entries: http://now.netapp.com/NOW/knowledge/docs/ontap/rel723/html/ontap/filesag/7multi53.htm

Definitive Guide to Setting up Widelinks (that's debatable): https://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb7368

A more detailed explanation of what I'm trying to do:

We have several large file systems, over 2 TB each.  The users need to be able to go to a single directory within an already established DFS root (which I'll call \\Domain.com\DFSRoot) and see each of these file systems as a subdirectory of that single directory.  So, I've created a DFS link within the DFS root... we'll call it TopDirectory that points to a CIFS share/volume on Filer A with the same name.  Using NFS, I had to mount that directory to a Unix machine along with all the volumes I wanted to appear as a subdirectory (I'll call them Volume01 - Volume10, and they each reside on Filer B).  From the Unix machine, I then ran the command ln -s /mnt/Volume01 /mnt/TopDirectory/Volume01 for each of the volumes that I want to appear as subdirectories.  This created a symbolic link for each of the directories within the TopDirectory volume.

Then I had to edit the /etc/symlinks.translations file on Filer A so that the symbolic links would point to a share on Filer B.  So, the entries would look like this:

Widelink /mnt/Volume01/* \\FilerB\Volume01\*



Widelink /mnt/Volume02/* \\FilerB\Volume02*\

Widelink /mnt/Volume03/* \\FilerB\Volume03\*

Widelink /mnt/Volume04/* \\FilerB\Volume04\*

Widelink /mnt/Volume05/* \\FilerB\Volume05\*

Widelink /mnt/Volume06/* \\FilerB\Volume06\*

Widelink /mnt/Volume07/* \\FilerB\Volume07\*

Widelink /mnt/Volume08/* \\FilerB\Volume08\*

Widelink /mnt/Volume09/* \\FilerB\Volume09\*

Widelink /mnt/Volume10/* \\FilerB\Volume10\*

This works as advertised.  When I go through DFS to \\Domain.com\DFSRoot\TopDirectory I see all ten directories and can go into them to see their contents.

My question now is, how can I create the symbolic links if I don't have an NFS license?  I've been told that I can use ln.exe to create them, but I can't get it to work.  The copy of ln.exe that I have was apparently created by NetApp, but their help desk says they do not support it.  Apparently there is a version that came with Windows Resource Kit, but I think it was an older version.  I think it was replaced with linkd.exe, which I've tried, but I can't get that to work either.  I've tested linkd by creating a link on windows server to a different directory, but if I try to use a UNC path, it fails.

Can anyone tell me how to do this, or if it can even be done?

Thanks!

1 ACCEPTED SOLUTION

t2mattbrown
12,699 Views

Thanks guys!

Think I got it...

1) On the netapp: Verify/enable that cifs.symlinks.enable is on

options cifs.symlinks.enable

2) Enable widelink for the CIFS share:

cifs shares -change _foo$ -widelink

3) On the netapp: Create the entry in the /etc/symlink.translations file as [note the wild-card filter https://kb.netapp.com/support/index?page=content&id=1011758 ]:

Widelink /vol/VOLUME/_foo/XXXX/* \\CIFSSERVER\CIFSSHARE*

(where XXXX is the name of the symlink file you will create in step 5b)

4) From a windows box (you must obtain a Windows binary port of the ln.exe command so that you can use the UNIX-like path that lives on the filer, or use the ntap_symlink, which seems to use OnTap's RESTful API over HTTP):

5a) Authenticate to the filer by mapping a drive:

net use p: \\FILER\_test$

5b) Create the symbolic link using the windows binary port of ln.exe:

ntap_symlink -l USER FILER /vol/VOLUME/_foo/XXXX/ /vol/VOLUME/_foo/XXXX

Message was edited by: t2mattbrown

View solution in original post

19 REPLIES 19
Public