Moves Redis Enterprise shards or endpoints to a new node in the same cluster.

migrate all_master_shards

Moves all primary shards of a specified database or node to a new node in the same cluster.

rladmin migrate { db { db:<id> | <name> } | node <origin node ID> }
        all_master_shards
        target_node <id>
        [ override_policy ]

Parameters

Parameter Type/Value Description
db db:<id>
name
Limits migration to a specific database
node integer Limits migration to a specific origin node
target_node integer Migration target node
override_policy Overrides the rack aware policy and allows primary and replica shards on the same node

Returns

Returns Done if the migration completed successfully. Otherwise, returns an error.

Use rladmin status shards to verify the migration completed.

Example

$ rladmin status shards db db:6 sort ROLE
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:6   tr02       redis:14   node:3  master  0-4095        3.01MB        OK     
db:6   tr02       redis:16   node:3  master  4096-8191     3.2MB         OK     
db:6   tr02       redis:18   node:3  master  8192-12287    3.2MB         OK     
db:6   tr02       redis:20   node:3  master  12288-16383   3.01MB        OK
$ rladmin migrate db db:6 all_master_shards target_node 1
Monitoring 8b0f28e2-4342-427a-a8e3-a68cba653ffe
queued - migrate_shards
running - migrate_shards
Executing migrate_redis with shards_uids ['18', '14', '20', '16']
Ocompleted - migrate_shards
Done
$ rladmin status shards node 1
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:6   tr02       redis:14   node:1  master  0-4095        3.22MB        OK     
db:6   tr02       redis:16   node:1  master  4096-8191     3.22MB        OK     
db:6   tr02       redis:18   node:1  master  8192-12287    3.22MB        OK     
db:6   tr02       redis:20   node:1  master  12288-16383   2.99MB        OK  

migrate all_shards

Moves all shards on a specified node to a new node in the same cluster.

rladmin migrate node <origin node ID>
            [ max_concurrent_bdb_migrations <value> ]
            all_shards
            target_node <id>
            [ override_policy ]

Parameters

Parameter Type/Value Description
node integer Limits migration to a specific origin node
max_concurrent_bdb_migrations integer Sets the maximum number of concurrent endpoint migrations
override_policy Overrides the rack aware policy and allows primary and replica shards on the same node

Returns

Returns Done if the migration completed successfully. Otherwise, returns an error.

Use rladmin status shards to verify the migration completed.

Example

$ rladmin status shards node 1
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:5   tr01       redis:12   node:1  master  0-16383       3.04MB        OK
db:6   tr02       redis:15   node:1  slave   0-4095        2.93MB        OK
db:6   tr02       redis:17   node:1  slave   4096-8191     2.93MB        OK
db:6   tr02       redis:19   node:1  slave   8192-12287    3.08MB        OK
db:6   tr02       redis:21   node:1  slave   12288-16383   3.08MB        OK
$ rladmin migrate node 1 all_shards target_node 2
Monitoring 71a4f371-9264-4398-a454-ce3ff4858c09
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['21', '15', '17', '19']
OExecuting migrate_redis with shards_uids ['12']
Ocompleted - migrate_shards
Done
$ rladmin status shards node 2
SHARDS:
DB:ID  NAME       ID         NODE    ROLE    SLOTS         USED_MEMORY   STATUS
db:5   tr01       redis:12   node:2  master  0-16383       3.14MB        OK
db:6   tr02       redis:15   node:2  slave   0-4095        2.96MB        OK
db:6   tr02       redis:17   node:2  slave   4096-8191     2.96MB        OK
db:6   tr02       redis:19   node:2  slave   8192-12287    2.96MB        OK
db:6   tr02       redis:21   node:2  slave   12288-16383   2.96MB        OK

migrate all_slave_shards

Moves all replica shards of a specified database or node to a new node in the same cluster.

rladmin migrate { db { db:<id> | <name> } | node <origin node ID> }
            all_slave_shards
            target_node <id>
            [ override_policy ]

Parameters

Parameter Type/Value Description
db db:<id>
name
Limits migration to a specific database
node integer Limits migration to a specific origin node
target_node integer Migration target node
override_policy Overrides the rack aware policy and allows primary and replica shards on the same node

Returns

Returns Done if the migration completed successfully. Otherwise, returns an error.

