管理 Block Storage for VPC 卷
通过断开连接、迁移、重命名、扩展容量、调整 IOPS 或删除卷以及监控指标等方式,管理 IBM Cloud 块存储卷。
在控制台中管理 Block Storage for VPC
使用用户界面管理块存储卷。 在控制台中,您可以完成以下操作:
- 将卷从虚拟服务器实例中分离。
- 将一个卷从一个实例迁移到另一个实例。
- 挂载一个先前已挂载的块存储数据卷。
- 重命名块存储卷。
- 为块存储卷添加用户标记。
- 更新卷的自动删除设置。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 更多信息,请参阅 扩展 Block Storage for VPC 卷容量。
- 对于
sdp卷,请调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 将第一代卷迁移为使用第二代卷配置文件。 更多信息,请参阅 迁移 Block Storage 卷。
- 删除块存储数据卷。
将 Block Storage for VPC 卷从虚拟服务器实例中分离
您可以拆离连接到虚拟服务器实例的块存储卷。 通过拆离,可释放卷以供其他实例使用。
要卸载卷,请按照以下步骤操作。
- 转到所有块存储卷的列表。 在 IBM Cloud 控制台中,单击导航菜单图标
> 基础架构
> 存储 > Block Storage 卷。
- 找到卷标并单击操作
打开选项列表。
- 在“选项”菜单中,单击 “从实例中分离”。
- 在弹出的窗口中点击 “分离实例”以确认操作。
此外,您还可以点击“所有块存储卷”列表中的某个卷,进入该卷的 “卷详细信息”页面。 在连接的实例下,单击虚拟服务器实例旁边的减号以从该实例拆离卷。
当您使用 Hyper Protect Virtual Servers for IBM Cloud® Virtual Private Cloud 实例时,分离连接到运行中实例的数据卷会导致实例上运行的工作负载失败。 因此,建议您不要拆离数据卷。
将 Block Storage for VPC 卷从一个虚拟服务器实例迁移到另一个虚拟服务器实例
要将块存储卷传输到另一个虚拟服务器实例,请完成以下步骤。
- 从卷的虚拟服务器实例拆离卷。
- 转到您要将卷迁移到的虚拟服务器实例。 在 IBM Cloud 控制台,单击 导航菜单 图标
> 基础架构
> 计算 > 虚拟服务器实例。
- 从列表中选择虚拟服务器实例。
- 单击存储选项卡,查看连接到服务器的所有卷。
- 单击附加 + 添加卷。 显示所有可用的块存储卷。
- 从卷列表中,选择先前已拆离的卷。
- 单击保存。
附加独立的 Block Storage for VPC 数据卷
在实例供应期间,您可以创建多个块存储数据卷,这些卷会自动附加到新的虚拟服务器实例。 从实例中分离卷时,该卷将作为独立卷存在,并显示在无附件类型的 所有块存储卷 列表中。 您可以在块存储卷列表中将其连接到其他实例。
- 转到所有块存储卷的列表。 在 IBM Cloud 控制台中,单击导航菜单图标
> 基础架构
> 存储 > Block Storage 卷。
- 找到卷,然后单击 操作 图标
以打开选项列表。
- 在选项菜单中,单击“附加到实例”。
- 选择可用的虚拟服务器实例。
- 点击 “附加” 以确认您的选择。
更新Block Storage for VPC卷的名称
可以更改现有卷的名称以使其更富有意义。
-
转到所有块存储卷的列表。 在 IBM Cloud 控制台中,单击导航菜单图标
> 基础架构
> 存储 > Block Storage 卷。
-
找到卷,然后单击该卷的名称以转至“卷详细信息”页面。
-
点击卷名后面的 编辑图标
,即可编辑该卷的名称。 请提供一个有效的卷名。
有效的卷名称可以由小写字母、数字(a-z、0-9)和连字符(-)组合而成,长度最多为 63 个字符。 卷名必须以小写字母开头。 卷名在整个 VPC 基础结构中必须唯一。 例如,如果在同一账户和区域创建了两个名称相同的卷,就会触发
volume name duplicate错误。 -
确认您的编辑。
更新 Block Storage for VPC 卷的自动删除设置
通过使用“自动删除”功能,您可以指定在删除其所挂载的实例时,同时删除该块存储卷。 对于数据卷,该选项默认为禁用。
在创建实例时创建了启动卷,并且已为其启用了自动删除功能。 删除实例时,启动卷也会被删除,除非禁用此功能。
要更改现有块存储卷的“自动删除”选项的默认设置,请按照以下步骤操作:
- 找到卷连接到的虚拟服务器实例。 在 IBM Cloud 控制台,单击 导航菜单 图标
> 基础架构
> 计算 > 虚拟服务器实例。
- 单击存储选项卡,查看连接到服务器的所有卷。
- 在列表中找到卷标,然后单击自动删除栏中的切换按钮来启用或禁用该功能。
或者,从块存储列表中选择一个卷 (存储 > Block Storage 卷 )。 在“卷详细信息”页面的“已连接实例”下,单击“自动删除”切换按钮,启用或禁用自动删除。
在创建实例时,您还可以启用或禁用卷上的自动删除选项。 有关更多信息,请参阅 创建实例时创建并附加 Block Storage for VPC 卷。
通过命令行界面(CLI)管理 Block Storage for VPC
通过命令行界面 (CLI) 管理块存储。 通过 CLI,您可以
- 重命名块存储卷。
- 为块存储卷添加用户标记。
- 通过更改卷的名称或修改自动删除设置来更新该卷的挂载。
- 将卷从虚拟服务器实例中分离。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 更多信息,请参阅 扩展 Block Storage for VPC 卷容量。
- 对于
sdp卷,请调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 将第一代卷迁移为使用第二代卷配置文件。 更多信息,请参阅 迁移 Block Storage 卷。
- 删除块存储数据卷。
在使用 CLI 之前,您必须先安装 IBM Cloud CLI 以及 VPC CLI 插件。 有关更多信息,请参阅 CLI 先决条件。
- 登录 IBM Cloud。
此命令会返回 URL 并提示输入密码。 在浏览器中转至该 URL 并登录。 如果成功,您将获得一次性密码。 复制此密码并将其作为响应粘贴到提示上。 成功认证后,系统会提示您选择帐户。 如果您拥有多个账户,请选择您要登录的账户。 响应任何剩余提示以完成登录。ibmcloud login --sso -a cloud.ibm.com
更新卷名
要更改卷名,请指定卷名或卷标识,然后指示新名称。 卷名最多可以是 63 个字母数字字符,并且包含特殊字符,并且必须以小写字母开头。 卷名称在 VPC 基础结构中必须唯一。
ibmcloud is volume-update VOLUME_ID [--name NEW_NAME] [--json]
请参阅以下示例。
ibmcloud is volume-update r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 --name my-data-volume
Updating volume r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34 under account Test Account as user test.user@ibm.com...
ID r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Name my-data-volume
CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::volume:r006-5ed4006b-3dac-4c95-8eeb-4aa9a85cbd34
Status available
Attachment state unattached
Capacity 100
IOPS 3000
Bandwidth(Mbps) 393
Profile general-purpose
Encryption key -
Encryption provider_managed
Resource group defaults
Created 2025-01-22T00:54:01+00:00
Zone us-south-2
Health State
Volume Attachment Instance Reference -
Source snapshot ID Name
r006-8428038a-a399-4894-8c84-c8d7a4a75fae wdc-fst-rstore-c6a092f34118-4505
Active false
Adjustable IOPS false
Busy false
Tags -
Storage Generation 1
从 CLI 更新卷连接
您可以使用 instance-volume-attachment-update 命令更新卷挂载名称,并更改默认的自动删除设置。
ibmcloud is instance-volume-attachment-update INSTANCE_ID VOLUME_ATTACHMENT_ID [--name NEW_NAME] [--auto-delete true | false] [--json]
使用 --name 选项,并为卷挂载指定一个新名称。 指定 --auto-delete true,以确保在删除实例时自动删除卷。 如果要在删除实例后将卷保留为独立卷,请指定 --auto-delete false。
ibmcloud is instance-volume-attachment-update doc-test-ro otp1 --name one-true-pairing --auto-delete false
Updating volume attachment otp1 of instance doc-test-ro under account Test Account as user test.user@ibm.com...
ID 0757-6757e676-0bf5-4b79-9a5b-29c24e17420c
Name one-true-pairing
Volume ID Name
r014-dee9736d-08ee-4992-ba8d-3b64a4f0baac demo-volume-update
Status attached
Bandwidth(Mbps) 393
Type data
Device 0757-6757e676-0bf5-4b79-9a5b-29c24e17420c-bxsh7
Auto delete false
Created 2023-06-29T18:14:57+00:00
有关可用命令选项的更多信息,请参阅 ibmcloud is instance-volume-attachment-update。
从 CLI 拆离卷
使用 instance-volume-attachment-detach 命令从实例拆离卷,并删除卷连接。 这不会删除块存储卷;日后可以将卷连接到其他实例。
在此命令的语法中,INSTANCE 是实例的标识或名称。 VOLUME_ATTACHMENT 是卷连接的标识或名称。 您可以指定多个卷连接。 有关卷连接的更多信息,请参阅 创建卷连接 的 CLI 参考。
ibmcloud is instance-volume-attachment-detach INSTANCE (VOLUME_ATTACHMENT1 VOLUME_ATTACHMENT2 ...) [--output JSON] [-f, --force] [-q, --quiet]
ibmcloud is instance-volume-attachment-detach kj-test-ro one-true-pairing
This will delete volume attachment one-true-pairing and cannot be undone. Continue [y/N] ?> y
Deleting volume attachment one-true-pairing from instance kj-test-ro under account Test Account as user test.user@ibm.com...
OK
Volume attachment one-true-pairing is deleted.
有关可用命令选项的更多信息,请参阅 ibmcloud is instance-volume-attachment-detach。
当实例存在时,启动卷不能从实例中分离。 如果想在删除实例后保留启动卷,请确保卷附件中的 auto-delete 选项设置为 false。
使用 API 管理 Block Storage for VPC
通过向 VPC REST API 提出请求,以编程方式管理块存储。 使用 API,您能够:
- 重命名块存储卷。
- 为块存储卷添加用户标记。
- 通过更改卷的名称或修改自动删除设置来更新该卷的挂载。
- 将卷从虚拟服务器实例中分离。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 更多信息,请参阅 扩展 Block Storage for VPC 卷容量。
- 对于
sdp卷,请调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 将第一代卷迁移为使用第二代卷配置文件。 更多信息,请参阅 迁移 Block Storage 卷。
- 删除块存储数据卷。
使用 API 更新卷的名称
发出 PATCH /volumes/{id} 调用并指定卷的新名称。
curl -X PATCH "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-volume-4-update"
}'
成功的响应如下例所示。
{
"capacity": 50,
"created_at": "2022-04-22T23:16:53.000Z",
"crn": "crn:[...]",
"encryption": "user_managed",
"encryption_key": {
"crn": "crn:[...]"
},
"href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
"id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
"iops": 100,
"name": "my-volume-4-update",
"profile": {
"href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/custom",
"name": "custom"
},
"resource_group": {
"href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/4bbce614c13444cd8fc5e7e878ef8e21",
"id": "4bbce614c13444cd8fc5e7e878ef8e21",
"name": "Default"
},
"status": "available",
"status_reasons": [],
"volume_attachments": [],
"zone": {
"href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-2",
"name": "us-south-2"
}
}
使用 API 更新卷连接
调用 PATCH /instances/$instance_id/volume_attachments/$volume_attachment_id 接口,并指定实例和卷挂载的 ID。 在请求正文中,指定附件的新名称或 delete_volume_on_instance_delete 属性的新值。 如果 delete_volume_on_instance_delete 属性设置为 true,删除实例时,附加卷也会被删除。 如果希望在删除实例后保留卷,请将 delete_volume_on_instance_delete 属性的值设置为 false。
curl -X PATCH "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
"delete_volume_on_instance_delete": false,
"name": "my-volume-attachment-data-5iops-updated"
}'
成功的响应如下例所示。
{
"created_at": "2022-04-22T16:35:47.000Z",
"delete_volume_on_instance_delete": false,
"href": "https://us-south.iaas.cloud.ibm.com/v1/instances/8f06378c-ed0e-481e-b98c-9a6dfbee1ed5/volume_attachments/9f2a645e-19c1-4f8f-b062-46b9e0671999",
"id": "9f2a645e-19c1-4f8f-b062-46b9e0671999",
"name": "my-volume-attachment-data-5iops-updated",
"status": "attached",
"type": "data",
"volume": {
"crn": "crn:[...]",
"href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/d8b26921-1409-4c2f-9b46-39b5b6e0b945",
"id": "d8b26921-1409-4c2f-9b46-39b5b6e0b945",
"name": "my-volume-data-5iops"
}
}
使用 API 拆离卷
发出 DELETE /instances/{instance_id}/volume_attachments/{id} 请求并指定卷连接标识以删除卷连接。 删除卷挂载会将卷从实例上卸载。
curl -X DELETE "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token"
当实例存在时,启动卷不能从实例中分离。 如果想在删除实例后保留启动卷,请确保卷附件中的 delete_volume_on_instance_delete 属性设置为 false。
通过发出 GET /instances/{instance_id} 调用来验证卷是否已从实例拆离。
使用 Terraform 管理Block Storage for VPC
使用 Terraform 将块存储作为代码进行管理。 使用 Terraform,您可以
- 重命名块存储卷。
- 为块存储卷添加用户标记。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 更多信息,请参阅 扩展 Block Storage for VPC 卷容量。
- 对于
sdp卷,请调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 将第一代卷迁移为使用第二代卷配置文件。 更多信息,请参阅 迁移 Block Storage 卷。
- 删除块存储数据卷。
要使用 Terraform,请下载 Terraform CLI 并配置 IBM Cloud Provider 插件。 更多信息,请参阅 Terraform 入门。
VPC 基础设施服务使用特定的区域端点,默认情况下以 "us-south 为目标。 如果您的 VPC 是在其他区域创建的,请确保在 "provider.tf 文件的提供程序块中以相应区域为目标。
请参阅下面的示例,了解除默认的 "us-south 之外的其他目标区域。
provider "ibm" {
region = "eu-de"
}
要创建和管理卷,需要使用 "ibm_is_volume 资源。 您可以更改卷的各种属性,如名称、标签、容量和 IOPS。 不过,有些更改会强制创建新资源。 这些更改会影响区域、资源组、资源控制器和加密密钥属性。 有关参数和属性的更多信息,请参阅 ibm _is_volume。
使用 Terraform 更新卷名称
要更改加密卷的名称,请使用 "ibm_is_volume 资源。 以下示例指定卷名为“r010-bdb8fc70-8afb-4622-826a-d65a9fc477a4,新名称为”my-new-name-volume。 应用后,加密卷将重命名。
resource "ibm_is_volume" "example" {
name = "my-new-name-volume"
id = "r010-bdb8fc70-8afb-4622-826a-d65a9fc477a4"
profile = "10iops-tier"
zone = "us-south-1"
}
删除 Block Storage for VPC 卷和数据消除
删除块存储卷后,数据将立即无法访问。 除去物理磁盘上数据的所有指针。 如果稍后在同一帐户或其他帐户中创建卷,那么将分配一组新的指针。 帐户无法访问物理存储器上的任何数据,因为这些指针已删除。 将新数据写入磁盘时,将覆盖来自已删除卷的任何不可访问数据。
在删除卷之前清理数据
删除块存储卷时,IBM 保证物理磁盘上的数据无法访问,并最终被 清除。 如果您有额外的合规性要求,如 NIST 800-88 《介质消毒指南》,则必须在删除卷之前执行数据消毒程序。 有关更多信息,请参阅 NIST 800-88 媒体卫生准则。
在删除卷之前对其进行清理,可确保即使物理介质落入 IBM 控制范围之外,物理磁盘上的残留数据也无法被发现或重建。
在控制台中删除Block Storage for VPC数据卷
删除块存储卷将完全除去其数据。 无法复原卷。
无法删除活动块存储卷。 要删除卷,请先从虚拟服务器实例 拆离该卷。 如果生成了卷的快照,那么所有快照都必须处于 stable 状态。
要删除一个卷,请按照以下步骤操作。
- 转到所有块存储卷的列表。 在 IBM Cloud 控制台中,单击导航菜单图标
> 基础架构
> 存储 > Block Storage 卷。
- 找到要删除的卷,然后单击 操作 图标
以打开选项列表。
- 在“选项”菜单中,单击 “删除”。
- 确认此删除操作。
从 CLI 删除 Block Storage for VPC 卷
使用 volume-delete 命令并指定卷标识可删除块存储卷。
无法删除活动块存储卷。 必须先从虚拟服务器拆离卷。
ibmcloud is volume-delete (VOLUME_NAME | VOLUME_ID) [-f, --force]
请参阅以下示例。
ibmcloud is volume-delete demovolume1
This will delete volume demovolume1 and cannot be undone. Continue [y/N] ?> y
Deleting volume demovolume1 under account Test Account as user test.user@ibm.com...
OK
Volume demovolume1 is deleted.
使用 API 删除 Block Storage for VPC 卷
发出 DELETE /volumes/{id} 调用。
curl -X DELETE "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-04-22&generation=2" \
-H "Authorization: Bearer $iam_token"
要验证是否已删除卷,请通过发出 GET /volumes 调用来列出卷。
使用 Terraform 删除Block Storage for VPC卷
使用 terraform destroy 命令可以方便地移除远程对象,例如块卷。 下面的示例显示了删除卷的语法。 将卷的实际 ID 替换为 "ibm_is_volume.example.id。
terraform destroy --target ibm_is_volume.example.id
更多信息,请参阅 Terraform destroy。
后续步骤
您可以 创建更多加密卷,或 监控加密卷的健康状态、加密卷状态和指标。
对于现有块存储卷发生的问题,您可能可以自行进行故障诊断并解决问题。 有关更多信息,请参阅有关 Block Storage for VPC 的故障诊断。