Friday, January 17, 2014

Setting Up NFS Services for Sharing directories in Solaris10

NFS, or Network File System, is a server-client protocol for sharing files between computers on a common network. NFS enables you to mount a file system on a remote computer as if it were local to your own system. You can then directly access any of the files on that remote file system. The server and client do not have to use the same operating system. The client system just needs to be running an NFS client compatible with the NFS server.

Setting Up NFS Services

How to Start the NFS Services


  1. Become an administrator.
  2. Enable the NFS service on the server.
    Type the following command.
    # svcadm enable network/nfs/server
    This command enables the NFS service.

    Note - The NFS server starts automatically when you boot the system. Additionally, any time after the system has been booted, the NFS service daemons can be automatically enabled by sharing the NFS file system. 

How to Stop the NFS Services

  1. Become an administrator.
  2. Disable the NFS service on the server.
    Type the following command.
    # svcadm disable network/nfs/server
Problems
svcadm fails to enable nfs/server

When trying to enable nfs/server, you keep getting this message that another entity has disabled the service but I cannot find where the problem is.

Code:
hostname:> svcadm -v enable -s svc:/network/nfs/server
svc:/network/nfs/server:default enabled.
svcadm: Instance "svc:/network/nfs/server:default" has been disabled by another entity.

svcs doesn't really tell anything about what the problem is. In fact, svcs says that it is disabled by an administrator.

Code:
hostname:> svcs -xv nfs/server
svc:/network/nfs/server:default (NFS server)
 State: disabled since Tue Aug 12 19:59:12 2008
Reason: Disabled by an administrator.
   See: Sun Message ID: SMF-8000-05
   See: man -M /usr/share/man -s 1M nfsd
Impact: This service is not running.

Solution
This generally occurs when you try to enable NFS server service without sharing any directory. or file /etc/dfs/dfstab doesn't exists
You need to setup share in the /etc/dfs/dfstab
mkdir /export/test
vi /etc/dfs/dfstab and add:

share -F nfs /export/test


Nfs client mount RPC Error: Program not registered.

When trying to mount nfs partition in nfs client, you keep getting this message that Nfs client mount RPC Error: Program not registered.
Code:
# mount -t nfs 10.10.4.150:/data/pops_sva /mnt
mount: mount to NFS server '10.10.4.150' failed: RPC Error: Program not registered.
#

Solution
This generally occurs when you try to mount NFS partition without sharing any directory from server or due to access restriction in server.
On NFS client, check the output of:
It should show some shared directory as shown in output below
Code:
showmount -e <ip of server>
rpcinfo -p <ip of server>
e.g.
bash-3.2# showmount -e 172.16.10.11
export list for 172.16.10.11:
/share (everyone)

If output of 'showmount' command is blank or specific IP then you need to check settings on server or share it to client IP 


1st at server end run these command
mkdir /share
vi /etc/dfs/dfstab    (Add below line)
/usr/sbin/share -F nfs -o rw -d "" /share
svcadm -v restart -s svc:/network/nfs/server   << For Public Share
/usr/sbin/share -F nfs  -o ro=192.168.111.10/32 -d "" /share << For Specific IP Share
showmount -e 1.2.3.4 (your ip address=1.2.3.4 change as per ur req)
now at client machine
showmount -e 1.2.3.4
mkdir /share2
mount -t nfs 1.2.3.4:/share /share2
ls /share2    (share2 will list the contents of Server share)

Search & Buy Amazon Products at discounted rate!!

Newsletter

Subscribe to AtoZ-networking Newsletter

Do you want to receive Linux FAQs, Microsoft FAQ, Solaris FAQ, detailed Networking tutorials and tips published at atoz-networking? Enter your email address below, and we will deliver our Linux posts straight to your email box, for free. Delivery powered by Google Feedburner.

Sign-up for the newsletter