迁移块存储卷

将 Block Storage for VPC 卷从第一代配置文件( 分层或 自定义 )迁移到 第二代 sdp 配置文件。 在迁移过程中自定义 IOPS 和带宽,同时确保数据完整性并将停机时间降至最低。

选择可用性sdp”配置文件仅对白名单中的账户开放。 未列入白名单的客户无法通过控制台、命令行界面(CLI)、API 或 Terraform 发起向 sdp 的迁移。 现有的 sdp 卷不受影响。 如需了解更多信息,请参阅“关于 Block Storage for VPC”。

创建迁移任务时,可以自定义 IOPS 和带宽限制。 如果不指定这些值,系统将应用配置文件的默认值。

在迁移过程中,加密卷处于 updating 状态。 卷中所有已使用的区域都会被复制,并通过写入镜像机制使源卷和目标卷保持同步。 如果卷已挂载到实例上,则在复制操作完成后,该实例的卷挂载关系将从源卷无缝转换为目标卷。 你可以通过用户界面、CLI、API 和 Terraform 跟踪迁移任务的状态和进度。

您可以在复制过程中取消迁移。

迁移完成后,卷将转为“available”状态,并遵循新配置文件的计费模式。

迁移过程不会影响静态加密。 加密卷在迁移前后使用相同的 CRK 和 WDEK。

卷迁移前拍摄的快照不会随卷一起迁移,其存储生成值保持不变。 迁移后为卷拍摄的第一个快照是卷的完整副本,并继承卷的存储生成值。 在第一个快照之后进行的后续快照将成为增量快照。

如果对迁移卷的性能或功能不满意,请创建 支持案例,将其添加到允许列表中。 当账户在允许列表中时,可以启动迁移,将卷返回到第 1 代。

限制

  • 在此版本中,无法迁移使用客户管理密钥加密的映像创建的引导卷。
  • 在 24 小时内,每个账户在每个区域最多可启动 10 次迁移。
  • 如果正在进行脱机迁移,则任何新卷附件请求都会失败。 要继续添加附件,必须取消迁移过程。
  • 如果正在进行在线迁移,启动卷分离可取消迁移过程。
  • 在迁移过程中,无法从卷上创建新快照。
  • 如果某个卷已挂载到使用带宽池分配的虚拟服务器实例上,则该卷无法进行迁移。 将带宽分配设置为 weighted,以支持卷迁移过程。
  • 选择可用性 只有那些最初作为第一代卷创建的第二代卷才能迁移回第一代配置文件。 使用 sdp 配置文件创建的卷无法转换为第一代配置文件。
  • 选择可用性 如果已迁移卷的容量增加到超过 16 TB,则无法迁移回第一代配置文件。 第一代传统配置文件不支持超过 16 TB 的容量。

在控制台中启动卷迁移

在“用于 VPC 的块存储卷”列表中,从“操作”菜单 操作图标 中选择 迁移卷,即可将存储卷迁移到 sdp 概况

  1. 转到 Block Storage for VPC 卷列表。 在 IBM Cloud 控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 存储 > Block Storage 卷

  2. 从列表中选择要迁移的卷。 单击操作菜单操作图标,然后单击迁移卷

    卷迁移一般只适用于第一代卷。 对于第二代卷,只有具有特殊访问权限的账户才能看到“**迁移卷 **”选项。

  3. 选择目标配置文件。 目前,唯一可用的第二代体积曲线是 sdp。 如果要将已迁移的卷返回到第一代配置文件(general-purpose5-iops10-iopscustom 配置文件),请选择支持容量和性能需求的配置文件。 无法支持卷当前容量的配置文件将被禁用。

  4. 单击迁移

通过 CLI 启动卷迁移

您可以使用 volume-job-create 命令将存储卷迁移到另一代存储的 卷配置文件中。 指定要转换的加密卷 ID 或名称,以及目标加密卷配置文件。 添加新的 IOPS 和带宽值是可选项,取决于目标卷配置文件。 请参阅以下示例。

