Difference between revisions of "Migrate-volume-block-migration"
(Fixed --block_device_mapping to --block-device-mapping (used by latest nova cmd)) |
|||
Line 4: | Line 4: | ||
'''External Specification:''' | '''External Specification:''' | ||
− | Add -- | + | Add --block-device-mapping parameter to "nova live-migration --block_migrate" command. |
The entire format of the command will be like this | The entire format of the command will be like this | ||
Line 10: | Line 10: | ||
`nova live-migration --block-migrate --block-device-mapping vda=1:::0, --block-device-mapping vdb=...(all attached EBS volumes) <instance_name> <name_of_destination_compute_node>` | `nova live-migration --block-migrate --block-device-mapping vda=1:::0, --block-device-mapping vdb=...(all attached EBS volumes) <instance_name> <name_of_destination_compute_node>` | ||
− | Administrator has to specify -- | + | Administrator has to specify --block-device-mapping parameters for all volumes attached to the instance. |
Follow the existing format to specify block device mapping | Follow the existing format to specify block device mapping | ||
Line 28: | Line 28: | ||
'''Note:''' Volumes on the destination volume node need to be created before the migration takes place. | '''Note:''' Volumes on the destination volume node need to be created before the migration takes place. | ||
The migration could ensure copying the data onto the destination volumes. | The migration could ensure copying the data onto the destination volumes. | ||
+ | |||
+ | '''Example:''' | ||
+ | * Instance1 has two cinder volumes (created on cinder-node1) attached at vol-a on vdc (1gb) ,vol-b on vdb (3gb) (compute-node1). | ||
+ | * Instance1 is to be migrated to compute-node2. | ||
+ | * Create two (1gb vol-c, 3gb vol-d) volumes on cinder-node2. | ||
+ | * run : "nova live-migration --block-migrate --block-device-mapping vdc=<vol-c uuid>::1:0 vdb=<vol-d uuid>::3:0 <Instance1 uuid> compute-node2. | ||
+ | * All data in vol-a is copied to vol-c by nova/libvirt's migrateToURI. | ||
+ | * All data in vol-b is copied to vol-d by nova/libvirt's migrateToURI. |
Revision as of 14:08, 1 February 2013
Add Support for Volume migration during Live (block) migration
External Specification:
Add --block-device-mapping parameter to "nova live-migration --block_migrate" command.
The entire format of the command will be like this
`nova live-migration --block-migrate --block-device-mapping vda=1:::0, --block-device-mapping vdb=...(all attached EBS volumes) <instance_name> <name_of_destination_compute_node>`
Administrator has to specify --block-device-mapping parameters for all volumes attached to the instance.
Follow the existing format to specify block device mapping
`--block-device-mapping <device_name>=<a>::<c>:<d>`
<device_name>: device name referred from the instance
<a>: destination volume uuid (Note: MUST specify an existing volume, must be same size to the source volume)
<b>: N/A
<c>: N/A or size of the volume
<d>: 0:Do not delete the source volume, 1:delete the source volume
Note: Volumes on the destination volume node need to be created before the migration takes place. The migration could ensure copying the data onto the destination volumes.
Example:
- Instance1 has two cinder volumes (created on cinder-node1) attached at vol-a on vdc (1gb) ,vol-b on vdb (3gb) (compute-node1).
- Instance1 is to be migrated to compute-node2.
- Create two (1gb vol-c, 3gb vol-d) volumes on cinder-node2.
- run : "nova live-migration --block-migrate --block-device-mapping vdc=<vol-c uuid>::1:0 vdb=<vol-d uuid>::3:0 <Instance1 uuid> compute-node2.
- All data in vol-a is copied to vol-c by nova/libvirt's migrateToURI.
- All data in vol-b is copied to vol-d by nova/libvirt's migrateToURI.