Workaround when a component server startup on Linux hangs

When starting a platform component server (CDP, AP, LAP, or HA-CDP) on Linux, the process may take too long to start and appears to be stalled. This is caused by a known Java issue. Use the following workaround.

At the command line, run the following command:

rngd -r /dev/urandom

Restart the Tomcat server.

Ensure that this command is running at server startup or before starting the  BMC Atrium Orchestrator service. 

rngd will not be restarted automatically after a server reboot of the server unless you modify the startup files.

The following steps provide an example of how to modify the startup file on Red Hat Linux to automatically start rngd after a server reboot and to specify that rngd use the software source instead of the hardware random number sources that it usually uses. Consult with your system administrator for details on how to do this for your operating system.

  1. Edit /etc/sysconfig/rngd to have the following setting:

    EXTRAOPTIONS="-i -r /dev/urandom"

  2. Make sure that rngd is set to autostart after reboot:
    chkconfig --level 2345 rngd on

  3. Start the rngd service:
    service rngd start

To check your entropy levels, use the following command:

watch -n 1 cat /proc/sys/kernel/random/entropy_avail

If the values shown are below 200, you have too little entropy.

Note that for fully secure environments, hardware random number sources are recommended and the rngd must be configured appropriately to use these.

Was this page helpful? Yes No Submitting... Thank you

Comments

  1. Ariel Manka
    It would be helpful to update this document for RH6 and Centos 7. In both systems startup configuration is kept in service configuration files located in /usr/lib/systemd/system/ not in /etc/sysconfig.
    There seems to be a common problem with starting the service if no hardware device is installed to provide input to random pool. The workaround is to configure rngd service to use -r /dev/urandom instead by adding this parameter to ExecStart option in the service config file as shown below:
    ExecStart=/sbin/rngd -f -r /dev/urandom

    Note that after this change Systemd configuration must be reloaded with command:
    systemctl daemon-reload

    Hope it helps,
    Ariel
    Jun 29, 2017 04:20
    1. Shweta Hardikar

      Apologies for not responding earlier. 

      Let me work with the team and update the docs as early as possible.

      Sep 29, 2017 05:34