Node Power Control

Each of the three worker nodes (seven nodes on the double-wide Limulus) can be powered up or down from the login node. This feature is generally not used in the Data Analytics systems because most of the daemons must be constantly running. In particular, the Hadoop Distributed File System (HDFS) runs on all worker nodes.

This feature can be useful for HPC based Limulus systems. Users may turn nodes of and on as needed using the node-power{on/off} scripts or the NPstat utility. In addition, node power control can be fully managed by the Slurm Workload Manager. In this scenario, nodes that are not begin used are turned off and then turned on when jobs are submitted to the queue. See Configuring Slurm for Automatic Power Control

The Relayset Program

The low-level relayset utility is available to administrators, however, it should only be used as a last resort. The node-power{on/off} utilities provide a much more controlled and graceful method of turning systems on and off.

Each four node Limulus has a relay-board with four power relays that control the 12V power to each node. (Nodes operate on the power supply 12V power rails using a DC-DC convertor.) The relay-board is connected to a USB port on the login node. The eight node Limulus systems use two relay-boards that allow the login-node to control the additional four motherboards.

A program to drive the relay-bard is called relayset This program allows each relay to be turned off and on. Relayset also can be used to provide the status of each relay.

Four node Limulus systems use the following convention:

There is nothing connected to relay-1.

On eight node systems, the additional nodes are mapped to the second relay-board as follows:

In multiple relay-board systems, boards are identified by their unique ID. See below. If a single bard is used, there is not need for a board ID.

Running relayset without options will produce the following.

# relayset 
Not enough or wrong arguments.
  To initialize (do first):  relayset init
  To turn relay on/off:      relayset 1|2|3|4 on|off
  To get status:             relayset 1|2|3|4 status
                             (Returns 1 if on, 0 if off)
  To list the devices (with ID):  relayset list
  To create the relay node map: relayset map 
  For multiple boards add the board ID to the command line (not needed for list and map)
  To print debug messages add "debug" to the command line
  Returns -1 on error, 0 or 1 if successful.
Version: 0.3-05-30-17

There are several options available

Examples:

# relayset list
Number of FTDI devices found: 1
Checking device: 0
Manufacturer: TCTEC, Description: TCTEC USB RELAY, Serial: FT1PYQKM
# relayset 2 status debug
relay=2, set=-1, reportstate=1, debug=1 
ftdi open succeeded: 0
Reading current bits returned 0x1:  0000 0001
relay 2 is ON

Mapping Nodes to Relays

A utility program is available to determining the mapping between a node name (n0, n1, … n6) and the specific relay. The script returns the relay number. This script is intended for use by other management scripts. In normal usage, an administrator should never need to run this script.

Examples:

/etc/warewulf/.Limulus/limulus-map-node n1
3

If the file /etc/warewulf/.Limulus/relayboardID is present it will include the relay board-ID.

/etc/warewulf/.Limulus/limulus-map-node n1
3 FT1PYQKM