Use rladmin status shards to verify the migration completed.

Example

$ rladmin status shards db db:6 node 2
SHARDS:
DB:ID  NAME      ID         NODE    ROLE   SLOTS          USED_MEMORY    STATUS
db:6   tr02      redis:15   node:2  slave  0-4095         3.06MB         OK
db:6   tr02      redis:17   node:2  slave  4096-8191      3.06MB         OK
db:6   tr02      redis:19   node:2  slave  8192-12287     3.06MB         OK
db:6   tr02      redis:21   node:2  slave  12288-16383    3.06MB         OK
$ rladmin migrate db db:6 all_slave_shards target_node 3
Monitoring 5d36a98c-3dc8-435f-8ed9-35809ba017a4
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['15', '17', '21', '19']
Ocompleted - migrate_shards
Done
$ rladmin status shards db db:6 node 3
SHARDS:
DB:ID  NAME      ID         NODE    ROLE   SLOTS          USED_MEMORY    STATUS
db:6   tr02      redis:15   node:3  slave  0-4095         3.04MB         OK
db:6   tr02      redis:17   node:3  slave  4096-8191      3.04MB         OK
db:6   tr02      redis:19   node:3  slave  8192-12287     3.04MB         OK
db:6   tr02      redis:21   node:3  slave  12288-16383    3.04MB         OK

migrate endpoint_to_shards

Moves database endpoints to the node where the majority of primary shards are located.

rladmin migrate [ db { db:<id> | <name> } ]
            endpoint_to_shards
            [ restrict_target_node <id> ]
            [ commit ]
            [ max_concurrent_bdb_migrations <value> ]

Parameters

Parameter Type/Value Description
db db:<id>
name
Limits migration to a specific database
restrict_target_node integer Moves the endpoint only if the target node matches the specified node
commit Performs endpoint movement
max_concurrent_bdb_migrations integer Sets the maximum number of concurrent endpoint migrations

Returns

Returns a list of steps to perform the migration. If the commit flag is set, the steps will run and return Finished successfully if they were completed. Otherwise, returns an error.

Use rladmin status endpoints to verify that the endpoints were moved.

Example

$ rladmin status endpoints db db:6
ENDPOINTS:
DB:ID    NAME   ID                 NODE      ROLE                       SSL     
db:6     tr02   endpoint:6:1       node:3    all-master-shards          No      
$ rladmin migrate db db:6 endpoint_to_shards
* Going to bind endpoint:6:1 to node 1
Dry-run completed, add 'commit' argument to execute
$ rladmin migrate db db:6 endpoint_to_shards commit
* Going to bind endpoint:6:1 to node 1
Executing bind endpoint:6:1: OOO.
Finished successfully
$ rladmin status endpoints db db:6
ENDPOINTS:
DB:ID    NAME   ID                 NODE      ROLE                       SSL     
db:6     tr02   endpoint:6:1       node:1    all-master-shards          No      

migrate shard

Moves one or more shards to a new node in the same cluster.

rladmin migrate shard <id1.. idN>
            [ preserve_roles ]
            target_node <id>
            [ override_policy ]

Parameters

Parameter Type/Value Description
shard list of shard IDs Shards to migrate
preserve_roles Performs an additional failover to guarantee the primary shards' roles are preserved
target_node integer Migration target node
override_policy Overrides the rack aware policy and allows primary and replica shards on the same node

Returns

Returns Done if the migration completed successfully. Otherwise, returns an error.

Use rladmin status shards to verify the migration completed.

Example

$ rladmin status shards db db:5
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:2   master   0-16383   3.01MB         OK
db:5   tr01        redis:13   node:3   slave    0-16383   3.1MB          OK
$ rladmin migrate shard 13 target_node 1
Monitoring d2637eea-9504-4e94-a70c-76df087efcb2
queued - migrate_shards
.running - migrate_shards
Executing migrate_redis with shards_uids ['13']
Ocompleted - migrate_shards
Done
$ rladmin status shards db db:5
SHARDS:
DB:ID  NAME        ID         NODE     ROLE     SLOTS     USED_MEMORY    STATUS
db:5   tr01        redis:12   node:2   master   0-16383   3.01MB         OK
db:5   tr01        redis:13   node:1   slave    0-16383   3.04MB         OK