调整 Block Storage for VPC 卷的 IOPS

增加或减少 Block Storage for VPC 卷的每秒输入/输出操作次数(IOPS),以优化工作负载的性能。 通过控制台、命令行界面(CLI)、API 或 Terraform,调整卷的 IOPS,且不会导致存储访问中断或系统停机。

您可以随时增加或减少第二代启动卷和数据卷的 IOPS 限制,无论它们是否连接到虚拟服务器。 尝试调整 IOPS 限制时,第一代启动卷和数据卷必须连接到运行中的服务器。

对于第二代卷,sdp 配置可提供灵活的 IOPS,且无容量限制。 对于第一代卷,可以通过指定 tiered 系列中不同的配置文件或 custom IOPS 带内不同的 IOPS 值来调整 IOPS。

选择可用性sdp”配置文件仅对白名单账户开放。 如需了解更多信息,请参阅 《关于 Block Storage for VPC 》

您可以将卷的 IOPS 多次调整到其最大限制,或者将 IOPS 降低到其最小限制。 IOPS 调整不会对服务造成任何中断。

例如,您可能会发现应用程序已缩放,使得较低层的存储器概要文件现在成为性能瓶颈。 您可以通过在下一个性能层中增加 IOPS 来更改现有卷的性能特征,而不是订购新卷和迁移数据。

在另一个方案中,您可能希望最初将存储器设置为更高的 10 IOPS/GB 性能级别,以加快数据上载。 上载完成后,可以将存储器重置为 5 IOPS/GB 以进行正常操作。 或者,您可能希望在应用程序的高峰时段增加卷的 IOPS,并在非高峰时段减少 IOPS。

通过此功能,您可以:

  • 通过选择其他 IOPS 层 来向上或向下调整 IOPS。
  • 定制 IOPS 频带内调整 IOPS。
  • 调整 IOPS,而不必从虚拟服务器实例拆离卷。

IOPS 的增加程度取决于加密卷配置文件允许的最大值。

  • 固态硬盘定义的性能配置文件:您可以在 100 - 64,000 IOPS 的范围内指定卷性能,而不受容量限制。 修改 IOPS 的步骤与自定义配置文件相同。 您可以修改第二代卷附加到虚拟服务器或独立存储时的性能级别。

  • 分层配置文件:您可以根据卷大小调整 IOPS 层的 IOPS,或选择可提高性能的下一个配置文件。 该卷必须连接到正在运行的虚拟服务器实例上。

  • 自定义音量曲线:您可以通过指定下一个 IOPS 自定义带宽来增加 IOPS。 例如,对于 10 - 39 GB 的卷,可将自定义 IOPS 提高到 1,000 IOPS。 定制频带内的 IOPS 范围基于卷大小。 如果稍后 增大卷大小,那么可以再次增大 IOPS。 该卷必须连接到正在运行的虚拟服务器实例上。

您可以从 UI 或 CLI 监视卷的 IOPS 更改进度。 您还可以检查 活动跟踪事件,以验证 IOPS 是否已调整。

将自动更新已更新卷的计费。 新价格的分摊差额将添加到当前计费周期。 在下一个计费周期中将采用新的完整金额记帐。

限制

本版本受以下限制条款约束。

一般限制

  • 要调整 IOPS,第一代卷必须连接到已打开并_运行_的虚拟服务器实例。
  • 要调整 IOPS,卷必须处于 可用 状态。
  • 当卷处于过渡状态时,该卷将保持处于 正在更新 状态,直到您将其重新连接到正在运行的实例为止。 例如,如果在进行 IOPS 调整时拆离卷,那么 IOPS 扩展仅在重新连接卷后恢复并完成。
  • 删除实例时,在进行 IOPS 调整期间,标记为“自动删除”的卷不会被删除。

与容量曲线有关的限制

  • 对于使用分层系列 配置文件 创建的卷,请为卷大小选择不同的配置文件,以增加或减少 IOPS。 如果卷大小超过新分层配置文件的最大值,则无法更改配置文件。
  • 自定义音量配置文件 可扩展到自定义频段允许的最高值。 除非增大卷大小并移至更高的频带,否则无法切换定制频带。
  • 可以多次调整定制 IOPS,直到达到最大或最小限制为止。
  • sdp 配置文件的卷的最大 IOPS 为 64,000。 要达到 48,000 IOPS 以上,卷必须连接到具有 第三代实例配置文件 的虚拟服务器实例。
  • _分层_或 _自定义_卷配置文件系列中具有配置文件的卷的最大 IOPS 为 48,000IOPS

在控制台中调整 IOPS

