Mounting DFS on Oracle Linux

A Distributed File System (DFS) allows administrators to group shared folders located on different servers by transparently connecting them to one or more DFS namespaces.

In order to mount any DFS on a Linux system we require both keyutils and a samba client installed on the system.

As of writing the following packages are available for the Oracle Linux 5.11 system I have locally:

keyutils-1.2-1.el5.x86_64.rpm

If you currently do not have the samba-client installed, then the following packages are also required:

samba-client
samba-common

After installing the above packages we need to update the keyutils configuration file /etc/request-key.conf adding/updating the following entries:

create cifs.spnego * * /usr/sbin/cifs.upcall %k
create dns_resolver * * /usr/sbin/cifs.upcall %k

Mount the desired DFS using the following:

mount -t cifs //dfs-server/folder mount-point

additional mount options include (see the man page for all options):

mount -t cifs -o ro,username=,password=,... \
      //dfs-server/folder mount-point

For example:

# mount -t cifs -o ro,username=domain/user,password=mypass,uid=oracle,gid=oinstall  //filer1/myfolder /mnt

From the above example:

  • ro -- I only want to mount the DFS read-only (omit this if you require read-write)
  • domain/username -- the authentication domain/user from the DFS server needed to mount the requested entry
  • uid/gid -- specifies the user/group to which the remote file system is owned locally (in this case oracle/oinstall)
  • /mnt -- is the local folder to mount the DFS onto.
  • //filer1/myfilder -- are the names of the remote DFS server and folder I wish to mount.