You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform将Azure SQL VM数据盘从4TB扩容至8TB失败咨询

问题根因

报错信息:更新托管磁盘失败。当磁盘挂载在虚拟机上时,无法将其扩容至4TB以上(原报错:Error updating managed disk.disks can not be resized beyond 4TB when attached to vm)

该报错由Azure平台原生校验规则触发,常见原因有两类:

  • 你使用的SQL虚拟机为第一代(Generation V1)Azure虚拟机,该代系虚拟机的挂载磁盘上限为单盘4TB,即使虚拟机处于已解除分配状态也无法突破该硬件限制
  • 虚拟机为第二代(Generation V2),但Terraform azurerm provider的默认执行逻辑未先解除磁盘与虚拟机的关联关系,直接触发磁盘扩容操作,被平台判定为磁盘仍处于挂载状态,触发容量限制校验
解决方案

步骤1:确认虚拟机代系

执行Azure CLI命令查询虚拟机代系:

az vm get-instance-view --resource-group <你的资源组名称> --name <你的SQL虚拟机名称> --query "instanceView.hyperVGeneration" -o tsv
  • 若返回结果为V1:无法支持单块数据盘扩容至8TB,可选择将业务迁移至第二代SQL VM,或是挂载多块4TB以下磁盘,在虚拟机内部配置存储池合并容量
  • 若返回结果为V2:继续执行后续扩容操作

步骤2:调整Terraform执行逻辑完成扩容

  1. 修改Terraform配置,将目标数据盘从azurerm_windows_virtual_machine(SQL VM默认是Windows系统)资源的storage_data_disk配置块中移除,执行terraform apply完成磁盘卸载
  2. 修改azurerm_managed_disk资源中对应磁盘的disk_size_gb参数值为8192,执行terraform apply完成磁盘容量扩容
  3. 将数据盘配置重新添加到虚拟机的storage_data_disk块,执行terraform apply完成磁盘重新挂载

步骤3:虚拟机内部扩容分区

磁盘挂载完成后启动虚拟机,进入系统完成分区扩容:

  • 打开Windows磁盘管理,找到扩容后的磁盘,右键点击已有分区选择「扩展卷」,按指引完成操作即可。只要磁盘盘符未发生变更,无需额外修改SQL Server的存储配置即可正常使用扩容后的容量

内容的提问来源于stack exchange,提问作者Prasenjit Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:15:10