ibmcloud is volume-job-create r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 --profile sdp --name my-volume-migration-job --iops 3000 --bandwidth 1000
Creating volume job for r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 under account test account as user test.user@ibm.com...
ID                r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Name              my-volume-migration-job
Status            queued
Bandwidth(Mbps)   1000
IOPS              3000
Profile           sdp
Auto Delete       false
Created at        2026-03-17T14:26:02+05:30
Href              https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3/jobs/r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Job type          migrate
Resource type     volume_job

有关所有可用命令选项的更多信息,请参阅 VPC CLI 参考

使用应用程序接口启动卷迁移

开始之前,请确保已设置好 API 环境。 有关详细信息,请参阅 设置 API 和 CLI 环境

您可以通过向 VPC API 发送 POST /volumes/{volume_id}/jobs 请求,以编程方式 将存储卷迁移 到另一代存储的 卷配置文件中。 指定任务类型“迁移”和目标卷配置文件。 当卷迁移到 sdp 配置文件时,可选择指定新的 IOPS 和带宽值。 请参阅以下示例。

curl "$vpc_api_endpoint/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs?version=2026-03-17&generation=2" \
  --header "Content-Type: application/json" \
  -H "Authorization: Bearer $iam_token" \
  --request POST \
  --data '{
    "job_type": "migrate",
    "parameters": {
      "profile": {
        "name": "sdp"
      }
    },
    "name": "my-volume-migration-job"
  }'

成功回复表明已创建卷迁移任务。

{
  "auto_delete": false,
  "created_at": "2026-03-17T04:15:00.000Z",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "id": "r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "job_type": "migrate",
  "name": "my-volume-migration-job",
  "parameters": {
    "bandwidth": 1000,
    "iops": 3000,
    "profile": {
      "name": "sdp"
    }
  },
  "resource_type": "volume_job",
  "status": "queued",
  "status_reasons": []
}

使用 Terraform 启动卷迁移

您可以使用 ibm_is_volume_job 资源将存储卷迁移到 sdp 配置文件。 指定任务类型“迁移”和卷任务名称。 添加新的 IOPS 和带宽值是可选项,取决于目标卷配置文件。 请参阅以下示例。

resource "ibm_is_volume_job" "vol-job1" {
  job_type = "migrate"
  name    = "vol-job1"
  parameters {
    profile {
      name = "sdp"
    }
    bandwidth = 2000
    iops      = 5000
  }
}

移民工作地位的提升

迁移过程不是一蹴而就的。 迁移的持续时间取决于卷的大小。 1‑TiB 卷通常需要 6 小时左右的迁移时间。 不过,如果同时处理很多卷,迁移时间可能会更长。

卷任务从 queued 状态开始,然后进入 running 状态,当操作成功完成后再进入 completed 状态。 在迁移过程中,卷生命周期状态 显示为 updating。 下表列出了控制台、CLI 和 API 响应中的状态值,您可以在检查迁移进度时看到。

批量工作状态。
批量工作状态 活动
queued 任务已排队等待启动。
running 该工作正在进行中。
failed 这项工作尚未完成。
succeeded 该工作已顺利完成。
deleting 该工作正在被删除。
deleted 工作已删除。
canceling 该职位已被取消。
canceled 作业已取消。

在控制台中监控加密卷迁移

您可以在控制台中检查卷迁移的状态和进度。

  1. 转到 Block Storage for VPC 卷列表。 在 IBM Cloud 控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 存储 > Block Storage 卷
  2. 从列表中,单击开始迁移的卷名称。
  3. 单击卷作业选项卡,显示与卷相关联的作业列表。
  4. 单击正在进行的迁移任务,查看状态和预计完成时间。

通过 CLI 监控卷迁移

您可以通过 CLI 检查加密卷迁移的状态和进度。 首先,使用 ibmcloud is volume-jobs 命令列出所有卷任务,然后从输出中选择一个任务。 下面的示例使用卷 ID 列出了相关的卷任务。 也可以使用卷名称。

