NSS does not start after kernel upgrade

  • 7006656
  • 08-May-2012
  • 27-Jun-2016

Environment

Novell Open Enterprise Server 11 (OES 11) Linux
Novell Open Enterprise Server 2 (OES 2) Linux

Situation

After updating the kernel of a system running Open Enterprise Server, NSS fails to start with the following error in /var/log/boot.msg:

ERROR: modinfo: could not find module nwraid
ERROR: Cannot find nwraid.ko

or when executing "rcnovell-nss" start manually

linux:~ # rcnovell-nss start
Starting Novell Storage Services (NSS)
ERROR: modinfo: could not find module nwraid
ERROR: Cannot find nwraid.ko
.......... ABORTING /sbin/rcnovell-nss ..........
nss: Failed to set the NSS_TZOffset, returned 2
mknod: missing operand after `0'
Try `mknod --help' for more information.
chgrp: cannot access `/dev/zapi': No such file or directory
chmod: cannot access `/dev/zapi': No such file or directory
Scan devices and mount pools
NSS is NOT fully running!

This issue was originally experienced on a OES11 installation but may happen on OES2 as well.

Resolution

Recreate the links for each nss module:
  • cd  to the location where the nss modules were installed. example:
cd /lib/modules/3.0.76-0.11-default/updates.
us ll to list modules. 
  • cd /lib/modules/$(uname -r)/weak-updates/updates/
A symlink needs to created for each of the modules listed in the original source (/lib/modules/3.0.76-0.11-default/updates)

ln -sf /lib/modules/3.0.101-0.47.79-default/updates/ModuleName.ko MouduleName.ko


Repeat  the above command to create symlink changing ModuleName for each module listed in
/lib/modules/3.0.76-0.11-default/updates
  1. Please make sure to select the correct path, the system might run a different kernel version and flavor as used in the above example.
  2. Restart the service, e.g. rcnovell-nss restart

Depending on the services running on the OES system, /lib/modules/$(uname -r)/weak-updates/updates/ may contain subdirectories such as ncs or zapi. Please ensure the links in those directories point to the correct location as well.

Cause

Certain functions of OES rely on kernel module packages (KMP) which are provided with the base installation media. For example:

nss-kmp-default-4.14.3785_2.6.32.12_0.7-1.2.x86_64.rpm
novell-zapi-kmp-default-1.4.3773_2.6.32.12_0.7-1.3.x86_64.rpm
novell-nwmpk-kmp-default-1.4.3785_2.6.32.12_0.7-1.3.x86_64.rpm
adminfs-kmp-default-1.2.105_2.6.32.12_0.7-1.102.x86_64.rpm

When the system gets patched, the package number increases but the path for the modules does not change. On OES11, the KMPs are provided for kernel 2.6.32.12-0.7-$kernelflavor (possible kernel flavors are: default and xen) and located under /lib/modules/2.6.32.12-0.7-$kernelflavor. If the kernel gets updated, a new subdirectory gets created in /lib/modules and symbolic links from /lib/modules/$(uname -r)/weak-updates/updates/ to /lib/modules/2.6.32.12-0.7-$kernelflavor/updates/*.ko are created. When the above described errors are experienced, it's likely the links were not properly created and thus the service fails to start.