管理 Block Storage for VPC 卷
您可以通过控制台、CLI 或 API 管理IBM® Cloud Block Storage for Virtual Private Cloud。 您可以从虚拟服务器实例拆离卷,或者将卷从一个实例传输到另一个实例。 您可以连接先前连接的卷或重命名卷。 您可以设置自动卷删除或手动删除卷。 您可以分配对卷的访问权,也可以访问卷读/写度量以监视性能。 将与备份策略关联的用户标记应用于卷以创建自动备份。
在控制台中管理 Block Storage for VPC
使用用户界面管理块存储卷。 在控制台中,您可以完成以下操作:
- 从虚拟服务器实例中分离卷。
- 将卷从一个实例转移到另一个实例
- 连接先前已连接的块存储数据卷。
- 重命名块存储卷
- 为块存储卷添加用户标记。
- 更新加密卷的自动删除设置。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 有关更多信息,请参阅 增加数据卷的容量 和 增加启动卷的容量。
- 选择可用性 对于
sdp
卷,调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 删除块存储数据卷。
从虚拟服务器实例中分离 Block Storage for VPC 卷
您可以拆离连接到虚拟服务器实例的块存储卷。 通过拆离,可释放卷以供其他实例使用。
要分离卷,请完成以下步骤。
- 转到所有块存储卷列表。 在 IBM Cloud 控制台中,单击导航菜单图标
> 基础架构
> 存储 > Block Storage 卷。
- 找到卷标并单击操作
打开选项列表。
- 从选项菜单中,单击从实例分离。
- 在打开的窗口中单击“分离实例”确认。
或者,也可以单击所有块存储卷列表中的单个卷,转到该卷的“卷详细信息”页面。 在连接的实例下,单击虚拟服务器实例旁边的减号以从该实例拆离卷。
当您将 Hyper Protect Virtual Servers 用于 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。
- 增加容量。 有关更多信息,请参阅 增加数据卷的容量 和 增加启动卷的容量。
- 选择可用性 对于
sdp
卷,调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 删除块存储数据卷。
在使用 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。
- 增加容量。 有关更多信息,请参阅 增加数据卷的容量 和 增加启动卷的容量。
- 选择可用性 对于
sdp
卷,调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 删除块存储数据卷。
使用 API 更新卷的名称
发出 PATCH /volumes/{id}
调用并指定卷的新名称。
curl -X PATCH "$vpc_api_endpoint/v1/volumes?version=2022-04-22&generation=2" \
-H "Authorization: $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
属性指定值 true
。
curl -X PATCH "$vpc_api_endpoint/v1/instances/$instance_id/volume_attachments/$volume_attachment_id?version=2022-04-22&generation=2" \
-H "Authorization: $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: $iam_token"
当实例存在时,启动卷不能从实例中分离。 如果想在删除实例后保留启动卷,请确保卷附件中的 delete_volume_on_instance_delete
属性设置为 false
。
通过发出 GET /instances/{instance_id}
调用来验证卷是否已从实例拆离。
使用 Terraform 管理Block Storage for VPC
使用 Terraform 将块存储作为代码进行管理。 使用 Terraform,您可以
- 重命名块存储卷
- 为块存储卷添加用户标记。
- 调整数据卷的 IOPS。 有关更多信息,请参阅 调整 IOPS。
- 增加容量。 有关更多信息,请参阅 增加数据卷的容量 和 增加启动卷的容量。
- 选择可用性 对于
sdp
卷,调整吞吐量限制。 更多信息,请参阅 调整吞吐量限制。 - 删除块存储数据卷。
要使用 Terraform,请下载 Terraform CLI 并配置IBM Cloud提供商插件。提供商插件。 更多信息,请参阅 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 媒体卫生准则。
清理和删除卷意味着无法复原数据。
在控制台中删除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: $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 的故障诊断。