Introducing Network File System Version 4 on HP-UX 11i v3
19
Referrals
The Cross Mounts feature allows an NFSv4 client to traverse the server’s shared directories and
seamlessly cross the physical file system boundaries on the server. The Referrals feature allows an
NFSv4 client to traverse shared directories and seamlessly cross the physical file systems located
on different servers. In other words, a referral defines a way for the NFSv4 server to direct an
NFSv4 client to a file system which resides on a different server. The combination of cross mounts
and referrals can be used to construct a global namespace.
HP-UX 11i v3 ONCplus version B.11.31.03 enables the referral functionality on the client and
the server. When a client tries to access a file system located on a different server, the NFSv4
server refers the client to the new server through a special error, NFS4ERR_MOVED, and the
fs_locations attributes. The client automatically and seamlessly mounts to the new server to access
the file system. The referral mount is transparent to the user and applications.
Figure 19 illustrates the referral functionality. As shown in the figure, Server1 is the referral server
which is referring the file system “/a/b” to another server, Server2. The client attempts to mount
a shared filesystem from Server1 via NFSv4. The following lists the sequence of steps as depicted
in the figure:
1. Client tries to access the remote file system by executing the “cd /mnt/a/b” command.
2. Server1 returns NFS4ERR_MOVED for the lookup when it detects that the file system in the
lookup entry (“/a/b”) is a referral, and thus resides on a different server.
3. Client sends FS_LOCATION request to obtain the file system information of the referral.
4. Server1 responds with the referred server information in fs_locations attribute.
5. Client mounts to the referred server to obtain the initial file handle. The mount is performed
inside the kernel and is transparent to the user.
Figure 19. NFSv4 Referrals
R
Atte
Fa
Re
SP
Standby
Po
h
p
Integrity rx
7620
R
Atte
Fa
Re
SP
Standby
Po
h
p
Integrity rx
7620
R
Atte
Fa
Re
SP
Standby
Po
h
p
Integrity rx
7620
Client
# mount –o vers=4 Server1:/ /mnt
Server1 <16.92.86.161>
# share –o refer=/mntp@16.92.86.188 /a/b
Server2 <16.92.86.188>
# share /mntp
1) # cd /mnt/a/b
2) NFS4ERR_MOVED
3) Client sends FS_LOCATION request
4) Server1 returns /mntp@16.92.86.188 in
FS_LOCATION response
5) Client mounts 16.92.86.188:/mntp
providing access to the data