遵循以下步骤通过选择新的 IOPS 层或定制 IOPS 频带来调整 IOPS:

  1. 转至 Block Storage for VPC 卷的列表。 在 IBM Cloud 控制台,单击 导航菜单 图标 菜单图标 > 基础架构 VPC 图标 > 存储 > Block Storage 卷。 默认情况下,Block Storage for VPC 卷会显示在您所在区域的所有资源组中。

  2. 在所有 Block Storage for VPC 卷的列表中,单击卷的名称查看卷的详细信息。

    您选择的卷必须连接到虚拟服务器实例。 在卷列表中,其附件类型为_数据_。

    或者,转到虚拟服务器实例的详细信息页面,从附加卷列表中选择要调整的数据卷。

  3. 在卷详细信息页面,找到配置文件并单击编辑 图标 编辑图标 或使用操作菜单操作图标,然后选择编辑 IOPS 配置文件。 必须将卷连接到虚拟服务器实例,才能执行这些操作。

  4. 在侧面板中,调整 IOPS 如下:

    • 对于已定义的性能配置文件,您可以在 100 - 64,000 IOPS 的范围内指定卷性能,而不受容量限制。
    • 对于 IOPS 层,请从菜单中选择其他层。 例如,您可能有一个 3 IOPS/GB 通用概要文件,您将增加到 5 IOPS/GB 概要文件。
    • 对于定制 IOPS,将显示当前 IOPS 值和卷大小。 在为该定制频带指定的范围内输入新的 IOPS 值。
  5. 查看地理位置和新定价的每月估算订单摘要。

  6. 如果满意,请单击 保存并继续

当您重新启动实例时,将实现新的 IOPS 分配。

从 CLI 调整 IOPS

准备工作

在使用 CLI 之前,您必须先安装 IBM Cloud CLI 以及 VPC CLI 插件。 有关更多信息,请参阅 CLI 先决条件

  1. 登录 IBM Cloud。
    ibmcloud login --sso -a cloud.ibm.com
    
    此命令会返回 URL 并提示输入密码。 在浏览器中转至该 URL 并登录。 如果成功,您将获得一次性密码。 复制此密码并将其作为响应粘贴到提示上。 成功认证后,系统会提示您选择帐户。 如果您拥有多个账户,请选择您想要登录的账户。 响应任何剩余提示以完成登录。

调整定制概要文件的 IOPS

在 CLI 中,使用带有 --iops 选项的 ibmcloud is volume-update 命令来指示定制概要文件的新 IOPS 大小。 您选择的 IOPS 必须在卷大小的范围内。 更多信息,请参阅 自定义卷配置文件

ibmcloud is volume-update VOLUME_ID --iops IOPS

此示例显示基于 100-499 定制概要文件的 100 GB 卷的 IOPS 从 100 IOPS 增加到 3,000 IOPS。 此定制频带的 IOPS 范围为 100 到 6000 IOPS。

ibmcloud is volume-update 933c8781-f7f5-4a8f-8a2d-3bfc711788ee --iops 3000
Updating volume 933c8781-f7f5-4a8f-8a2d-3bfc711788ee under account Test Account as user test.user@ibm.com...
ID                                      0738-933c8781-f7f5-4a8f-8a2d-3bfc711788ee
Name                                    demo-volume-update
Capacity                                100
IOPS                                    3000
Profile                                 custom
Encryption Key                          -
Encryption                              provider managed
Status                                  available
Created                                 2021-08-23 10:09:28
Resource Group                          Default(c16d1edde3fd4a71a0130aed371405a0)
Zone                                    us-south-2
Resource Group                          Default(c16d1edde3fd4a71a0130aed371405a0)
Volume Attachment Instance Reference    Vdisk Name    Vdisk ID                                    Vdisk Type   Auto Delete
                                        Vdisk-data1   0738-fd146b1f-e1bb-4eab-ba78-3109e6bc3a2d   data         true
    									Instance Name   Instance ID
       									vsi-test1       0738-8b56da93-7990-4ccf-9dc5-5aee6a5f08f9

您可以使用相同的命令来调整使用 sdp 配置文件创建的卷的 IOPS。 新的 IOPS 值介于 100-64,000 之间。

通过指定不同的 IOPS 层概要文件来调整 IOPS

在 CLI 中,将 volume-update 命令与 --profile 参数配合使用,并指示 IOPS 层概要文件的名称或 href。

ibmcloud is volume-update VOLUME_ID --profile VOLUME_PROFILE_NAME

此示例将 3 IOPS/GB 概要文件更改为 5 IOPS/GB 概要文件。 在这种情况下,卷不能超过 9,600 GB 以移至更高的概要文件。

ibmcloud is volume-update demo-volume-update --profile 5iops-tier
Updating volume demo-volume-update under account Test Account as user test.user@ibm.com...
ID                                     r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac
Name                                   demo-volume-update
CRN                                    crn:v1:bluemix:public:is:us-east-1:a/a1234567::volume:r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac
Status                                 available
Attachment state                       attached
Capacity                               100
IOPS                                   3000
Bandwidth(Mbps)                        393
Profile                                5iops-tier
Encryption key                         -
Encryption                             provider_managed
Resource group                         defaults
Created                                2023-06-29T16:14:59+00:00
Zone                                   us-east-1
Health State                           ok
Volume Attachment Instance Reference   Attachment type   Instance ID                                 Instance name   Auto delete   Attachment ID                               Attachment name
                                       data              0757_11f5db7f-35a1-4678-bcbd-c85204e09507   kj-test-ro      false         0757-4dfc4384-c4b5-497e-bab3-6415f9c4d44b   otp
