加油
努力

阿里云ECS从CentOS切换到Ubuntu的步骤是什么?

在阿里云 ECS 中,不能直接“切换”操作系统镜像(即不能像换衣服一样原地更改 OS)。你必须通过 “更换操作系统” 功能来实现,这本质上是 重装系统

⚠️ 重要警告:

  • 数据会丢失! 更换操作系统会清空系统盘(通常是 /dev/vda/dev/vda1)上的所有数据。
  • 建议操作前备份: 务必先对系统盘创建快照,或将重要数据迁移到云盘、OSS 或其他存储介质。

✅ 正确步骤:从 CentOS 切换到 Ubuntu

第一步:备份数据

  1. 创建系统盘快照

    • 登录 阿里云控制台
    • 进入 ECS 实例列表 → 找到目标实例 → 点击 更多 > 云盘和镜像 > 创建快照
    • 选择 系统盘,创建快照(用于紧急恢复)
  2. 备份关键数据

    • 手动备份网站文件、数据库、配置文件等
    • 可导出到 OSS、NAS 或另一台服务器
  3. 记录当前配置

    • 记录已安装的软件、服务、防火墙规则、SSH 密钥等
    • 记录 IP 地址、域名绑定、安全组规则等

第二步:停止实例(推荐)

虽然阿里云支持“不停机更换系统”,但为了数据安全,建议先停止实例

  1. 在 ECS 控制台选中实例
  2. 点击 更多 > 实例状态 > 停止
  3. 等待实例状态变为 已停止

第三步:更换操作系统

  1. 在 ECS 控制台选中该实例
  2. 点击 更多 > 云盘和镜像 > 更换操作系统
  3. 在弹出页面中:
    • 操作系统类型:选择 Ubuntu
    • 版本:选择你需要的版本(如 Ubuntu 20.04 LTS / 22.04 LTS)
    • 密码/密钥:设置新的 root 密码或使用 SSH 密钥对
    • 确认提示:仔细阅读警告,勾选同意条款
  4. 点击 确定

📌 注意:更换过程中实例会自动重启,时间取决于磁盘大小和网络速度,通常几分钟到十几分钟。


第四步:启动并验证

  1. 实例更换完成后,状态会变为 运行中
  2. 使用新的 root 密码或 SSH 密钥登录
  3. 验证:
    cat /etc/os-release
    # 应显示 Ubuntu 信息

第五步:恢复数据和配置

  1. 挂载数据盘(如果有独立数据盘)
    lsblk          # 查看磁盘
    mount /dev/vdb1 /mnt  # 示例:挂载数据盘
  2. 恢复备份数据
    • 将之前备份的网站文件、数据库等拷贝回来
  3. 重新安装必要软件
    sudo apt update
    sudo apt install nginx mysql-server php-fpm ...
  4. 恢复服务配置
    • 重新配置 Nginx/Apache、MySQL、PHP 等
    • 恢复防火墙规则(UFW 或 iptables)
  5. 测试服务是否正常
    • 访问网站、检查数据库连接、日志等

第六步:安全加固(可选但推荐)

# 更新系统
sudo apt update && sudo apt upgrade -y

# 启用 UFW 防火墙
sudo ufw allow ssh
sudo ufw enable

# 禁用 root 远程登录(建议改用普通用户 + sudo)
sudo nano /etc/ssh/sshd_config
# 修改 PermitRootLogin no
sudo systemctl restart sshd

🔁 替代方案:如果不想重装系统

如果你希望保留原系统数据,可以考虑以下方案:

方案 说明
克隆到新实例 创建一台新的 Ubuntu ECS 实例,将数据迁移过去,然后替换旧实例
容器化迁移 将应用打包成 Docker 镜像,在新 Ubuntu 实例上运行
双系统并行过渡 新 Ubuntu 实例上线后,逐步迁移流量,旧 CentOS 实例保留一段时间作为备用

📝 总结

步骤 操作
1 备份系统盘快照 + 重要数据
2 停止实例(推荐)
3 控制台 → 更换操作系统 → 选择 Ubuntu
4 等待完成,启动实例
5 登录验证,恢复数据和配置
6 安全加固,测试服务

如有任何问题,欢迎继续提问!

云服务器