扩容云盘(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)

常见问题

扩展云盘容量的常见问题

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

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

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

    离线扩容需重启实例生效。若业务不允许重启,但已选择离线扩容,可以通过一次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

  • 如何通过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>查看新分区基本信息。

扩容分区与文件系统的常见问题

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

    创建时间早于 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格式。