Starting an Engine
The governor has four internal states, depending on its connections with the engine units:
Governor state | Description |
|
|
IDLE | Not connected to any engine units |
E1 | Connected only to the first engine unit to start up |
| (EngineUnit1) |
BOTH | Connected to both engine units |
E2 | Connected only to the second engine unit to start up |
| (EngineUnit2) |
|
|
As the governor changes state (that is, as engine units start up and shut down), it determines which engine unit is primary based on the state of the engine units before the change occurred. For example, in going from BOTH to E2, the governor will make EngineUnit2 primary if that unit had been the backup before the state change (a normal failover scenario). In going back, from E2 to BOTH, however, it will retain EngineUnit2 as primary, even if that engine unit is marked as the preferred backup. (You can override the Governor to return EngineUnit1 to
Engine Unit
When an engine unit starts, it attempts to connect to both the governor and its partner engine. It waits for a timeout period and exits if no connection is forthcoming. (If the engine configuration file specifies no engine unit partner, the engine unit can start up standalone, without requiring a governor or partner.)
If an engine unit starts after the governor has started, the engine unit connects to the governor. The governor determines if the engine unit is primary or backup, depending on the engine’s preferred designation or whether the engine is the first unit to start (in which case it becomes the primary unit). If the engine unit is primary, it attempts to come online. If the engine unit is backup, it enters a standby state in which it does not attempt to come online.