IBM Cloud Docs
增加 Block Storage for VPC 引导卷的容量

增加 Block Storage for VPC 引导卷的容量

对于连接到实例的启动卷,可以在控制台、CLI、API 或 Terraform 中进行实例配置期间或之后,将容量从默认的 100 GB 增加到 250 GB。

拥有预览 sdp 配置文件特殊访问权限的客户,即使卷没有连接到运行中的虚拟服务器实例,也可以扩展其 sdp 卷。 最大容量为 32,000 GB。 增加容量的步骤与其他配置文件相同。

增加控制台中的启动卷容量

增加控制台中新实例或现有实例的引导卷容量。 对于现有实例,您可以通过从 Block Storage 卷列表中选择引导卷来增加引导卷容量。

在控制台中调配实例时增加启动卷容量

从库存或自定义映像创建实例时,可以增加启动卷的大小。 例如,缺省情况下,库存映像将显示 100 GB。 您可以修改最大为 250 GB 的大小。 有关创建虚拟服务器实例的更多信息,请参阅 在控制台中创建虚拟服务器实例

您还可以在创建实例模板时指定更大的引导卷容量。 有关更多信息,请参阅 创建实例模板

从控制台 Block Storage 卷列表中增加启动卷容量

对于现有实例,您可以通过从 Block Storage 卷列表中选择该实例来增加其引导卷容量。

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

  2. 从卷列表中选择一个启动卷。 连接类型为 boot

  3. 在引导卷详细信息中,单击 大小 铅笔图标。 或者,从“操作”菜单 "操作" 图标 中选择 扩展卷

  4. 在侧面板中,在 创建大小 字段中增大引导卷大小。 大小必须大于当前大小 (最多 250 GB)。

    拥有预览 sdp 配置文件特殊权限的客户可将其 sdp 卷的最大容量扩展至 32,000 GB。

  5. 单击扩大启动卷大小

从 CLI 增加引导卷容量

准备工作

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

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

从 CLI 创建实例时增加引导卷容量

运行 ibmcloud is instance-create 命令并指定引导卷容量 (以 GB 为单位)。

以下示例创建引导卷为 190 GB 的实例。

ibmcloud is instance create vsi-1 vpc-1 us-south-1 bx2-2x8  subnet-1 --image ibm-ubuntu-20-04-3-minimal-amd64-1 --boot-volume '{"name": "my-boot-vol-1", "volume": {"capacity": 190, "profile": {"name": "general-purpose"}}}'

Creating instance cli-vsi-1 under account VPC1 as user myuser@mycompany.com...

ID                                    0716_84f99419-554d-4c05-bea0-7034d1c40ed3
Name                                  vsi-1
CRN                                   crn:v1:bluemix:public:is:us-south-1:a/efe5afc483594adaa8325e2b4d1290df::instance:0716_84f99419-554d-4c05-bea0-7034d1c40ed3
Status                                pending
Availability policy on host failure   restart
Startable                             true
Profile                               bx2-2x8
Architecture                          amd64
vCPU Manufacturer                     Intel
vCPUs                                 2
Memory(GiB)                           8
Bandwidth(Mbps)                       4000
Volume bandwidth(Mbps)                1000
Network bandwidth(Mbps)               3000
Metadata service enabled              false
Image                                 ID                                          Name
                                      9f6b534b-6061-40f4-ac42-5aba4dd0da7f         ubuntu-20-04-3-minimal-amd64-1

VPC                                   ID                                          Name
                                      r006-42ebadb6-65f8-4b2f-923b-50b0e44670df   vpc-1

Zone                                  us-south-1
Resource group                        ID                                 Name
                                      11caaa983d9c4beb82690daab08717e9   Default

Created                               2022-02-24T16:43:47+05:30
Boot volume                           ID   Name           Attachment ID                               Attachment name
                                      -    PROVISIONING   0716-ee0ca315-7a21-42e2-99f7-b68377bbffe0   my-boot-vol1

根据映像或快照创建实例模板时,还可以指定更大的引导卷容量。 请参阅以下示例。

ibmcloud is instance template create tpl-1 vpc-1 us-south-1 bx2-2x8  cli-subnet-1 --image ubuntu-20-04-3-minimal-amd64-1 --boot-volume '{"name": "my-boot-vol1", "volume": {"capacity": 190, "profile": {"name": "general-purpose"}}}'

有关从 CLI 创建虚拟服务器实例的更多信息,请参阅 从 CLI 创建虚拟服务器实例。 有关用于增加引导卷大小的命令的更多信息,请参阅 VPC CLI 参考

