扩容云硬盘

最近更新时间: 2024-10-17 17:10:00

操作场景

云硬盘是云上可扩展的存储设备,用户可以在创建云硬盘后随时扩展其大小,以增加存储空间,同时不失去云硬盘上原有的数据。

云硬盘扩容完成后,需扩展分区及文件系统。您可将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成独立的新分区。

注意:

MBR 格式分区支持的磁盘最大容量为2TB。如果您的硬盘分区为 MBR 格式,且需要扩容到超过2TB时,建议您重新创建并挂载一块数据盘,使用 GPT 分区方式后将数据拷贝至新盘中。

操作限制

  1. 云硬盘仅支持扩容,不支持缩容。

  2. 正常生命周期的云硬盘才支持扩容,已经隔离的云硬盘不支持扩容。

扩容数据盘

注意:

若您的云服务器上已挂载了多块容量及类型均相同的云硬盘,则可参见 区分数据盘 操作进行区分。选定需扩容的数据盘后,再通过以下方式进行扩容。

通过云服务器控制台扩容

  1. 登录云服务器控制台。

  2. 选择目标云服务器所在行的操作 > 云主机设置 > 调整磁盘

  3. 选择需要的新容量大小(必须大于当前容量)。

  4. 根据目标云服务的操作系统类型,您需要执行扩展分区及文件系统(Windows)扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成独立的新分区。

通过云硬盘控制台扩容

  1. 登录云硬盘控制台。

  2. 选择目标云硬盘的更多 > 扩容

  3. 选择需要的新容量大小(必须大于当前容量)。

  4. 根据目标云服务的操作系统类型,您需要执行扩展分区及文件系统(Windows)扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成新的独立分区。

通过 API 扩容

扩容系统盘

通过云服务器控制台扩容

  1. 登录云服务器控制台。

  2. 选择目标云服务器所在行的操作 > 云主机设置 > 调整磁盘

  3. 选择需要的新容量大小(必须大于当前容量)。

  4. 完成控制台扩容操作后,请登录实例确认是否已自动扩展文件系统。

通过云硬盘控制台扩容

  1. 登录云硬盘控制台。

  2. 选择目标云硬盘的更多 > 扩容

  3. 选择需要的新容量大小(必须大于当前容量)。

  4. 完成控制台扩容操作后,请登录实例确认是否已自动扩展文件系统。

通过 API 扩容

您可以使用 ResizeInstanceDisks 接口扩容指定的非弹性云盘。

相关操作

区分数据盘

您可根据云服务器实际使用的操作系统,选择查看方式:

Linux

  1. 登录 Linux 实例。

  2. 执行以下命令,查看到云硬盘与设备名之间的对应关系。

    ls -l /dev/disk/by-id

    返回结果如下图所示:

    其中,disk-xxxx 为云硬盘 ID,您可前往云硬盘控制台查看。

Windows

  1. 登录 Windows 实例。

  2. 右键单击87d894e564b7e837d9f478298cf2e292.png (28×27),选择运行

  3. 运行窗口中,输入 cmd 并按 Enter

  4. 执行以下命令,查看云硬盘与设备名之间的对应关系。

    wmic diskdrive get caption,deviceid,serialnumber

    或执行以下命令:

    
    wmic path win32_physicalmedia get SerialNumber,Tag

    返回结果如下图所示:

    其中,disk-xxxx 为云硬盘 ID,您可前往云硬盘控制台查看。

查看实例 cloudinit 配置

您可根据云服务器实际使用的操作系统,选择查看方式:

查看 Linux 实例 cloudinit 配置

完成扩容操作后,请登录 Linux 实例确认 /etc/cloud/cloud.cfg 是否包含 growpart 及 resizefs 配置项。

  • 是。如果扩容的是系统盘,且无法进行在线扩容,需要重启机器, 系统启动过程 cloud-init 会调用 growpart/resizefs 命令完成扩容。如下图所示:

    • growpart:扩展分区大小到磁盘大小。

    • resizefs:扩展调整/分区文件系统到分区大小。

  • 否,则需根据目标云服务的操作系统类型,手动扩文件系统及分区。您需要执行 扩展分区及文件系统(Linux),将扩容部分的容量划分至已有分区内或将扩容部分的容量格式化为新的独立分区。

查看 Windows 实例 cloudinit 配置

完成扩容操作后,请登录 Windows 实例确认 C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf 中的 plugin 是否包含ExtendVolumesPlugin 配置项。

  • 是,如果 cloudbase-init 配置文件 cloudbase-init.conf中包含了 ExtendVolumesPlugin 配置项,需要重启机器 cloudbase-init 才会自动扩展卷把 C 分区后面的空白空间加到 C 分区,并且需要 C 分区和空白空间之间无其他分区干扰。如果 C 分区和空白空间之间无其他分区、且不想重启,或者有第三方安全软件拦截 cloudbase-init 使之不能完成 extend volume,您需要手动执行如下 powershell 命令。

     $DiskOps="@
     select disk 0
     select volume c
     extend
     exit
     @"
     $DiskOps | diskpart.exe | Out-Null
  • 否,则需根据目标云服务的操作系统类型,手动扩文件系统及分区。您需要执行 扩展分区及文件系统(Windows),将扩容部分的容量划分至已有分区内或将扩容部分的容量格式化为新的独立分区。