ibmcloud is volume-jobs r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3
Listing volume job for r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 under account test account as user test.user@ibm.com...
ID                                         Name       Created at                 Auto Delete  Job type  Status     Bandwidth(Mbps)   IOPS  Profile
r006-10d88923-1102-4859-a2b8-628bb9fb0d70  my-volume-migration-job   2026-03-17T14:26:02+05:30  false        migrate   succeeded  1000              3000  sdp

然后,使用 ibmcloud is volume-job 命令获取卷任务的详细信息。 将卷名称或 ID 指定为参数,并将任务名称或 ID 指定为 --job 选项的一部分。

ibmcloud is volume-job r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 --job r006-10d88923-1102-4859-a2b8-628bb9fb0d70

当迁移正在进行时,响应与下面的示例相似:

ID                        r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Name                      my-volume-migration-job
Status                    running
Bandwidth(Mbps)           1000
IOPS                      3000
Profile                   sdp
Auto delete               false
Created at                2026-03-17T10:54:52-06:00
Estimated completion at   2026-03-17T12:03:30-06:00
Href                      https://us-south.cloud.ibm.com/v1/volumes/r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3/jobs/r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Job type                  migrate
Started at                2026-03-17T10:55:07-06:00
Resource type             volume_job

在答复中注明预计完成日期和时间。

迁移完成后,响应与下例相似:

Getting volume job r006-10d88923-1102-4859-a2b8-628bb9fb0d70 for r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 under account test account as user test.user@ibm.com...
ID                r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Name              my-volume-migration-job
Status            succeeded
Bandwidth(Mbps)   1000
IOPS              3000
Profile           sdp
Auto Delete       false
Completed at      2026-03-17T14:26:23+05:30
Created at        2026-03-17T14:26:02+05:30
Href              https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3/jobs/r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Job type          migrate
Started at        2026-03-17T14:26:18+05:30
Resource type     volume_job

有关所有可用命令选项的更多信息,请参阅 VPC CLI 参考

使用应用程序接口监控容量迁移

您可以通过 API 以编程方式检查卷迁移的状态和进度。 首先,列出卷的卷任务,并从 API 响应中选择迁移任务。 然后,检索所选的卷任务

  1. 列出卷的迁移任务。 下面的示例列出了卷 r006-567faad4-81f4-440a-95f0-6f4c98f22c25 的迁移任务。

    curl "$vpc_api_endpoint/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs?version=2026-03-17&generation=2" \
      --header "Content-Type: application/json" \
      -H "Authorization: Bearer $iam_token" \
     --request GET
    

    成功的响应如下例所示。

    {
    "first": {
        "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs?limit=50"
       },
    "jobs": [
     {
       "auto_delete": false,
       "created_at": "2026-03-17T06:47:41.000Z",
       "estimated_completion_at": "2026-03-17T06:51:58.000Z",
       "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-45e29fb5-aa4a-4772-a857-da2f31a97726",
       "id": "r006-45e29fb5-aa4a-4772-a857-da2f31a97726",
       "job_type": "migrate",
       "name": "my-volume-migration-job-reverse",
       "parameters": {
         "bandwidth": 1000,
         "iops": 100,
         "profile": {
           "name": "custom"
         }
       },
       "resource_type": "volume_job",
       "started_at": "2026-03-17T06:47:44.000Z",
       "status": "running",
       "status_reasons": [
       ]
     },
     {
       "auto_delete": false,
       "completed_at": "2026-03-17T06:44:29.000Z",
       "created_at": "2026-03-17T06:40:11.000Z",
       "estimated_completion_at": "2026-03-17T06:44:25.000Z",
       "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-10d88923-1102-4859-a2b8-628bb9fb0d70",
       "id": "r006-10d88923-1102-4859-a2b8-628bb9fb0d70",
       "job_type": "migrate",
       "name": "my-volume-migration-job",
       "parameters": {
         "bandwidth": 1000,
         "iops": 3000,
         "profile": {
           "name": "sdp"
         }
       },
       "resource_type": "volume_job",
       "started_at": "2026-03-17T06:40:14.000Z",
       "status": "succeeded",
       "status_reasons": [
       ]
     }
    ],
    "limit": 50,
    "total_count": 2
    }
    
  2. 读取迁移任务的详细信息。 下面的示例使用了上一个 API 请求中的卷 ID 006-567faad4-81f4-440a-95f0-6f4c98f22c25 和作业 ID r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d

    curl "$vpc_api_endpoint/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d?version=2026-03-17&generation=2" \
      --header "Content-Type: application/json" \
      -H "Authorization: Bearer $iam_token" \
      --request GET
    

    当任务仍在运行时,成功响应的示例如下。 在答复中注明预计完成的日期和时间。

    {
    "auto_delete": false,
    "created_at": "2026-03-17T04:15:00.000Z",
    "estimated_completion_at": "2026-03-17T06:51:58.000Z",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
    "id": "r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
    "job_type": "migrate",
    "name": "my-volume-migration-job",
    "parameters": {
        "bandwidth": 1000,
        "iops": 3000,
        "profile": {
          "name": "sdp"
        }
    },
    "resource_type": "volume_job",
    "started_at": "2026-03-17T04:15:15.000Z",
    "status": "running",
    "status_reasons": []
    }
    

    任务完成后的成功响应如下所示。

    {
    "auto_delete": false,
    "completed_at": "2026-03-17T06:44:29.000Z",
    "created_at": "2026-03-17T04:15:00.000Z",
    "estimated_completion_at": "2026-03-17T06:51:58.000Z",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
    "id": "r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
    "job_type": "migrate",
    "name": "my-volume-migration-job",
    "parameters": {
        "bandwidth": 1000,
        "iops": 3000,
        "profile": {
          "name": "sdp"
        }
    },
    "resource_type": "volume_job",
    "started_at": "2026-03-17T04:15:15.000Z",
    "status": "running",
    "status_reasons": []
    }
    

