Nfs server not serving

# rpm -qa | grep -iE 'ables|rmor'
libxtables12-1.8.7-1.1.x86_64
libapparmor1-3.0.4-150500.9.1.x86_64
# dmesg | grep -iE 'rpc|nfs'
[  298.537387] RPC: Registered named UNIX socket transport module.
[  298.537392] RPC: Registered udp transport module.
[  298.537394] RPC: Registered tcp transport module.
[  298.537395] RPC: Registered tcp NFSv4.1 backchannel transport module.
[  298.984495] NFS: Registering the id_resolver key type
# journalctl -b --no-hostname | grep -iE 'tables|rmor|nfs'
Feb 23 15:56:22 kernel: Kernel/User page tables isolation: enabled
Feb 23 15:56:22 kernel: AppArmor: AppArmor initialized
Feb 23 15:56:22 kernel: ACPI: 3 ACPI AML tables successfully acquired and loaded
Feb 23 15:56:22 kernel: AppArmor: AppArmor Filesystem Enabled
Feb 23 15:56:22 kernel: TCP: Hash tables configured (established 32768 bind 32768)
Feb 23 15:56:22 kernel: AppArmor: AppArmor sha1 policy hashing enabled
Feb 23 15:56:22 kernel: evm: security.apparmor
Feb 23 15:56:22 systemd[1]: systemd 249.14+suse.166.g1bfa716e7f running in system mode (+PAM +AUDIT +SELINUX +APPARMOR -IMA -SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
Feb 23 20:56:37 systemd[1]: systemd 249.14+suse.166.g1bfa716e7f running in system mode (+PAM +AUDIT +SELINUX +APPARMOR -IMA -SMACK +SECCOMP +GCRYPT +GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
Feb 23 21:01:18 kernel: RPC: Registered tcp NFSv4.1 backchannel transport module.
Feb 23 21:01:18 kernel: NFS: Registering the id_resolver key type
Feb 23 21:01:19 systemd[1]: Starting Notify NFS peers of a restart...
Feb 23 21:01:19 systemd[1]: Starting NFS status monitor for NFSv2/3 locking....
Feb 23 21:01:19 systemd[1]: Started Notify NFS peers of a restart.
Feb 23 21:01:19 systemd[1]: Started NFS status monitor for NFSv2/3 locking..
# cat /sys/kernel/security/apparmor/profiles
# systemctl list-unit-files | grep -iE 'wall|rmor'
systemd-ask-password-wall.path         static          -
systemd-ask-password-wall.service      static          -
# cat /etc/exports
/isos   192.168.100.0/255.255.255.0(ro,root_squash,sync,subtree_check,insecure)
# /sbin/rpcinfo -p 192.168.100.245
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  34442  status
    100024    1   tcp  38499  status
    100021    1   udp  49442  nlockmgr
    100021    3   udp  49442  nlockmgr
    100021    4   udp  49442  nlockmgr
    100021    1   tcp  39445  nlockmgr
    100021    3   tcp  39445  nlockmgr
    100021    4   tcp  39445  nlockmgr
# showmount -e 127.0.0.1
clnt_create: RPC: Program not registered
# showmount -e 192.168.100.245
clnt_create: RPC: Program not registered
# showmount -e myhost
clnt_create: RPC: Program not registered
# showmount -e
clnt_create: RPC: Program not registered
# systemctl list-unit-files | egrep -iE 'map|rpc|bind|port' | sort
auth-rpcgss-module.service             static          -
nfs-blkmap.service                     disabled        disabled
nfs-idmapd.service                     static          -
rpc-gssd.service                       static          -
rpc-statd-notify.service               static          -
rpc-statd.service                      enabled-runtime disabled
rpc-svcgssd.service                    static          -
rpcbind.service                        disabled        disabled
rpcbind.socket                         disabled        disabled
rpcbind.target                         static          -
var-lib-nfs-rpc_pipefs.mount           static          -

Without employing YaST, how can one determine which service(s) need to be enabled to eliminate the rpc errors? Do I need rpcbind.service and rpcbind.socket enabled? Others?

If you explain how you do it using YaST, someone may have an idea what YaST does.

But I do not even understand the question. As is clear from rpcinfo output, NFS server is not started. So start it.

Thanks! I overlooked the obvious, nothing new. :stuck_out_tongue: But, how it should be enabled remains unclear. Reading nfsserver.service and nfs-server.service it’s clear as mud whether both, or if only one which, should be enabled. In 15.4 I have nfs.service, nfsserver.service & nfs-server.service enabled. Yet by enabling only nfs-server.service in 15.5 it seems to be working as expected:

# systemctl list-unit-files | grep nfs | grep -v mount | sort
nfs-blkmap.service                     disabled        disabled
nfs-client.target                      disabled        disabled
nfs-idmapd.service                     static          -
nfs-server.service                     enabled         disabled
nfs-utils.service                      static          -
nfs.service                            disabled        disabled
nfsserver.service                      disabled        disabled

With 15.4 I only have the nfs.service and nfs-server.service and nfs-client.target enabled –

  • nfsserver.service is an alias for the NFS Server service which according to the comments in the systemd Service file is an alias for the NFS Server service but –

The systemd alias mechanism (using symlinks) isn’t rich enough.
If you “systemctl enable” an alias, it doesn’t enable the
target.
This service file creates a sufficiently rich alias for nfs-server
(which is the canonical upstream name)
“start”, “stop”, “restart”, “reload” on this will do the same to nfs-server.
“enable” on this will only enable this service, but when it starts, that
starts nfs-server, so it is effectively enabled.
nfs-server.d/nfsserver.conf is part of this service.

Which I have presumed to mean “The systemd Alias mechanism needs some work to be done, therefore avoid it.” :sunglasses:

“ # rpcinfo -p” – but, if a NFS Server isn’t active, you’ll need this information:

 # rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100024    1   udp  55928  status
    100024    1   tcp  33945  status
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  50870  nlockmgr
    100021    3   udp  50870  nlockmgr
    100021    4   udp  50870  nlockmgr
    100021    1   tcp  40431  nlockmgr
    100021    3   tcp  40431  nlockmgr
    100021    4   tcp  40431  nlockmgr
 #