For 6.4+ ONTAP kernels, customers with access to
ManageONTAP SDK (latest version) can use the
Zephyr APIs for symlink creation. The SDK includes C, PERL and JAVA (no
.NET) libraries. Windows clients can programmatically create/read/remove a
symlinks on a filer using the following Zephyr APIs respectively:
file-create-symlink
file-read-symlink
file-delete-file
If you want to use
the symlinks.tranlslations file, I am pretty sure you must use absolute
paths
On 6/18/07, Stephen C.
Losen <
scl@sasha.acc.virginia.edu> wrote:
>
I would like to manage the symlinks in use for the whole company at a
> certain directory depth on our filers (FAS3050 + OnTap 7.2.2). I
would
> like to create the following setup so that users see a single
share when
> they browse the filer via CIFS and FTP but give them
access to data
> spread over more than 1 aggregate, volume and
qtree.
>
> Filer_1
> =======
>
Aggregate_1
>
Data_volume_1
>
Qtree_1
>
All_data (single share visible to company)
>
Real_dir_1
>
Symlnk_Real_dir_2
>
Symlnk_Real_dir_3
>
Symlnk_Real_dir_4
>
>
Aggregate_2
>
Data_volume_2
>
Qtree_2
>
Real_dir_2
>
Data_volume_3
>
Qtree_3
>
Real_dir_3
>
Data_volume_4
>
Qtree_4
>
Real_dir_4
>
>
> I am aware that I need to configure the
widelinks option. How do I
> create the symlinks from my admin host
(FreeBSD) which mounts all the
> volumes over NFS for data management
purposes? I don't want to use a
> Windows machine to create the links.
My users are Win2K and MacOSX
> clients and access their data using
CIFS and FTP (NFS may be used later).
>
> I have a number of
samba servers with this data directory setup as a
> single share
visible to users but data spread over a number of disks. I
> use the
unix "ln -s" command to create the necessary symlinks on the
> samba
servers.
>
> Feel free to point out what may be glaringly
obvious.
>
"ln -s" is what you need. Unlike NFS
where the NFS client follows
the symlink, with CIFS on a netapp, the
netapp follows the symlink
so the symlink must "make sense" to the
netapp. The CIFS protocol
is not "symlink aware" while NFS
is.
In particular, to link to a different volume, you will need to
do
something like this:
ln -s /vol/othervol/qtree/folder
linkname
This symlink may not work on a NFS client because "/vol" may
not
exist on the NFS client. But the netapp will certainly
understand
it. I have never done this, so I don't know about
any issues
regarding access rights.
Within a volume you can try
relative paths in your symlink.
ln -s ../../otherqtree/folder
linkname
Note that if you ever have multiple filers that you are out
of
luck because there is no way to symlink to another
filer. (Yes,
you can do it with NFS because the client can
mount both filers
and the client follows the symlink, not the
netapp.)
There are data virtualization products out there on the
market
(Acopia Networks, for example: http://www.acopia.com ) that sound
kind
of like what you want to do, but may be overkill for
your
installation.
Steve Losen scl@virginia.edu
phone: 434-924-0640
University of
Virginia
ITC Unix Support
--
--tmac
RedHat Certified Engineer