扩容云盘(Windows)

云盘扩展容量后,需扩容分区与文件系统才可使用新增容量空间。由于云盘不可缩容,请在操作前充分评估业务容量需求。

步骤一:扩展云盘容量

前提条件

请确保满足以下任一条件:

  • 云盘已挂载到ECS实例,需要确保实例未过期,且实例状态为运行中(Running)或已停止(Stopped)。

  • 云盘状态为待挂载(Available)。

操作步骤

  1. 访问ECS控制台-块存储-云盘。在页面左侧顶部,选择目标资源所在的资源组和地域。

  2. 单击目标云盘操作列中的扩容

  3. 强烈建议提前为云盘创建快照备份数据,避免扩容时误操作导致数据丢失,在确定目标盘与须知页面核实信息后,单击创建快照,设置快照名称和保留时间后单击确认

    重要

    使用快照会产生费用

    截屏2025-02-27 17

  4. 创建快照期间无法继续扩容,请等待快照创建完成,刷新页面。当是否支持扩容列变为后,单击已知晓并备份,继续扩容

    快照创建时长受到数据量和带宽等因素影响,可访问ECS控制台-快照,在目标快照的进度列中查看进度。
  5. 配置扩容方式与容量向导页面,设置扩容参数并确认费用后,单击扩容

    重要

    扩展云盘容量时会收取新增容量的费用。

    参数

    说明

    扩容后的容量

    扩容后容量不允许小于当前容量。

    扩容方式

    • 在线扩容(推荐):扩展容量后无需重启实例,修改后的容量直接生效。

    • 离线扩容:云盘处于待挂载状态、实例处于已停止状态或部分实例规格仅支持离线扩展容量。

  6. (条件必选)若为包年包月云盘,请在支付弹框中等待5秒倒计时结束后,单击确认,去支付,完成支付后返回扩容流程,单击已完成支付,关闭

    如果未完成支付,但单击了已完成支付,关闭,无法继续进行扩容操作,需要单击操作列的查看关联订单,完成支付后返回扩容流程。
  7. 确认扩展容量结果页面,当扩展容量完成列显示为成功后,还需要扩容分区与文件系统,才可正常使用新增容量。

步骤二:扩容分区与文件系统

前提条件

  • 若云盘状态为待挂载(Available),需挂载至ECS实例

  • 若在上一步通过离线扩容方式扩展容量,云盘已挂载到ECS实例,请先重启启动实例

  • 如果数据盘未创建文件系统,请依照初始化数据盘完成后续操作。

操作步骤

本操作以Windows Server 2022为例。
  1. 判断是否需要转换分区。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。选择连接方式为终端连接,输入账号和密码,登录图形化终端页面。

    3. Windows Server桌面,右键单击开始图标图标,选择磁盘管理

    4. 磁盘管理界面,右键单击目标磁盘,在弹出菜单中选择属性image

    5. 在弹出的对话框中,单击页签,查看磁盘分区形式

      若为MBR分区且扩容后容量大于2TiB请参考转换数据盘的分区类型为GPT并重新分区方案完成后续扩容操作。
  2. 扩容分区与文件系统。

    扩展容量用于扩容原有分区

    1. 磁盘管理对话框上方选择操作 > 重新扫描磁盘,查看未分配的磁盘容量。

    2. 右键单击磁盘最后一个分区的空白处,选择扩展卷

      由于磁盘的分区和文件系统相互独立,只能对相同磁盘的最后一个分区进行扩容。即示例中,磁盘1的未分配空间仅能扩展至新加卷(E:)

      image

    3. 根据扩展卷向导的默认设置完成扩展卷操作。扩容后,新增容量会自动合入最后一个分区。可根据实际情况检查云盘数据及业务程序是否正常。

    扩展容量用于新增分区

    1. 磁盘管理对话框上方选择操作 > 重新扫描磁盘,查看未分配的磁盘容量。

    2. 右键单击未分配区的空白处,选择新建简单卷image

    3. 根据新建简单卷向导的默认设置完成新建卷操作。

计费说明

扩展云盘容量时会收取新增容量的费用,计费方式和原云盘一致。

  • 包年包月云盘:容量扩展成功后,将立即以新容量进行计费。按剩余时长补足新旧容量差额费用。

    差额费用=包月价格/30天*剩余时长*新增容量。

    剩余时长单位为天,数值精确到秒。
  • 按量付费云盘:容量扩展成功后,将立即按新容量进行计费。计费时长以小时为单位折算,下一小时将生成当前小时的消费明细。

如果已购买存储容量单位包SCU,可自动抵扣按量付费云盘账单。更多信息,请参见块存储计费

