About eight years ago when we first set up a filer for a home directory service we knew that we were going to have 25K - 30K accounts, so we split up our home directory tree using the first two letters in the user name. For example, our home directory root is /vol/vol0/h1 so my "scl" home directory is:
/vol/vol0/h1/s/sc/scl
Eight years ago "options cifs.home_dir" only allowed you to specify one directory for CIFS to find home directories. We therefore set up a directory of symbolic links, one for each user, like this:
/vol/vol0/home/shares/scl -> /vol/vol0/h1/s/sc/scl
and did this:
options cifs.home_dir /vol/vol0/home/shares
This has been working just fine.
I see that ONTAP 7.0.1 uses the file /etc/cifs_homdir.cfg to list the directories that contain CIFS home directories and you can list up to 1000. All of our user names begin with two lower case letters, so we have 26 * 26 = 676 directories. So we could list /vol/vol0/h1/a/aa thru /vol/vol0/h1/z/zz in cifs_homdir.cfg .
It occurs to me that a sequential scan of so many directories to find a particular home directory could be costly. It might be smarter for us to just list our one big directory of symbolic links. I know that WAFL uses hashed directories, so finding an entry, even in a large directory, is fast.
However, ONTAP might build some sort of look up table keyed by user name to avoid sequentially searching a large list of directories. If this is true, then ONTAP would probably construct this lookup table even if we list just one big directory of symbolic links. If the single big directory has no advantage, then we might as well abandon it.
Can anyone at netapp offer a recommendation here?
Steve Losen scl@virginia.edu phone: 434-924-0640
University of Virginia ITC Unix Support