轻松实现甲骨文云Oracle Cloud重装系统教程

轻松实现甲骨文云Oracle Cloud重装系统教程

背景与核心痛点:甲骨文云(OCI)传统重装系统通常依赖第三方一键 DD 脚本,不仅存在失联变砖的风险,且无法保留原汁原味的原生系统驱动。其实 OCI 控制台原生支持“替换引导卷(Replace Boot Volume)”特性,无需终止计算实例即可完成系统镜像重刷,保持原有公网静态 IP 和网络拓扑完全不变,并可通过 cloud-init 注入 Root 密码与 SSH 密钥。

目录

准备工作与核心认知

在开始操作前,请确保具备以下资源:

  1. 甲骨文云控制台权限:可正常登录 Oracle Cloud 控制台。
  2. 官方映像 OCID 查询:OCI Images 官方文档 可查询对应区域的系统镜像 OCID。
  3. 重要数据备份:替换引导卷会彻底格式化系统盘,若有业务数据请提前备份。

官方替换引导卷核心机制

  • 保持 IP 不变:无需终止(Terminate)实例,原有公网 IP、私有 IP 及安全列表(Security Lists)保持不变。
  • 同架构限制:仅支持相同 CPU 架构(如 ARM64 或 x86_64)与兼容发行版的替换。
  • 免删机防抢占:在热门区域(如春川、凤凰城等)删机重建往往难以开出机器,替换引导卷可 100% 锁住稀缺的 Always Free 实例配额。

分步实操:替换引导卷重装系统

1. 登录控制台定位实例

  1. 打开 OCI 控制台,进入 计算 (Compute) -> 实例 (Instances)。
  2. 点击需要重装系统的目标实例,进入 实例详细信息 页面。
  3. 在左侧资源菜单中点击 引导卷 (Boot Volume)。

2. 获取系统映像 OCID

  1. 在实例详情中查看当前系统的 映像 (Image) 详情并复制其 OCID。
  2. 或在官方镜像发布列表查找目标系统(如 Ubuntu 22.04 aarch64)在您所在区域的专属 ocid1.image.oc1... 标识符。

3. 执行替换引导卷设置

  1. 在引导卷列表右上角点击 替换引导卷 (Replace Boot Volume)。
  2. 替换方式:选择 映像 (Image)。
  3. 映像应用方式:选择 输入 OCID (Enter Image OCID) 并粘贴目标映像 OCID。
  4. 引导卷大小:输入目标磁盘容量(如 50GB 或 100GB,注意免费总额度为 200GB)。

4. 注入 Root 密码与 SSH 密钥

展开 显示高级选项 (Show Advanced Options):

  • 方式一:通过 cloud-init 注入 Root 密码
    在元数据(Metadata)中添加 user_data,填入经过 Base64 编码的初始化脚本:
    #!/bin/bash
    echo root:你的新密码 | chpasswd root
    sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
    sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config
    rm -rf /etc/ssh/sshd_config.d/*
    systemctl restart sshd || /etc/init.d/ssh restart
    
  • 方式二:添加 SSH 公钥(推荐更安全)
    在元数据中添加 ssh_authorized_keys,值为你的本地 SSH 公钥。

系统挂载与首次连接验证

  1. 点击 保存 (Save) 后,OCI 会自动执行:
    • 实例临时挂起 -> 分离旧引导卷(约 1 分钟)。
    • 附加新引导卷并注入 cloud-init(约 1 分钟)。
    • 实例重新进入绿色 运行中 (Running) 状态。
  2. 打开本地终端,直接通过原有公网 IP 建立连接:
    ssh root@你的原公网IP
    

清理旧卷与避坑要点

  • 及时删除废弃引导卷:重装完成后,进入 存储 (Storage) -> 块存储 (Block Storage) -> 引导卷,找到处于分离(Detached)状态的旧卷并彻底终止,避免超出 200GB 免 crusade 额度产生扣费。
  • 防闲置回收规则:甲骨文规定 7 天内 CPU/内存使用率持续低于 20% 可能触发闲置回收,建议部署轻量定时任务或容器应用保持适度活跃。