Disk load balancing
YDB supports two methods for disk load balancing:
Distribute the load evenly across groups
At the bottom of the Hive web-viewer page, there is a button named "Reassign Groups".
Distribute VDisks evenly across block store volumes
As a result of some operations, such as decommissioning, VDisks can be distributed across block store volumes unevenly. You can distribute them more evenly in one of the following ways:
-
Move VDisks one by one from overloaded block store volumes.
-
Use YDB DSTool. The command below moves a VDisk from an overloaded block store volume to a less loaded one:
ydb-dstool -e <bs_endpoint> cluster balance
The command moves a single VDisk per run.
Changing the number of slots for VDisks on PDisks
To add storage groups, redefine the host config by increasing the number of slots on PDisks.
Before that, you need to get the config to be changed. You can do this with the following command:
Command {
TReadHostConfig{
HostConfigId: <host-config-id>
}
}
ydbd -s <endpoint> admin bs config invoke --proto-file ReadHostConfig.txt
Insert the obtained config into the protobuf below and edit the PDiskConfig/ExpectedSlotCount
field value in it.
Command {
TDefineHostConfig {
<host config>
}
}
ydbd -s <endpoint> admin bs config invoke --proto-file DefineHostConfig.txt