Ran into a recent problem at work today, which shouldn’t have been an issue. However, something that normally took a few minutes ended up taking all morning to resolve, and shed light on a few other oddities. I got a ticket early in the morning that a user no longer had access to a directory on a server that has had numerous restores done to it over the last few weeks while the developers try to get it working again. So I logged on and checked the permissions and discovered the folders were owned by root, and quickly realized they were NFS mounts. No matter what I did though, I couldn’t get access to those mounts from the remote system. Other systems mounted that server fine, and that system mounted other nfs shares fine too. It turned out that the server had decided to start sending traffic to the nfs server in question over a vip instead of it’s primary link. This vip of course wasn’t in DNS, or in the hosts file, or in the vsftab file. A quick addition to /etc/hosts and it started working again. However, here is a list of steps for troubleshooting NFS in a solaris environment.
- Can the client ping the NFS server?
- Can the server ping the client?
- Can the server resolv the ip of the client to a name?
- Is the NFS service and associated (rpcbind, portmap, etc) running?
- Is it running on the client also?
A little more indepth
- Does the share show up as an export via share?
- Is the client an allowed client?
- What happens when you run showmount -efrom the client?
- Are the permissions valid?
- If the permissions are for NIS users/groups, are both systems seeing the same NIS server?
- Do the ACL’s make sense?
- Don’t forget, getfacl on Solaris < =9, ls -v on Solaris >= 10
- Run snoop and watch the nfs traffic