# Add, Update, and Remove Child Servers Dynamically

You can add, edit, and remove child servers by using the `EngineManagement` action. This action updates the DIH configuration file, so that the changes are persistent.

For more details about the `EngineManagement` action, refer to the DIH Reference.

## Add a Child Server Dynamically

You can add a new child server to the DIH by using the `EngineManagement` action.

NOTE: You can add a child server only in certain distribution modes.

To add a child server

- Send the `EngineManagement` action, with `EngineAction` set to `Add`. Set `Host` and `Port` to the host name and port of the child server.

  You can optionally also set other parameters for the child server, such as `Disabled`, `Weight`, `UpdateOnly`, and `Polling`. For the full list of available parameters, see the DIH Reference.

  TIP: By default, when you add a child server in this way, the DIH pings the specified host and port. The `Add` action fails if the child server is not running. Set `Disabled` to `True` to skip this step and add the child server in the offline state.

## Remove a Child Server Dynamically

In simple distribution mode, either with or without `DistributeSendMinimal`, you can remove a child Content engine or group and the DIH will automatically redistribute its documents among the remaining servers. To do this, run the `DREREDISTRIBUTE` index action and use the `RemoveGroup` parameter to specify the ID of the Content engine or group to remove. The DIH does not index any more data into the specified engine, and its content is exported back to the DIH for redistribution. When redistribution is complete, the Content engine is removed from the DIH automatically, so you do not need to edit the configuration file.

Consistent hashing mode also supports engine removal with automatic redistribution. To remove a child server in this mode, you must first use the `EngineManagement` action to set the server `Weight` to `0` (zero), and then use the `DREREDISTRIBUTE` index action to redistribute the virtual nodes. For more information, see Remove a Child Server. For more information about consistent hashing mode, see Use Consistent Hashing.

## Update a Child Server Dynamically

You can use the `EngineManagement` action to dynamically change the settings for a child server.

To update a child server

- Send the `EngineManagement` action, with `EngineAction` set to `Edit`. Set the `ID` parameter to the ID of the child server that you want to modify.

  Set any of the optional parameters that you want to change for the child server, such as `Disabled`, `Weight`, `UpdateOnly`, and `Polling`.

  You can also update the host and port of the server, for example replace a server that has become permanently inaccessible. In consistent hashing mode, you can use stored replicas to rebuild the lost server. For more information, see Restore Child Servers in Consistent Hashing Mode.

_FT_HTML5_bannerTitle.htm