OES11 SP2 and iManager Quota management difficulties.

  • 7015901
  • 18-Nov-2014
  • 19-Feb-2015

Environment

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

Situation

Attempting to manage quota's using iManager on OES11 SP2 was only possible in a very random and unpredictable fashion.

It has been observed that quota management was often possible directly following a server (re-)boot, but not when the server was running for an extended period of  time.
Other observations were that quota management was functional at random times, or only able to manage quota's for a very limited amount of users..

At the same time, Quota management is always possible using the nssquota cli tool (from /opt/novell/nss/sbin/nssquota)

Resolution

The problem has been fixed in different places, which should be applied as solution together :
  • adminusd - NSS User space driver to manage calls. (Please note : admindrv is the NSS Kernel space driver making calls to adminusd).
  • iManager Storage plugin.
The solution is scheduled to be released in a upcoming OES11 SP2 Scheduled Maintenance patch.

Cause

  • Adminusd (NSS kernel module).
When managing quota's, adminusd always requested a 128kb contiguous block of physical memory (kmalloc)..
Since physical contiguous memory (kmalloc)  is not a requirement here, this was modified to consume virtual contiguous memory (vmalloc) instead.
  • iManager Storage plugin.
Storage plugin is modified so that in the (with the new adminusd change above unlikely) event where the system does not have the required block of memory available, storage plugin will not proceed with large burst requests for obtaining quota details, but instead will dynamically scale down requested quota information to a number that fits in the memory that is available.

In addition, the NSSClientException: CIM_ERR_FAILED exception, (which was a 'false positive' error) was resolved.

Additional Information

It was observed that starting iManager Quota management started to dump large amounts of the following messages were logged into the /var/log/messages file. :
adminusd: Page Allocation failure: order:5, mode:0xd0


It is also observed that when (amongst others)  iManager and adminusd debugging ('pkill -44 adminusd') was enabled , a large number of other errors were logged to either  /var/opt/novell/tomcat6/log/catalina.out and /or /var/log/messages, such as :

[14:12:55.238]     VirtualFile...........-1     Trying CIM/XML protocol
[14:12:55.388]     VirtualFile...........-1     openVirtualFile -Trying open with Linux2 style file name
[14:12:55.388]     VirtualFile...........-1     openVirtualFile - before client.open for Linux2
[14:12:55.453]     VirtualFile...........-1     Exception caught in open with Linux2 style file name: 30506
[14:12:55.573]     VirtualFile...........-1     Connected using CIM/XML
[14:12:55.573]     NSSLibManageCmd.......-1     DEBUGSTORAGE : calling query
[14:12:55.574]     VirtualFile...........-1     DEBUGSTORAGE : query is called
[14:13:05.827]     VirtualFile...........-1     Exception caught in query: com.novell.nss.pluginClient.NSSClientException: CIM_ERR_FAILED