2.3 KiB
2.3 KiB
Oracle 云存储卷重新分配演示
预期的 Terraform 计划输出
当我们执行 terraform plan -var ch2_enabled=false -var a1_storage_size_gb=200 时,预期的输出将是:
Terraform will perform the following actions:
# oci_core_instance.ch2_instance[0] will be destroyed
- resource "oci_core_instance" "ch2_instance" {
- availability_domain = "..." -> null
- compartment_id = "..." -> null
- display_name = "ch2-instance" -> null
- id = "..." -> null
- shape = "VM.Standard2.1" -> null
# ... 其他实例属性
}
# oci_core_volume.a1_additional_storage will be created
+ resource "oci_core_volume" "a1_additional_storage" {
+ availability_domain = (known after apply)
+ compartment_id = "..."
+ display_name = "a1-additional-storage"
+ id = (known after apply)
+ size_in_gbs = 200
}
# oci_core_volume_attachment.a1_volume_attachment will be created
+ resource "oci_core_volume_attachment" "a1_volume_attachment" {
+ attachment_type = "paravirtualized"
+ id = (known after apply)
+ instance_id = (known after apply)
+ volume_id = (known after apply)
}
Plan: 2 to add, 0 to change, 1 to destroy.
存储卷重新分配流程
- 终止 ch2 实例 - 释放其所有关联资源(包括引导卷和数据卷)
- 创建新的 200GB 数据卷 - 为 A1 实例提供额外存储
- 附加新卷到 A1 实例 - 将新存储空间挂载到目标实例
实际执行步骤
在实际环境中,你需要:
- 确保 ~/.oci/config 文件中有正确的 [korea] 配置
- 运行
terraform init下载 OCI provider - 运行
terraform plan -var ch2_enabled=false -var a1_storage_size_gb=200查看计划 - 确认计划无误后运行
terraform apply -var ch2_enabled=false -var a1_storage_size_gb=200
预期结果
- ch2 实例被完全终止,释放其存储资源
- A1 实例获得新的 200GB 数据卷
- ch3 实例保持不变
- 总体资源得到优化配置
验证步骤
完成后,你可以在 Oracle 云控制台中验证:
- ch2 实例不再存在
- A1 实例有新的 200GB 数据卷附加
- 存储卷的成本已从 ch2 转移到 A1