从 CLI 增加现有引导卷的容量

在 CLI 中,找到要扩展的引导卷。 您可以使用 ibmcloud is volumes 命令通过指定资源组来过滤结果。 此外,如果您知道实例的名称或标识,那么可以查看实例详细信息并获取有关引导卷的信息。

找到卷后,请使用 volume-update 命令并提供引导卷的标识或名称。 使用 --capacity 参数来指示引导卷的新大小 (以 GB 为单位)。

例如,此示例将 my-boot-vol1 的容量增加到 200 GB。 当正在扩展引导卷容量时,将显示现有容量。 运行 ibmcloud is volume 命令并指定卷名以查看新容量。

ibmcloud is volume update my-boot-vol-1 --capacity 200
Updating volume my-boot-vol1 under account VPC1 as user myuser@mycompany.com...

ID                                     9d60ba27-170c-4e2a-9bf6-6dbb11f95c38
Name                                   my-boot-vol1
CRN                                    crn:v1:bluemix:public:is:us-south-1:a/efe5afc483594adaa8325e2b4d1290df::volume:9d60ba27-170c-4e2a-9bf6-6dbb11f95c38
Status                                 updating
Capacity                               190
IOPS                                   3000
Bandwidth(Mbps)                        393
Profile                                general-purpose
Encryption key                         -
Encryption                             provider_managed
Resource group                         Default
Created                                2022-02-24T16:43:47+05:30
Zone                                   us-south-1
Volume Attachment Instance Reference   Attachment type   Instance ID                                 Instance name   Auto delete   Attachment ID                               Attachment name
                                       boot              0716_84f99419-554d-4c05-bea0-7034d1c40ed3   vsi-1           true          0716-ee0ca315-7a21-42e2-99f7-b68377bbffe0   boot-vol-name

Operating system                       ubuntu-20-04-amd64
Source image                           ID                                          Name
                                       9f6b534b-6061-40f4-ac42-5aba4dd0da7f        ubuntu-20-04-3-minimal-amd64-1

Active                                 true
Busy                                   false
Tags                                   -

在已定义的性能系列内对卷配置文件有特殊访问权限的客户,可将其 sdp 卷的最大容量扩展到 32,000 GB。

使用 API 增加引导卷容量

使用 API 创建实例时增加引导卷容量

通过发出 POST \instances 请求创建实例时,可以为以下任何上下文指定更大的引导卷容量: 根据映像,源引导卷或实例模板创建实例时。 在 boot-volume-attachment 属性中指定引导卷名称和容量。 引导卷的容量必须至少为映像的最小供应大小,这是缺省值 (如果未指定容量)。

以下示例根据具有 250 GB 容量的引导卷的映像创建虚拟服务器实例。

curl -X POST "$vpc_api_endpoint/v1/instances?version=2022-02-01&generation=2"\
-H "Authorization: $iam_token"\
-d '{
      "boot_volume_attachment": {
         "volume": {
           "capacity": 250",
           "encryption_key": {
             "crn": "crn:[...]"
           },
           "name": "my-boot-volume",
           "profile": {"name": "general-purpose"}
         }
       },
      "image": {"id": "9aaf3bcb-dcd7-4de7-bb60-24e39ff9d366"},
       .
       .
       .
   }'

有关更多信息,请参阅 VPC API 参考中的 创建实例

使用 API 增加现有引导卷的容量

使用 API,通过发出 GET \volumes 调用来找到要扩展的引导卷。 然后,使用引导卷的标识进行 PATCH \volumes 调用,并为容量指定新值。

例如,此调用会将引导卷的容量增加到 250 GB。

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

在已定义的性能系列内对卷配置文件有特殊访问权限的客户,可将其 sdp 卷的最大容量扩展到 32,000 GB。

使用 Terraform 增加现有引导卷的容量

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

resource "ibm_is_volume" "boot-volume-example" {
  name    = "my-boot-volume"
  size    = 250
  profile = "general-purpose"
  zone    = "us-south-2"
}

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

修改操作系统以使用增加的容量

扩展引导卷容量后,必须使操作系统识别容量增加。 必须独立增大磁盘分区,然后将文件系统增大到该分区中。

有关扩展文件系统的更多信息,请参阅您的操作系统文档。 例如

修改 Linux 操作系统以用于扩展引导卷

