Views:

Summary

If the initializeServerConfig error displays at the end of process of retrieving the secondary information, NDMPD thread count should be checked.

 

Symptoms

The following error messages are displayed:

xx.xx.xx.xx sssvh Mon Jan 27 01:46:54 2014 SNBSVH_290J Task 5 secondary info: node(ETCNAS07BBU), volume(/vol/M207B032)

xx.xx.xx.xx sssvh Mon Jan 27 01:55:42 2014 SNBSVH_488E Task 16 failed. Reason(initializeServerConfig() failed with exception: <EXCEPTION CATEGORY="BEXEXCEPTION"><CODE>500</CODE></EXCEPTION>)

 

Resolution

Usually, when this symptom occurs, there are multiple failures due to this condition. This error occurs when the NDMPD thread reaches its maximum allowed counts. The maximum allowed NDMPD thread counts differs based on the NetApp storage controller platform. The count lies between 256 to 584. You can validate this error from /etc/messages for 7.x/8.0 ONTAP or /etc/log/mlog/ndmpd.log for 8.x ONTAP. For 8.x ONTAP, you will have to turn on NDMPD debug.

Here is how to turn on debugging for NDMPD:

NDMP debugging is supported with the following 2 new options:

  • options ndmpd.debug.enable {on | off}
  • options ndmpd.debug.filter {all | none | normal | backend | restore | <filter>}

Logs are collected in

  • Cluster mode log location: /mroot/etc/log/mlog/ndmpd.log
  • 7-mode log location (/vol/vol0): /etc/log/mlog/ndmpd.log

The description for the predefined ndmpd.debug.filter keywords is as follows:

  • 'all' turns on debug logs for all the modules.
  • 'none' turns off debug logs for all modules. This is equivalent to debug logs being disabled.
  • 'normal' is a shortcut option that enables debugging for all modules except 'verbose' and 'io_loop'.
  • 'backend' is a shortcut option that enables debugging for all modules except 'verbose', 'io_loop', 'ndmps' and 'ndmpp'.
  • 'filter' is a combination of one or more of the module names for which debug logs needs to be enabled. Multiple module names can be addedby creating a string of desired keywords which are separated by carrot(^) to add modules. For example scsi^ndmp will only produce logs pertaining to SCSI and NDMP messages.

Lower-level debug data can usually be collected by using the ‘normal’ option. If you need further granularity you can use ‘all’.

Note that a different error message for NDMP thread count error can display. Older version of DPX or ONTAP may give a“unsupported message” error. Also, older version of DPX may give some other error message for the thread count error.