Checking NFS server status confirms that the host which owns the exports has its server unit loaded, its kernel NFS interface available, and its active export table populated before clients retry mounts. Run the check after package installation, export changes, service restarts, firewall work, or a handoff from storage administration to client operators.
Most current systemd distributions expose the server through nfs-server.service. The unit starts rpc.nfsd and related helper services, while exportfs maintains the active export table that clients use when they request a share.
A local status check does not prove that every remote client can mount the share. Firewalls, client selectors, protocol-version settings, and NFSv4-only servers can still change what clients see, so pair the server-side checks with a client visibility or mount test when the network path is part of the incident.
Related: How to list NFS exports on a server
Related: How to reload NFS exports
Related: How to list NFS exports from a client
Steps to check NFS server status in Linux:
- Open a shell on the NFS server with an account that can use sudo.
- Check the main NFS server unit.
$ sudo systemctl status nfs-server --no-pager ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; preset: enabled) Active: active (exited) since Sat 2026-06-06 08:14:21 UTC; 2min 18s ago Docs: man:rpc.nfsd(8) man:exportfs(8) Process: 1423 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Process: 1428 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)active is the good signal. active (exited) can be normal because the unit starts kernel NFS threads and helper daemons instead of keeping a long-running service process.
On current Ubuntu packages, nfs-kernel-server.service is an alias for nfs-server.service. RHEL-family systems also use nfs-server.service.
If the unit is inactive or failed, inspect the unit journal and export configuration before asking clients to retry.
- Confirm the NFS kernel interface exposes the expected protocol versions.
$ cat /proc/fs/nfsd/versions +3 +4 -4.0 +4.1 +4.2
A plus sign means that server protocol version is enabled, and a minus sign means it is disabled. A missing /proc/fs/nfsd/versions file usually means the kernel NFS server interface is not mounted or the service has not started.
- List the active export table.
$ sudo exportfs -v /srv/nfs/projects 192.0.2.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)
This output is the active export table, not only the saved /etc/exports text. If the expected path or client selector is missing, reload the exports and check the table again.
Related: How to list NFS exports on a server
Related: How to reload NFS exports - Query the local export list through the mount daemon when NFSv3 or mixed-version clients are in scope.
$ showmount -e localhost Export list for localhost: /srv/nfs/projects 192.0.2.0/24
showmount -e asks rpc.mountd for the export list visible through the mount service.
NFSv4-only servers may not expose the mount service that showmount queries. In that case, use exportfs -v on the server and a real client mount test for final proof.
- Check server-side request counters after a known client mount or file access.
$ nfsstat --server Server rpc stats: calls badcalls badfmt badauth badclnt 128 0 0 0 0 Server nfs v4: null compound 0 0% 128 100%
Nonzero server calls after a client test show that the server answered NFS traffic. Zero counters on an idle server do not by themselves mean the export is misconfigured.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.