以下示例基于 CentOS Linux 7。 其他 Linux 发行版的指示信息可能有所不同。 将卷容量从 100 GB 增加到 250 GB 后,可以登录到虚拟服务器实例以验证此增加。 然后,增大分区,然后扩展卷上的文件系统。

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

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

  2. 运行 lsblk 命令以查看连接的存储卷的列表。 在以下示例中,vda 是扩展引导卷,vdc 是连接的 Block Storage for VPC 数据卷。 vdb 磁盘是实例存储卷。 您可以看到 vda 磁盘上的分区保持不变,尽管总体大小已增加到 250G。

    [root@docs-demo-instance ~]# lsblk
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    vda    253:0    0  250G  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  1.2T  0 disk /myvolumedir
    vdd    253:48   0  370K  0 disk
    vde    253:64   0   44K  0 disk
    
  3. 发出 growpart 命令以增大分区大小以覆盖最大可用空间。

    1. 通过使用 --dry-run 选项,可以在执行分区更新之前预览更改。
      [root@docs-demo-instance ~]# growpart /dev/vda 1 --dry-run
       NOCHANGE: partition 1 is size 409600. it cannot be grown
      [root@docs-demo-instance ~]# growpart /dev/vda 2 --dry-run
       CHANGE: partition=2 start=411648 old: size=209303552 end=209715200 new: size=523876319 end=524287967
       # === old sfdisk -d ===
       # partition table of /dev/vda
        unit: sectors
       /dev/vda1 : start=     2048, size=   409600, Id=ef
       /dev/vda2 : start=   411648, size=209303552, Id=83, bootable
       /dev/vda3 : start=        0, size=        0, Id= 0
       /dev/vda4 : start=        0, size=        0, Id= 0
       # === new sfdisk -d ===
       # partition table of /dev/vda
       unit: sectors
       /dev/vda1 : start=     2048, size=   409600, Id=ef
       /dev/vda2 : start=   411648, size=523876319, Id=83, bootable
       /dev/vda3 : start=        0, size=        0, Id= 0
       /dev/vda4 : start=        0, size=        0, Id= 0
      
    2. 更新引导卷的分区大小,如以下示例中所示。
      [root@docs-demo-instance ~]# growpart /dev/vda 2
      CHANGED: partition=2 start=411648 old: size=209303552 end=209715200 new: size=523876319 end=524287967
      
  4. 发出命令 lsblk 以验证分区是否已调整大小。 以下示例显示已成功增大 vda2 分区的大小。

    [root@docs-demo-instance ~]# lsblk
    NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    vda    253:0    0   250G  0 disk
    ├─vda1 253:1    0   200M  0 part /boot/efi
    └─vda2 253:2    0 249.8G  0 part /
    vdb    253:16   0  69.9G  0 disk
    vdc    253:32   0   1.2T  0 disk /myvolumedir
    vdd    253:48   0   370K  0 disk
    vde    253:64   0    44K  0 disk
    

    但是,文件系统仍将 vda2 分区视为 99G 而不是 249G。

    [root@docs-demo-instance ~]# df -kh
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        3.9G     0  3.9G   0% /dev
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    tmpfs           3.9G  385M  3.5G  10% /run
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda2        99G  1.3G   92G   2% /
    /dev/vda1       200M   12M  189M   6% /boot/efi
    /dev/vdc        1.2T   71M  1.2T   1% /myvolumedir
    tmpfs           783M     0  783M   0% /run/user/0
    
  5. 使用 resize2fs 命令调整分区上的文件系统大小。

    [root@docs-demo-instance ~]# resize2fs /dev/vda2
    resize2fs 1.42.9 (28-Dec-2013)
    Filesystem at /dev/vda2 is mounted on /; on-line resizing required
    old_desc_blocks = 13, new_desc_blocks = 32
    The filesystem on /dev/vda2 is now 65484539 blocks long.
    
  6. 验证文件系统是否已展开。 在此示例中,您可以看到 vda2 的大小已增大。

    [root@docs-demo-instance ~]# df -kh
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        3.9G     0  3.9G   0% /dev
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    tmpfs           3.9G  385M  3.5G  10% /run
    tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda2       246G  1.3G  234G   1% /
    /dev/vda1       200M   12M  189M   6% /boot/efi
    /dev/vdc        1.2T   71M  1.2T   1% /myvolumedir
    tmpfs           783M     0  783M   0% /run/user/0
    

后续步骤

创建更多卷或管理现有块存储卷。

(可选) 增加连接到虚拟服务器实例的数据卷的容量