State Storage Move
Warning
This article describes working with YDB clusters using configuration V1. Configuration V1 was the main way to configure clusters managed by YDB versions below v25.1. Starting from version v25.1, YDB supports configuration V2, which is the recommended way to configure YDB clusters with version v25.1 and above. For clusters using configuration V2, the instructions in this article are not applicable.
If your cluster has already been updated to version v25.1 or above but still uses configuration V1, it is recommended to plan migration to configuration V2, as support for configuration V1 will be discontinued in future versions of YDB.
If you need to decommission a YDB cluster host that contains part of State Storage, you need to move it to another host.
Warning
Incorrect sequence of actions or configuration errors can lead to YDB cluster unavailability.
As an example, consider a YDB cluster with the following State Storage configuration:
...
domains_config:
...
state_storage:
- ring:
node: [1, 2, 3, 4, 5, 6, 7, 8, 9]
nto_select: 9
ssid: 1
...
...
On the host with node_id:1
, a cluster static node is configured and running, which serves part of State Storage. Suppose we need to decommission this host.
To replace node_id:1
, we added a new host with node_id:10
to the cluster and deployed a static node on it.
To move State Storage from host node_id:1
to node_id:10
:
-
Stop the cluster static nodes on hosts with
node_id:1
andnode_id:10
.Note
A YDB cluster is fault-tolerant. Temporary node shutdown does not lead to cluster unavailability. For more details, see YDB cluster topology.
-
In the configuration file
config.yaml
, change thenode
host list, replacing the identifier of the host being removed with the identifier of the host being added:domains_config: ... state_storage: - ring: node: [2, 3, 4, 5, 6, 7, 8, 9, 10] nto_select: 9 ssid: 1 ...
-
Update the configuration files
config.yaml
for all cluster nodes, including dynamic ones. -
Using the rolling-restart procedure, restart all cluster nodes, including dynamic ones, except for static nodes on hosts with
node_id:1
andnode_id:10
. Note that a delay of at least 15 seconds is required between host restarts. -
Start the cluster static nodes on hosts
node_id:1
andnode_id:10
.