Unable to mount SAM-QFS file system after IP address changed

After changing the IP address of a SAM-QFS server clients are unable to mount the SAM-QFS file systems.

When attempting to mount the SAM-QFS file sytems, we get the following error:

# mount samqfs1
mount_samfs: sc_mount () error: Transport endpoint is not connected
In the sam-log on the server, we see:

Info OS call Error: FS samqfs1: Short read from server; Shutting down
Info OS call Error: FS samqfs1: Unsuccessful server message exchange

And on the SAM-QFS clients we are seeing:

Info OS call Error: SetServerSocket: Inappropriate ioctl for device

The issue is generally caused by one of the following:

  • There is no connectivity to the metadata server
  • Hostnames don't match

In our case, the latter was the problem. Basically, sam-fsd still contains the old IP information.

Running samsharefs with the -R option confirms this:

# samsharefs -R samqfs1
#
# Host file for family set 'samqfs1'
#
# Version: 4    Generation: 18    Count: 6
# Server = host 0/schlumpf, length = 192
#
192.168.1.1 1 0 server
192.168.1.2 2 0
192.168.1.3 3 0

In the above output, we see that the old IP addresses are still listed. To resolve the issue we issue the samsharefs -u -R

# samsharefs -u -R samqfs1
#
# Host file for family set 'samqfs1'
#
# Version: 4    Generation: 18    Count: 6
# Server = host 0/schlumpf, length = 192
#
10.1.1.10 1 0 server
10.1.1.11 2 0
10.1.1.12 3 0

Procedure

The correct procedure to modify the IP address and/or add additional clients, perform:

  • Edit /etc/opt/SUNWsamfs/hosts on the server to change the IP addreses of the metadata servers, and/or add the new client:
  • Update the binary hosts file on the server:
    • If the file system is mounted:
      # samsharefs -u
    • If the file system is unmounted:
      # samsharefs -u -R

If you need to remove a client you must firstly unmount the file system from the clients, then the server before make the necessary changes.