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.
Thanks
Francois
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
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
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
-----Original Message----- From: tmac [mailto:tmacmd@gmail.com] Sent: Monday, June 18, 2007 11:06 AM To: Stephen C. Losen Cc: francois.joubert@imagination.com; toasters@mathworks.com Subject: Re: Symlinks and CIFS, FTP (and NFS) 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 mailto: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
On 18/06/2007, at 10:16 PM, Francois Joubert 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).
[snip]
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?
Symlinks are a concept which does not exist in Windows or CIFS, so you must create the symlink in an NFS environment. Your FreeBSD box can do that.
You need an effective path virtualization scheme which works cross-platform, so that there are equivalent virtual paths available in both your UNIX and Windows environments. The Windows and UNIX paths do not need to be identical (indeed they cannot be) but it is helpful if they are as similar as practical.
For instance, we have a system where a UNIX virtual path: /path/to/a/file always has a Windows equivalent T:\path\to\a\file
Your choice of drive letter may vary, but using a drive letter (only one required for the whole virtual name space) frees you from the ugliness of UNC paths.
You can do this in UNIX by using an automounter or (yuk) hand-edited fstab files.
On the Windows end, using widelinks (which are just symlinks the filer uses to generate CIFS referrals) are an option, but consider also using DFS, which runs on a Windows server and are IMHO easier to manage than widelinks. We use our domain controllers as DFS servers, the load is not great even with hundreds of clients.
You can also get third party products to do this sort of thing. One option is VFM (from NetApp) but there are others which may also be cross-platform.
The big deal whatever you do is to organize your paths so that the paths the user sees do not depend on where the data is actually stored. That way you can move the data around without your users having to update embedded path names.
HTH, Jeremy
ps. symlinks are like goto statements, use them sparingly and wisely!
-- Jeremy Webber Senior Systems Engineer Animal Logic Pty Ltd Phone: +61 2 9383 4837 Fax: +61 2 9383 4801 Switch: +61 2 9383 4800
Thanks for the responses. I have it working as I want it to. I have a small single visible CIFS share which contains the symlinks to the real data volumes which are not visible as CIFS shares. Even though NFS reports the links as broken, my CIFS and FTP clients follow the links.
Francois
Francois Joubert 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.
Thanks
Francois