使用 Terraform 监控卷迁移

使用 ibm_is_volume_job 资源将属于卷的卷任务列表导入为只读数据源。

`data "ibm_is_volume_job" "example" {
  volume_job_id = ibm_is_volume_job.example.id
  }

在控制台中更新卷迁移任务

在迁移任务运行时,如果需要,还可以更新卷任务的名称。

  1. 转到 Block Storage for VPC 卷列表。 在 IBM Cloud 控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 存储 > Block Storage 卷
  2. 从列表中,单击开始迁移的卷名称。
  3. 单击卷作业选项卡,显示与卷相关联的作业列表。
  4. 选择您要更新的作业。 单击操作菜单操作图标,然后选择重命名

通过 CLI 更新加密卷迁移任务

在迁移任务运行期间,如果需要,还可以使用 volume-job-update 命令更新卷任务的名称。 指定要更新的卷任务 ID 和新名称。

ibmcloud is volume-job-update r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 --volume-job r006-10d88923-1102-4859-a2b8-628bb9fb0d70 --name new-name-for-migration-jon
Updating volume job r006-10d88923-1102-4859-a2b8-628bb9fb0d70 for r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3 under account test account as user test.user@ibm.com...
ID                        r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Name                      new-name-for-migration-job
Status                    running
Bandwidth(Mbps)           1000
IOPS                      3000
Profile                   sdp
Auto Delete               false
Created at                2026-03-17T10:54:52-06:00
Estimated completion at   2026-03-17T12:03:30-06:00
Href                      https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-45421f23-df25-4dc7-bb5a-3cbcec26bba3/jobs/r006-10d88923-1102-4859-a2b8-628bb9fb0d70
Job type                  migrate
Started at                2026-03-17T10:58:52-06:00
Resource type             volume_job

有关所有可用命令选项的更多信息,请参阅 VPC CLI 参考

使用应用程序接口更新卷迁移任务

在迁移任务运行期间,如果需要,还可以通过 PATCH/v1/volumes/{volume_id}/jobs/{job_id} 请求更新卷任务的名称。 请参阅以下示例。

curl "$vpc_api_endpoint/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d?version=2026-03-17&generation=2" \
  --header "Content-Type: application/json" \
  -H "Authorization: Bearer $iam_token" \
  --request PATCH \
  --data '{
    "name": "my-updated-migration-job"
  }'

成功响应表明卷任务名称已更新。

{
  "auto_delete": false,
  "created_at": "2026-03-17T04:15:00.000Z",
  "estimated_completion_at": "2026-03-17T06:51:58.000Z",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "id": "r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "job_type": "migrate",
  "name": "my-updated-migration-job",
  "parameters": {
    "bandwidth": 1000,
    "iops": 3000,
    "profile": {
      "name": "sdp"
    }
  },
  "resource_type": "volume_job",
  "started_at": "2026-03-17T04:15:15.000Z",
  "status": "running",
  "status_reasons": []
}

使用 Terraform 更新卷迁移任务

在迁移任务运行期间,如果需要,还可以使用 ibm_is_volume_job 资源更新卷任务的名称。

`resource "ibm_is_volume_job" "example" {
  volume_job_id = ibm_is_volume_job.example.id
  name          =
  }

