一、卷迁移rest api接口
POST /v2/{project_id}/volumes/{volume_id}/action
迁移一个卷到特定的主机,在请求体中指定 os-migrate_volume action。一般不推荐对处于in-use状态,且挂载在多个虚机上的卷进行迁移。默认只有管理员用户有迁移的权限,但是可以通过policy.json文件进行权限的设置
{ "os-migrate_volume": { "host": "node1@lvm" } }
二、前置条件
- 卷的状态必须是available和in-use状态
- 卷的migration_status状态必须是None, deleting, error, success.
- 卷的replication_status状态必须是None, disabled、not-capable
- 迁移必须发生在当前卷所在的另一个主机上
- 卷没有快照
- 卷不能是组的成员
三、迁移之后的状态变化
如果迁移成功,卷状态将恢复到available或in-use的原始状态, migration_status状态是success。如果迁移失败, migration_status状态是error。在失败的情况下,如果lock_volume为true,并且该卷在迁移时最初是 available,则状态将返回 available。
四、命令行形式
[root@test ~]# cinder help migrate usage: cinder migrate [--force-host-copy <True|False>] <volume> <host> Migrates volume to a new host. Positional arguments: <volume> ID of volume to migrate. <host> Destination host. Optional arguments: --force-host-copy <True|False> Enables or disables generic host-based force- migration, which bypasses driver optimizations. Default=False. [root@test ~]#
force_host_copy:默认为false,为true时,强制迁移操作通过cinder_volume节点的主机完成,为false时优先使用后端存储驱动的迁移功能
host 格式为 host@backend