# Oracle 云韩国区域存储卷重新分配操作手册 ## 概述 本手册详细说明如何在 Oracle 云韩国区域执行存储卷重新分配操作,将 ch2 实例的存储资源释放并重新分配给 A1 实例。 ## 准备工作 ### 1. 环境检查 - 确保已安装 Terraform (v1.0+) - 确保已安装 OCI CLI - 确保 ~/.oci/config 文件配置正确 ### 2. OCI 配置文件示例 ``` [korea] tenancy = ocid1.tenancy.oc1..your_tenancy_id user = ocid1.user.oc1..your_user_id fingerprint = your_key_fingerprint key_file = ~/.oci/oci_api_key_kr.pem region = ap-chuncheon-1 ``` ### 3. 创建变量文件 ```bash # 编辑 terraform.tfvars compartment_id = "ocid1.compartment.oc1..your_compartment_id" availability_domain = "your_ad_name" image_id = "ocid1.image.oc1..your_image_id" ssh_public_key = "your_ssh_public_key" ``` ## 操作步骤 ### 1. 初始化环境 ```bash cd /home/ben/terraform/oracle/kr terraform init ``` ### 2. 预览变更 ```bash terraform plan \ -var ch2_enabled=false \ -var a1_storage_size_gb=200 \ -var ch3_enabled=true ``` ### 3. 执行变更 ```bash terraform apply \ -var ch2_enabled=false \ -var a1_storage_size_gb=200 \ -var ch3_enabled=true ``` ## 预期变更 ### 资源销毁 (1) - `oci_core_instance.ch2_instance` - ch2 实例将被完全终止 ### 资源创建 (2) - `oci_core_volume.a1_additional_storage` - 为 A1 实例创建 200GB 数据卷 - `oci_core_volume_attachment.a1_volume_attachment` - 将新卷附加到 A1 实例 ### 保持不变 (2) - `oci_core_instance.ch3_instance` - ch3 实例保持运行 - 所有其他网络资源 (VCN, 子网, 网关等) ## 存储卷重新分配逻辑 1. **资源释放阶段**: - ch2 实例终止,释放其引导卷和任何附加的数据卷 - 相关的临时存储空间被标记为可用 2. **资源分配阶段**: - 创建新的 200GB 块存储卷 - 将新卷附加到 A1 实例 - 通过 `depends_on` 确保按正确顺序执行 ## 验证步骤 ### 1. Terraform 状态验证 ```bash terraform show ``` ### 2. 云控制台验证 - 登录 Oracle Cloud Console - 导航到韩国区域 (ap-chuncheon-1) - 验证实例状态和存储卷分配 ### 3. SSH 连接到 A1 实例验证存储 ```bash # 连接到 A1 实例 ssh opc@ # 检查新附加的存储卷 lsblk df -h ``` ## 回滚计划 如果需要回滚操作: ```bash # 重新启用 ch2 实例 terraform apply -var ch2_enabled=true ``` ## 成本影响 - **减少**: ch2 实例的计算和存储费用 - **增加**: A1 实例的额外存储费用 (200GB 块存储) - **净效果**: 总体存储成本可能略有增加,但计算资源得到优化 ## 注意事项 - 在执行前确保 ch2 实例上的数据已备份 - 操作期间 ch2 实例将不可用 - A1 实例在附加新存储卷后可能需要重新配置 - 确保有足够的配额来创建新的 200GB 卷 ## 故障排除 ### 如果遇到权限错误 - 检查 OCI 配置文件中的用户权限 - 确保用户具有管理实例和存储卷的权限 ### 如果遇到配额错误 - 检查目标区域的配额 - 可能需要申请增加存储卷配额 ### 如果依赖关系问题 - 检查 `depends_on` 设置 - 确保按正确顺序创建和销毁资源 ## 总结 通过此操作,你将成功: 1. 终止 ch2 实例并释放其存储资源 2. 将存储资源重新分配给 A1 实例 3. 保持 ch3 实例不变 4. 实现存储资源的优化配置