如何通过Terraform在不重建Azure VM的情况下扩容OS磁盘?
可以通过Terraform不重建Azure虚拟机扩大OS磁盘空间吗?
完全可以,Azure支持扩展OS磁盘容量,且Terraform的azurerm_virtual_machine资源允许直接更新磁盘大小而无需重建虚拟机。
操作步骤:
- 修改你的Terraform代码,将
disk_size_gb的值调整为更大的数值(比如从256改为512):os_disk { name = "disk23" disk_size_gb = 512 # 调整为目标容量 caching = "ReadWrite" storage_account_type = "StandardSSD_LRS" } - 执行
terraform plan查看变更预览:你会看到Terraform仅计划更新虚拟机的OS磁盘大小,不会触发虚拟机的销毁或重建操作。 - 执行
terraform apply完成扩容操作。 - 磁盘扩容完成后,需要在操作系统内部扩展分区才能使用新增的空间:
- Windows系统:打开「磁盘管理」,扩展卷即可
- Linux系统:通过
fdisk、resize2fs等命令扩展分区和文件系统
注意事项:
- 部分Azure虚拟机大小不支持在线扩容,这种情况下需要先停止虚拟机再执行Terraform变更,但依然不需要重建虚拟机。
- Azure磁盘容量仅支持扩大,不允许缩小,因此设置新的
disk_size_gb值必须大于当前的256GB。 - 确保你的Terraform状态与实际Azure资源状态一致,避免出现意外变更。
内容的提问来源于stack exchange,提问作者rkravitz
相关产品推荐
相关产品推荐

