cinder migrate基础内容-1 一、卷迁移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