相关文档

  • 如果因误操作导致扩容失败,可利用扩容前创建的快照回滚云盘,将云盘数据恢复至扩容前状态,已扩展的容量不会回退。

  • 目前不支持直接对已扩容的云盘进行缩容操作。若需云盘缩容,可通过阿里云服务器迁移中心间接实现。

  • 如果想扩容Linux实例的云盘,请参考扩容云盘(Linux)

常见问题

如何通过API接口扩容云盘?

  1. 强烈建议扩展云盘容量前调用API接口CreateSnapshot为云盘创建快照备份数据。

    使用快照会产生快照费用
    重要

    为避免扩容时误操作导致数据丢失,建议提前备份数据。

  2. 快照创建完成后,可通过调用API接口ResizeDisk扩展云盘容量。

  3. 扩容云盘容量后,还需要扩展分区及文件系统。

    操作指令:

    1. 执行以下命令,判断是否需要转换分区。

      Get-Disk 

      回执参数

      参数说明

      Number

      表示云盘序号。

      Partition Style

      表示云盘分区格式。

      Partition StyleMBR分区且扩容后容量大于2TiB请参考转换数据盘的分区类型为GPT并重新分区方案完成后续扩容操作

    2. 扩容分区及文件系统

      扩展容量用于扩容原有分区

      1. 执行以下命令确定待扩容云盘驱动器编号。<Number>为上一步获取的云盘序号。

        Get-Partition -DiskNumber <Number>

        回执中,DriveLetter即为待扩容的驱动器号,存在多个分区时,仅能扩容最后一个分区。

      2. 执行以下命令扩容分区与文件系统。<DriveLetter>为上一步获取的驱动器号。

        Resize-Partition -DriveLetter <DriveLetter> -Size (Get-PartitionSupportedSize -DriveLetter <DriveLetter>).sizeMax
      3. 查看扩容分区及文件系统结果。

        执行Get-Partition -DiskNumber <Number>查看Size字段,若分区大小与期望大小基本一致,表明扩容成功。

      扩展容量用于新增分区

      1. 执行以下命令确定待扩容云盘分区情况。<Number>为上一步获取的云盘序号。

        Get-Partition -DiskNumber <Number>

        回执中,DriveLetter为已有分区的驱动器号。

      2. 执行以下命令,新建分区。

        命令参数

        参数说明

        -DiskNumber

        指定云盘序号Number。<Number>请填写为第一步获取的云盘序号。

        -UseMaximumSize

        表示命令使用最大可用容量空间。

        -DriveLetter

        <DriveLetter>请设置新建分区的驱动器号,不可与上一步已有分区的驱动器号重复。

        New-Partition -DiskNumber <Number> -UseMaximumSize -DriveLetter <DriveLetter>
      3. 执行以下命令,初始化新分区。

        命令参数

        参数说明

        -DriveLetter

        <DriveLetter>为上一步设置的驱动编号。

        -FileSystem

        <FileSystem>为文件系统类型,如NTFS。

        -Confirm:$false

        跳过确认提示。

        Format-Volume -DriveLetter <DriveLetter> -FileSystem <FileSystem> -Confirm:$false
      4. 查看新分区信息。

        执行Get-Partition -DiskNumber <Number>查看新分区基本信息。

已知晓并备份,继续扩容置灰,无法选择怎么办?

检查云盘是否正在创建快照。创建快照期间不支持扩容。请等待快照完成后,再执行扩容操作。

已经做了离线扩容,但不想重启实例怎么办?

离线扩容需重启实例生效。若业务不允许重启,但已选择离线扩容,可以通过一次1GiB的在线扩容,使新增容量和之前的离线扩容在线生效。该操作属于二次扩容,会产生额外费用,请根据实际业务需求谨慎操作。

仅支持离线扩容的部分实例规格。

不支持在线扩容的实例规格有:

  • ecs.ebmc4.8xlarge

  • ecs.ebmhfg5.2xlarge

  • ecs.ebmg5.24xlarge

  • ecs.t1

  • ecs.s1

  • ecs.s2

  • ecs.s3

  • ecs.c1

  • ecs.c2

  • ecs.m1

  • ecs.m2

重新扫描磁盘后未识别未分配空间。

创建时间早于 2019 年 03 月 30 日的实例其 virtio 版本可能低于 58011,需重启实例以识别新增空间。可在 PowerShell 中运行以下命令查看驱动版本,必要时可更新Windows实例的virtio驱动

