I have 2 RHEL5.4 systems connected by a network.
I start nfs server on one (fill /etc/exports , exportfs -ra, service nfs start, portmpa is up) and the client is on the other . I can mount the exported
directory on the client and work there .
Now the RH54 kernel is 2.6.18 . I now installed on the server side a new compiled kernel 2.6.30 because I need kvm . I do not use kvm yet just work at the host level.
I compiled the new kernel with same NFS flags as in the original RH kernel i.e same .config CONFIG_NFS_* values working with the make oldconfig as needed . Then rebooted the system and performed on the server side same operations as did first time to start the nfs server (/etc/exports is there , exportfs -ra, service nfs start . portmap is up there at boot) .
This time a mount request for the nfs directory on the client machine
returned an error : failed, reason given by server: Permission denied
I am working as root on both the client and server. The /var/log/messages
does not show any error just that nfs is up and "authenticated mount request from <client ip> for /export/dir" as in the succesful case .
In both cases /proc/fs/nfs/exports shows the right info (exort dir .. <IP>)
/var/lib/nfs/xtab is EMPTY in both cases (good and bad) ?!
/etc/host is holding the correct clinet and its hostname .
The only diff I find is that in the original RH kernel case , after mount is ok
issuing "dmesg | grep nfs" gives diffrent info than in the bad mount
as follows:
good case
dmesg | grep nfs
SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
SELinux: initialized (dev debugfs, type debugfs), uses genfs_contexts
SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfs_contexts
SELinux: initialized (dev hugetlbfs, type hugetlbfs), uses genfs_contexts
SELinux: initialized (dev inotifyfs, type inotifyfs), uses genfs_contexts
SELinux: initialized (dev futexfs, type futexfs), uses genfs_contexts
SELinux: initialized (dev anon_inodefs, type anon_inodefs), uses genfs_contexts
SELinux: initialized (dev cpuset, type cpuset), uses genfs_contexts
SELinux: initialized (dev proc, type proc), uses genfs_contexts
SELinux: initialized (dev bdev, type bdev), uses genfs_contexts
SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
SELinux: initialized (dev rpc_pipefs, type rpc_pipefs), uses genfs_contexts
SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
SELinux: initialized (dev autofs, type autofs), uses genfs_contexts
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
SELinux: initialized (dev nfsd, type nfsd), uses genfs_contexts
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
bad case
dmesg | grep nfs
calling init_nfs_fs+0x0/0x116 @ 1
initcall init_nfs_fs+0x0/0x116 returned 0 after 139 usecs
calling init_nfsd+0x0/0xe3 @ 1
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
initcall init_nfsd+0x0/0xe3 returned 0 after 5239 usecs
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Any idea how to solve this nfs mount issue ?
thanks