IBM Cloud Docs
增加 Block Storage for VPC 数据卷的容量

增加 Block Storage for VPC 数据卷的容量

在供应 Block Storage for VPC 数据卷并将其连接到虚拟服务器实例之后,可以使用 API 或 Terraform 在控制台中增加其卷大小。

扩展卷的容量后,无法将该卷更改为更小的大小。 但是,如果您的需求发生更改,那么可以再次扩展同一卷,直至达到可用于其概要文件的最大容量。

在控制台中展开 Block Storage 卷

执行以下步骤以扩展卷容量:

  1. 转到 Block Storage 卷清单。 在 IBM Cloud控制台中,单击导航菜单图标菜单图标 > 基础架构 VPC 图标 > 存储 >Block Storage存储卷。 缺省情况下,会显示区域中所有资源组的块存储卷。

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

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

  3. 在卷详细信息页面上,找到 大小

  4. 单击 编辑图标 "编辑" 图标。 或者,单击 操作 图标 "操作" 图标,然后选择 展开 Block Storage 卷

  5. 在面板中,将卷大小 (以 GB 为单位) 增大到 16,000 GB。 可扩展的最大尺寸取决于所选的配置文件。 UI 指示所选概要文件的最大容量。 对于定制概要文件,您可以根据 大小限制 来扩展卷。 增大卷大小时,将为扩展卷计算最大 IOPS 和吞吐量。

  6. 查看每月订单估算汇总和新定价。

  7. 如果满意,请单击 保存并继续。 几分钟后,您就可以获得新的块存储分配。

或者,也可以找到卷所连接的虚拟服务器实例。 从已连接加密卷列表中选择加密卷,以显示其加密卷详细信息。 然后,按照步骤 3-7 增加容量。

从 CLI 展开 Block Storage 卷

准备工作

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

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

从 CLI 扩展卷容量

在 CLI 中,使用带有 --capacity 选项的 ibmcloud is volume-update 命令来指示卷的新大小 (以 GB 为单位)。

ibmcloud is volume-update VOLUME_ID --capacity CAPACITY_GB

以下示例将 general-purpose 卷的容量扩展至 8,000 MB。

$ ibmcloud is volume-update demo-volume-update --capacity 8000
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                                 updating   
Attachment state                       attached   
Capacity                               100
IOPS                                   3000
Bandwidth(Mbps)                        3145
Profile                                general-purpose
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 命令以查看卷的已更新属性。

$ ibmcloud is volume demo-volume-update
Getting 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                               8000   
IOPS                                   24000
Bandwidth(Mbps)                        3145
Profile                                general-purpose
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 扩展 Block Storage 卷

您可以通过调用 Virtual Private Cloud (VPC) 来扩展现有数据卷 API。 发出 PATCH /volumes 请求以增加连接到实例的卷的容量。

无法在同一 PATCH /volumes 请求中更新卷的名称和扩展容量。 发出两个单独的 PATCH/volumes 请求。

此示例调用将扩展容量为 50 GB 到 250 GB 的卷。

curl -X PATCH \
 "$vpc_api_endpoint/v1/volumes/$volume_id?version=2022-02-25&generation=2" \
 -H "Authorization: $iam_token" \
 -d '{
      "capacity": 250
    }'

卷正在扩展时,卷状态显示 updating。 显示当前容量。

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

当卷扩展完成时,将显示新值,并且卷状态为 available

{
	"capacity": 250,
	"created_at": "2022-02-25T09: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": 100,
	"name": "my-volume-1",
	"profile": {
		"href": "https://us-south.iaas.cloud.ibm.com/v1/volume/profiles/general-purpose",
		"name": "general-purpose"
	},
	"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"
	}
}

使用 Terraform 扩展 Block Storage 卷

要增加卷的容量,请使用 ibm_is_volume 资源。 应用时,以下示例将容量更新为 8000 GB。

resource "ibm_is_volume" "storage" {
  name    = "demo-volume-update"
  size    = 8000
  profile = "general-purpose"
  zone    = "us-south-2"
}

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

展开文件系统

卷扩展将在不重新启动的情况下生效。 但是,要使用增加的卷空间,必须扩展文件系统,以便识别增加的卷容量。

有关扩展文件系统的更多信息,请参阅您的操作系统文档。 例如,RHEL 9 - 修改逻辑卷Microsoft® - 扩展基本卷

以下示例基于 CentOS Linux 7。 将卷容量从 600 GB 增加到 700 GB 后,可以登录到虚拟服务器实例以验证此增加。 然后,增大卷上的文件系统。

扩展文件系统是一项风险较小的操作。 请考虑生成卷的快照以防止数据丢失。

  1. 使用分配给虚拟服务器实例的浮动 IP 地址来建立与该实例的 SSH 连接。 有关更多信息,请参阅 连接到 Linux 实例

  2. 运行 lsblk 命令以查看更新后的容量。 在以下示例中,vdc 是连接的 Block Storage 卷。

    [root@docs-demo-instance ~]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  100G  0 disk
    ├─vda1 253:1    0  200M  0 part /boot/efi
    └─vda2 253:2    0 99.8G  0 part /
    vdb    253:16   0 69.9G  0 disk
    vdc    253:32   0  700G  0 disk /myvolumedir
    vdd    253:48   0  370K  0 disk
    vde    253:64   0   44K  0 disk
    
  3. 卷大小已调整为 700G,但文件系统仍显示先前的大小 619140256 块。

    [root@docs-demo-instance ~]# df -hk
    Filesystem     1K-blocks    Used Available Use% Mounted on
    devtmpfs         3993976       0   3993976   0% /dev
    tmpfs            4004356       0   4004356   0% /dev/shm
    tmpfs            4004356   25092   3979264   1% /run
    tmpfs            4004356       0   4004356   0% /sys/fs/cgroup
    /dev/vda2      102877120 1178920  96449228   2% /
    /dev/vda1         204580   11468    193112   6% /boot/efi
    tmpfs             800872       0    800872   0% /run/user/0
    /dev/vdc       619140256   73752 587592840   1% /myvolumedir
    
  4. 运行 resize2fs 命令来增加文件系统。

    [root@docs-demo-instance ~]# resize2fs /dev/vdc
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/vdc is mounted on /myvolumedir; on-line resizing required
    old_desc_blocks = 75, new_desc_blocks = 88
    The filesystem on /dev/vdc is now 183500800 blocks long.
    

    如果该命令返回 pvresize: command not found,请通过运行命令 yum install lvm2 来安装逻辑卷管理器。

  5. 确认新的文件系统大小。 该示例显示了 722352120 块。

    [root@docs-demo-instance ~]# df -hk
    Filesystem     1K-blocks    Used Available Use% Mounted on
    devtmpfs         3993976       0   3993976   0% /dev
    tmpfs            4004356       0   4004356   0% /dev/shm
    tmpfs            4004356   25092   3979264   1% /run
    tmpfs            4004356       0   4004356   0% /sys/fs/cgroup
    /dev/vda2      102877120 1178920  96449228   2% /
    /dev/vda1         204580   11468    193112   6% /boot/efi
    tmpfs             800872       0    800872   0% /run/user/0
    /dev/vdc       722352120   72816 686590468   1% /myvolumedir