在控制台中取消加密卷迁移

如果迁移工作仍处于 queuedrunning 中的迁移阶段,则可以取消迁移工作。

  1. 转到 Block Storage for VPC 卷列表。 在 IBM Cloud 控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 存储 > Block Storage 卷
  2. 从列表中,单击开始迁移的卷名称。
  3. 单击卷作业选项卡,显示与卷相关联的作业列表。
  4. 选择您要更新的作业。 单击操作菜单操作图标,然后选择取消迁移

从 CLI 取消加密卷迁移

如果迁移任务仍处于迁移阶段,可以使用 volume-job-cancel 命令取消迁移任务。 指定要取消的卷任务的 ID。

ibmcloud is volume-job-cancel r006-ef750f93-70f3-45db-bb10-71901d5371e2 --volume-job r006-55e8105d-61bd-46cc-b714-042eadfc6e17
Cancelling volume job r006-55e8105d-61bd-46cc-b714-042eadfc6e17 for r006-ef750f93-70f3-45db-bb10-71901d5371e2 under account test account as user test.user@ibm.com...
ID                        r006-55e8105d-61bd-46cc-b714-042eadfc6e17
Name                      my-volume-migration-job
Status                    canceling
Bandwidth(Mbps)           1000
IOPS                      3000
Profile                   sdp
Auto delete               false
Created at                2026-03-17T17:24:53+05:30
Estimated completion at   2026-03-17T17:38:39+05:30
Href                      https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-ef750f93-70f3-45db-bb10-71901d5371e2/jobs/r006-55e8105d-61bd-46cc-b714-042eadfc6e17
Job type                  migrate
Started at                2026-03-17T17:25:00+05:30
Resource type             volume_job

有关所有可用命令选项的更多信息,请参阅 VPC CLI 参考

使用 API 取消加密卷迁移

如果迁移仍处于迁移阶段,可以通过向 VPC API 发送 POST /v1/volumes/{id}/jobs/{job-id}/cancel 请求,以编程方式取消迁移。

curl "$vpc_api_endpoint/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d/cancel?version=2026-03-17&generation=2" \
  --header "Content-Type: application/json" \
  -H "Authorization: Bearer $iam_token" \
  --request POST

成功回复表示已取消加密卷迁移任务。

{
  "auto_delete": false,
  "created_at": "2026-03-17T04:15:00.000Z",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-567faad4-81f4-440a-95f0-6f4c98f22c25/jobs/r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "id": "r006-03edeeed-fae7-439e-b31c-fbdbec6f9e7d",
  "job_type": "migrate",
  "name": "my-volume-migration-job",
  "parameters": {
    "bandwidth": 1000,
    "iops": 3000,
    "profile": {
      "name": "sdp"
    }
  },
  "resource_type": "volume_job",
  "started_at": "2026-03-17T04:15:15.000Z",
  "status": "canceling",
  "status_reasons": []
}

使用 Terraform 取消卷迁移

如果迁移仍处于迁移阶段,可以通过使用 ibm_is_volume_job_operations 资源并添加 cancel = true 参数来取消迁移。

resource "ibm_is_volume_job_operations" "cancel" {
  cancel = true
  volume_job = ibm_is_volume_job.example.id
}

有关参数和属性的更多信息,请参阅 ibm_ is _volume_job_operations。