[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\drivers\viostor.sys")

数据盘的容量可否用于扩展其他数据盘或系统盘?

由于云盘的分区与文件系统相互独立,只能对相同云盘的最后一个分区进行扩容,无法将该容量分配至其他云盘。因此数据盘的容量不可用于扩展其他数据盘或系统盘。

出现报错信息:“无法扩展该卷,因为群集的数量将超过文件系统支持的最大群集数量。”

原因:初始化云盘时,未正确设置分配单元大小。具体云盘容量限制,请参看NTFS概述

对于分配单元大小

  • 若要扩容至16TiB~32TiB(包括)时,需保证初始化时已设置为8192。

  • 若要扩容至32TiB~64TiB(包括)时,需保证初始化时已设置为16K。

解决方案

重要

分配单元大小在云盘初始化后无法更改。

  1. 查看待扩容云盘的分配单元大小

    登录实例,进入powershell命令行界面,运行以下命令,获取分配单元大小。以查看D盘为例:

    输出结果中的每个簇字节数每群集字节数分配单元大小
    fsutil fsinfo ntfsinfo D:
  2. 根据实际需求,选择解决方案。

    创建新盘进行数据拷贝
    1. 为当前实例新建目标容量的空数据盘

    2. 初始化数据盘时选择正确的分配单元大小。

    3. 将原盘数据手动拷贝至新盘。

    4. 验证业务是否恢复。操作完成后,建议重启相关服务并检查业务是否正常运行。

    5. 确认业务正常运行后,可卸载原数据盘,并将其释放。具体操作,请参见卸载数据盘释放云盘

    扩展容量用于新增分区
    1. 磁盘管理对话框上方选择操作 > 重新扫描磁盘,查看未分配的磁盘容量。

    2. 右键单击未分配区的空白处,选择新建简单卷image

    3. 根据新建简单卷向导的默认设置完成新建卷操作。

转换分区类型并重新分区的API指令。

重要

转换过程中,云盘数据不可用,可能影响业务。建议规划停机窗口,先停止服务,待转换完成并恢复数据后再继续运行。

步骤一:转换分区格式并重新分区

  • Windows转换分区过程中,需要删除卷,删除卷会清除该卷上的所有数据,在分区转换前请调用API接口CreateSnapshot为云盘创建快照备份数据。分区转换成功后,需通过快照恢复数据。

  • 调用 RunCommand接口向目标实例发送操作指令

  • 调用 DescribeInvocations接口查询命令回执。

操作指令
  1. 转换分区格式

    1. 执行以下命令获取目标云盘序号Number和云盘总容量Tolal Size。

      Get-Disk 
    2. 执行以下命令确定目标云盘分区编号PartitionNumber。<Number>为上一步获取的云盘序号。

      Get-Partition -DiskNumber <Number>
    3. 执行以下命令,删除目标云盘分区。

      重要

      删除卷会清除该卷上的所有数据,请务必在删除卷前,调用API接口CreateSnapshot创建快照备份数据。

      命令参数

      参数说明

      -DiskNumber

      <Number>为第一步获取的云盘序号。

      -PartitionNumber

      <PartitionNumber>为上一步获取的分区编号。

      -Confirm:$false

      跳过确认提示。

      Remove-Partition -DiskNumber <Number> -PartitionNumber <PartitionNumber> -Confirm:$false
    4. 删除目标云盘的全部分区后,转换分区类型

      1. 执行以下命令进入diskpart工具界面。

        diskpart
      2. 执行以下命令列出所有磁盘信息。

        list disk
      3. 执行以下命令选择需要转换的磁盘。

        <Number>为第一步获取的云盘序号。

        select disk <Number>
      4. 执行以下命令将分区类型转换为gpt。

        convert gpt
      5. 执行以下命令退出diskpart工具

        exit
    5. 查看是否转换成功。

      执行Get-Disk ,若目标磁盘的Partition StyleGPT表示分区转换成功。

  2. 重新分区

    1. 执行以下命令重新分区。

      命令参数

      参数说明

      -DiskNumber

      <Number>为第一步获取的云盘序号。

      -Size

      <Size>自定义新建分区的大小,如40 GB。

      -DriveLetter

      <DriveLetter>自定义新建分区的驱动器编号。

      -FileSystem

      <FileSystem>设置新分区的文件系统类型,如NTFS。

      New-Partition -DiskNumber <Number> -Size <Size> -DriveLetter <DriveLetter> | Format-Volume -FileSystem <FileSystem>
    2. 执行Get-Partition -DiskNumber <Number>查看新建分区信息。

步骤二:恢复云盘数据

  • 调用CreateDisk接口利用快照创建数据盘。

  • 调用AttachDisk将创建的数据盘挂载至ECS实例拷贝数据,请勿使用快照回滚,以免回滚至MBR格式。