努力
加油

共享标准型S6云服务器更换CentOS为Ubuntu的步骤是什么?

先纠正一个核心概念误区:云服务器(ECS/CVM)本身并不直接“更换”操作系统镜像,而是通过“更换系统盘”或“重装系统”来实现。

所谓的“共享标准型 S6”,通常指的是阿里云的 ECS 实例规格族(如 ecs.s6-c1m1.large 等)。这类实例是基于物理机虚拟化出来的,其底层硬件和虚拟化层是固定的。你无法像给 Windows 电脑换个桌面主题那样,在运行中把 CentOS 内核直接切换成 Ubuntu 内核。

正确的操作逻辑是:保留数据盘(如果有),将系统盘卸载/删除,然后重新挂载一个新的 Ubuntu 系统盘镜像。

以下是基于主流国内云厂商(以阿里云为例,腾讯云、华为云逻辑类似)的标准操作流程及关键注意事项:

一、 前置准备(生死攸关,务必执行)

  1. 备份数据
    • 系统盘数据:如果你没有自定义镜像,且系统盘里有重要配置、代码、数据库文件,必须创建快照。这是唯一的后悔药。
    • 应用数据:如果网站或服务的静态资源、数据库存储在独立的数据盘上,确保数据盘已挂载且正常读写。
  2. 确认实例状态
    • 确保实例处于“已停止”状态。更换系统盘属于高风险操作,云厂商强制要求停机进行。
  3. 记录关键信息
    • 公网 IP 地址(更换后通常会变,除非你绑定了弹性公网 IP EIP,建议提前绑定 EIP 以保留 IP)。
    • 内网 IP 地址(会变)。
    • 当前系统的登录密码或 SSH 密钥对。

二、 具体操作步骤

第一步:停止实例

  1. 登录云控制台。
  2. 找到目标 ECS 实例。
  3. 点击“更多” -> “实例和镜像” -> “停止实例”。
  4. 选择“停机不收费”模式(推荐,节省成本)或普通停机。等待实例状态变为“已停止”。

第二步:更换系统盘(核心步骤)

  1. 在实例详情页,找到“系统盘”区域。
  2. 点击“更换系统盘”或“更多”->“磁盘”->“更换系统盘”。
    • 注意:部分老旧控制台可能叫“重装系统”,效果一样。
  3. 选择镜像:
    • 在镜像列表中,搜索并选择 Ubuntu。
    • 建议选择 长期支持版(LTS),如 Ubuntu 20.04 LTS 或 22.04 LTS,稳定性更好。
    • 架构选择:如果你的 S6 实例是 x86_64 架构,选 amd64;如果是 ARM 架构(如倚天710),选 arm64。务必匹配! 选错会导致启动失败。
  4. 设置新密码:
    • 为新的 Ubuntu 系统设置 root 密码或使用密钥对登录。
    • 提示:Ubuntu 默认禁止 root 密码远程登录,建议使用 sudo 用户或密钥对。
  5. 确认订单:
    • 阅读风险提示,勾选同意,提交更换请求。
    • 此过程可能需要几分钟到十几分钟,取决于磁盘大小和网络状况。

第三步:启动实例并验证

  1. 系统盘更换完成后,实例会自动重启或需要你手动点击“启动实例”。
  2. 等待实例状态变为“运行中”。
  3. 使用新的密码或密钥对,通过 SSH 连接服务器。
    ssh ubuntu@<你的公网IP>
    # 或者使用 root 用户(需在 Ubuntu 安全组或防火墙允许)
    ssh root@<你的公网IP>
  4. 验证系统版本:
    cat /etc/os-release

三、 后续必要配置(新手最容易踩坑的地方)

CentOS 和 Ubuntu 在包管理、服务管理、网络配置上有巨大差异,直接切换后环境是空的,你需要重新部署。

  1. 更新源与安装基础工具

    sudo apt update && sudo apt upgrade -y
    sudo apt install vim git curl wget net-tools -y
  2. 配置安全组(防火墙)

    • 云厂商的安全组规则不会随系统更换而自动迁移。
    • 检查是否放行了 22 (SSH)、80 (HTTP)、443 (HTTPS) 以及你业务所需的端口。
    • 特别注意:Ubuntu 默认启用 ufw 防火墙,如果开启,需手动放行端口。
  3. 部署应用环境

    • Web 服务:Nginx/Apache 需要重新安装和配置。
    • 数据库:MySQL/MariaDB/PostgreSQL 需要重新安装。如果你之前有数据盘,记得挂载数据盘并导入之前的数据库备份。
    • 运行时:Python, Java, Node.js 等需要重新安装依赖。
  4. 权限问题

    • Ubuntu 默认用户是 ubuntu,不是 root。
    • 执行命令前加 sudo。
    • 如果需要 root 权限,可使用 sudo su。

四、 常见问题与避坑指南

问题 原因与解决方案
更换后无法 SSH 连接 1. 检查安全组是否放行 22 端口。
2. Ubuntu 默认禁用 root 密码登录,尝试用 ubuntu 用户登录。
3. 检查是否使用了错误的密钥对。
系统启动卡在“Waiting for network” 可能是网卡驱动或 DHCP 问题。S6 实例通常没问题,但如果选了错误架构(ARM vs x86)会直接黑屏。
数据丢失 再次强调:只有系统盘数据会丢失。数据盘不受影响。务必在操作前对系统盘打快照。
费用问题 更换系统盘本身免费,但会产生新系统盘的存储费用。如果原系统是自定义镜像,新系统是公共镜像,无额外镜像费用。

五、 更优雅的方案:使用自定义镜像 + 克隆实例

如果你不想折腾重装后的环境配置,可以考虑以下替代方案:

  1. 制作自定义镜像:在 CentOS 状态下,对当前系统盘创建“自定义镜像”。
  2. 购买新实例:直接用这个自定义镜像创建一个全新的 ECS 实例(同样选 S6 规格)。
  3. 在新实例上替换内核:虽然不能直接换内核,但你可以:
    • 在新实例上运行 CentOS。
    • 通过 Docker 容器化部署应用,这样 OS 差异被屏蔽。
    • 或者,在新实例上手动将 CentOS 转换为 Ubuntu(极复杂,不推荐,风险极高,容易搞崩系统)。

结论:
对于大多数用户,“停机 -> 更换系统盘 -> 选 Ubuntu 镜像 -> 启动” 是最简单、最可靠的路径。不要试图在运行中的 Linux 系统里直接“热切换”内核,那是自杀行为。

最后提醒:生产环境操作前,务必、务必、务必 对系统盘创建快照!