rladmin migrate
Moves Redis Enterprise Software shards or endpoints to a new node in the same cluster.
| Redis Enterprise Software | 
|---|
Moves Redis Enterprise shards or endpoints to a new node in the same cluster.
For more information about shard migration use cases and considerations, see Migrate database shards.
  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