Bug 1041029 - [RFE][nova]: Add Support for Volume migration during Live (block) migration
Summary: [RFE][nova]: Add Support for Volume migration during Live (block) migration
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: RFEs
Version: unspecified
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact:
URL: https://blueprints.launchpad.net/nova...
Whiteboard: upstream_milestone_none upstream_stat...
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-12-12 13:27 UTC by RHOS Integration
Modified: 2015-03-19 17:33 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-03-19 17:33:15 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description RHOS Integration 2013-12-12 13:27:08 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/nova/+spec/migrate-volume-block-migration.

Description:

Problem: 
In a production environment where multiple Cinder volume nodes are present,
some instances may have volumes attached to a Volume node that requires maintenance and/or
extended downtimes.

Solution:
To achieve proper volume migration, this support could be added in Nova's Live (block) migration
feature.
Proposal is to add support for volume migration during Instance Live (Block) migration.

 High level outline of steps:
    * On Source compute node, symlinks to the currently attached cinder volumes (/dev/disks/by-path/<iqn>) are created in the instance-xxx directory before starting block migration.
    * During pre live migration on destination compute node, symlinks are created to the new cinder volumes /dev/disks/by-path/<iqn> in the instance-xxx directory on destination compute node. And the new volumes are connected to the destination compute node's Hypervisor.
    * Data is copied from source volumes to corresponding destination volumes by nova/libvirt's migrateToUri since it considers them  ephemeral disks or disk images..
    * During post live migration:
        - On source compute node, we disconnect/detach and/or delete the attached volumes.
        - On destination compute node, we attach the destination volumes to the migrated instance.
    
Note: The data is copied by the migrateToURI method which treats the symlinks in instance-xxx directory as ephemeral disks or disk images and copies it block by block, hence this has to be done in block migration and cannot be done separately unless we want to handle the block copying of volumes oursevles instead of libvirt doing it.

Specification URL (additional information):

http://wiki.openstack.org/migrate-volume-block-migration


Note You need to log in before you can comment on or make changes to this bug.