Active                                 true
Busy                                   false
Tags                                   -

有关可用命令选项的更多信息,请参阅 ibmcloud is volume-update

使用 API 调整 IOPS

您可以通过调用虚拟私有云 (VPC) 来调整现有数据卷的 IOPS API。

使用“自定义”或“定义”性能配置文件调整卷的 IOPS

发出 PATCH /volumes 请求并指定 iops 参数,以便在自定义卷配置文件带内调整 IOPS。

无法在同一 PATCH /volumes 请求中更新卷的名称并调整 IOPS。 发出两个 PATCH /volumes 请求。

此示例显示基于 100-499 定制概要文件的 100 GB 卷的 100 IOPS 增加到 3,000 IOPS。 此定制频带的 IOPS 范围为 100 到 6000 IOPS。

curl -X PATCH \
 "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-01-11&generation=2" \
 -H "Authorization: Bearer $iam_token" \
 -d '{
      "iops": 3000
    }'

调整 IOPS 时,卷状态显示 updating。 将显示当前 IOPS,直到您重新启动实例为止。 在此示例中,对于 3 IOPS/GB 概要文件,IOPS 从 100 增加到 3000。

{
	"iops": 100,
	"created_at": "2022-01-11T09:46:43.000Z",
	"crn": "crn:v1:bluemix:public:is:us-south-1:a/<Acc id>::volume:<Volume ID>",
    .
    .
    .
	"status": "updating",
    .
    .
    .
}

当 IOPS 扩展完成时,重新启动实例。 将显示新值,卷状态为 available

{
	"capacity": 250,
	"created_at": "2022-01-11T09:46:43.000Z",
	"crn": "crn:[...]",
	"encryption": "provider_managed",
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
    "id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
	"iops": 3000,
	"name": "my-volume-1",
    "profile": {
        "href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom",
		"name": "custom"
	},
    "resource_group": {
        "href": "https://resource-manager.bluemix.net/v1/resource_groups/83daf012-5920-4ba9-9689-cc0d2d2281fb",
        "id": "83daf012-5920-4ba9-9689-cc0d2d2281fb",
		"name": "Default"
	},
	"status": "available",
	"volume_attachments": [{
		"delete_volume_on_instance_delete": true,
		"device": {
			"id": "4cbb38bc-57d5-4121-a796-d5b10cf0810a"
		},
		"href": "https://us-south.iaas.cloud.ibm.com/v1/instances/8f06378c-ed0e-481e-b98c-9a6dfbee1ed5/volume_attachments/4cbb38bc-57d5-4121-a796-d5b10cf0810a",
		"id": "<4cbb38bc-57d5-4121-a796-d5b10cf0810aAttachment ID>",
		"instance": {
			"crn": "crn:[...]",
			"href": "https://us-south.iaas.cloud.ibm.com/v1/instances/8f06378c-ed0e-481e-b98c-9a6dfbee1ed5",
			"id": "8f06378c-ed0e-481e-b98c-9a6dfbee1ed5",
			"name": "my-instance-1"
		},
		"name": "my-volume-attachment-1",
		"type": "data"
	}],
    "zone": {
        "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
        "name": "us-south-2"
    }
}

您可以使用相同的 API 请求来调整使用 sdp 配置文件创建的卷的 IOPS。 新的 IOPS 值介于 100-64,000 之间。 要达到 48,000 IOPS 以上,卷必须连接到具有 第三代实例配置文件 的虚拟服务器实例。

通过指定不同的 IOPS 层概要文件来调整 IOPS

发出 PATCH /volumes 请求并指定 profile 参数,并指示 IOPS 层概要文件的名称或 href。

此示例将 3 IOPS/GB 概要文件更改为 5 IOPS/GB 概要文件。 在这种情况下,卷不能超过 9,600 GB 以移至更高的概要文件。

curl -X PATCH \
 "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-01-11&generation=2" \
 -H "Authorization: Bearer $iam_token" \
 -d '{
      "profile": "5iops-tier"
    }'

使用 Terraform 调整 IOPS

调整定制概要文件的 IOPS

要修改卷的 IOPS,请使用 ibm_is_volume 资源。 应用时,以下示例将卷 IOPS 更新为 24,000。

resource "ibm_is_volume" "storage" {
  name    = "demo-volume-update"
  size    = 8000
  iops    = 24000
  zone    = "us-south-2"
}

调整分层概要文件的 IOPS

要修改使用性能层创建的卷的 IOPS,请使用 ibm_is_volume 资源并指定另一层。 应用后,以下示例会将卷概要文件更新为 5iops-tier

resource "ibm_is_volume" "storage" {
  name    = "demo-volume-update"
  size    = 8000
  profile = "5iops-tier"
  zone    = "us-south-2"
}

有关自变量和属性的更多信息,请参阅 ibm_is_volume

后续步骤

创建更多卷或管理现有的 Block Storage for VPC 卷: