Forcibly Unmounting NFS Filesystems
forcibly unmounting nfs filesystems
available solutions
7
setup a temporary
“surrogate” nfs
server
In the example shown in Figure 1 the fuser(1M) command was able to kill the processes
holding the NFS filesystem busy, and thereby allow the filesystem to be unmounted.
However, in many situations the processes accessing a down NFS filesystem are sleeping
at an uninterruptible level in the kernel and are unable to receive signals, such as SIGKILL
or SIGTERM. In these situations, fuser(1M) will not be able to kill these processes and the
filesystem will remain busy.
Obviously the best solution in this situation is to get the real NFS server back in operation
so that these blocked processes can complete their transactions. Unfortunately, it isn’t
always possible to bring the NFS server back online quickly, or at least not in an
acceptable timeframe for NFS client users.
At times such as this, one possible solution is to setup a temporary “surrogate” NFS
server. In other words, locate a working NFS server system in your environment and
temporarily configure the IP address (or addresses) of the down server to this working
NFS server. By doing this, the NFS client systems will be able to get a response from a
live NFS server system. If an alternate NFS server cannot be located, another possibility
would be to take one of the blocked NFS client systems and enable NFS server-side
services on this system and then add the down NFS server’s IP address to this system.
Figure 2 below and Figure 3 on page 8 illustrate the various steps involved in setting up
a temporary “surrogate” NFS server. Each step in the example is numbered and
described in detail below.
Figure 2 - Setup a “surrogate” NFS server (part 1)