首先需要纠正一个核心概念:在阿里云(以及绝大多数主流云厂商)的控制台中,你无法直接通过“安装系统镜像”的方式来为已经运行中的 ECS 实例更换操作系统。
云服务器(ECS)的操作系统是预装在云盘上的。所谓的“重装系统”,本质上是销毁当前云盘数据并重新挂载一个新的、包含新操作系统的云盘。这是一个破坏性操作,会清空所有本地数据。
因此,正确的流程不是“安装”,而是“重置操作系统”或“创建新实例时选择系统”。以下是针对不同场景的真实操作指南:
场景一:你想给一台现有的 ECS 实例更换 CentOS/Ubuntu
这是最常见的情况。假设你已经有一台跑着 Windows 或其他 Linux 版本的服务器,想换成 CentOS 7/8 或 Ubuntu 20.04/22.04。
⚠️ 高危警告
- 数据备份:重装系统会彻底清除系统盘(通常是
/dev/vda或/dev/xvda)上的所有数据。务必提前使用快照功能备份重要数据。 - 公网 IP 可能变化:如果你没有绑定弹性公网 IP(EIP),重装后公网 IP 地址可能会改变。建议先绑定 EIP。
- 重启时间:通常 5-10 分钟完成,期间实例处于停止状态。
操作步骤:
- 登录控制台:进入 阿里云 ECS 管理控制台。
- 找到实例:在左侧导航栏点击“实例与镜像” > “实例”。
- 停止实例(推荐):
- 虽然部分情况下支持开机重装,但强烈建议先停止实例。这能避免文件系统冲突,确保重装成功。
- 选中目标实例 > 点击“更多” > “实例状态” > “停止”。
- 重置密码/系统:
- 在实例列表右侧操作栏,点击“更多” > “密码/密钥” > “重置实例密码”(如果是首次设置)。
- 或者更关键的一步:点击“更多” > “磁盘和镜像” > “重置操作系统”。
- 注:不同版本控制台界面略有差异,若找不到“重置操作系统”,可尝试点击实例名称进入详情页,在“基本信息”页签下寻找“更多”>“重置操作系统”。
- 选择镜像:
- 在弹出的窗口中,选择“公共镜像”。
- 在搜索框输入
CentOS或Ubuntu。 - 选择你想要的版本(如 CentOS 7.9, Ubuntu 22.04 LTS)。
- 注意:如果之前自定义过主机名或密钥对,可以在这里重新配置。
- 确认并执行:
- 勾选同意协议。
- 点击“确定”。
- 启动实例:
- 等待进度条完成(显示“运行中”)。
- 使用新的 SSH 客户端连接,用户名通常为
root(CentOS)或ubuntu(Ubuntu,需配合密码或密钥登录)。
场景二:你是新用户,准备购买第一台服务器
如果你是刚注册阿里云,还没买 ECS,那么“安装系统”是在购买环节完成的。
操作步骤:
- 前往购买页:在阿里云官网搜索“ECS”或直接访问 ECS 购买页。
- 选择配置:
- 地域、可用区、实例规格(如 ecs.t6-c1m1.large)、网络类型等。
- 关键步骤:选择镜像:
- 在“镜像”选项卡中,你会看到多个分类:
- 公共镜像:官方维护的标准系统。
- 搜索
CentOS→ 选择 CentOS 7/8 Stream。 - 搜索
Ubuntu→ 选择 Ubuntu 20.04/22.04。 - 市场镜像:第三方优化过的系统(如宝塔面板集成版、WordPress 一键部署版)。适合新手快速建站,但不适合需要纯净环境的开发者。
- 自定义镜像:如果你有自己制作好的模板,也可在此选择。
- 在“镜像”选项卡中,你会看到多个分类:
- 设置账户信息:
- 设置 root 密码(Linux)或 Administrator 密码(Windows)。
- 上传 SSH 公钥(推荐方式,更安全且无需记住复杂密码)。
- 提交订单并完成支付。
- 初始化系统:
- 购买完成后,实例会自动启动。
- 首次登录前,建议通过控制台“远程连接”进行简单测试,确认网络通畅。
常见问题与避坑指南
Q1: 为什么我看不到 CentOS 8?
阿里云已逐步下线 CentOS 8 的公共镜像,因为 CentOS 8 已于 2021 年底停止维护。现在推荐使用:
- CentOS Stream:作为 RHEL 的上游社区版本,持续更新。
- Alibaba Cloud Linux:阿里自研的基于 CentOS/RHEL 优化的发行版,性能更好,兼容性更强,强烈推荐生产环境使用。
- Ubuntu / Debian:适合开发者和 Web 服务。
Q2: 重装后 SSH 连不上怎么办?
- 检查安全组:确保安全组规则允许入方向的 22 端口(SSH)。
- 检查防火墙:新装的 Ubuntu 默认启用 UFW 防火墙,可能需要手动放行:
sudo ufw allow ssh sudo ufw enableCentOS 默认 firewalld 通常已开放,但若未生效,可尝试:
sudo systemctl stop firewalld # 临时关闭测试 - 密钥问题:如果你之前绑定了 SSH 密钥,重装后该密钥依然有效(除非你在重置时取消关联)。请用对应的私钥登录。
Q3: 如何从 CentOS 迁移到 Ubuntu?
这不是简单的重装,而是涉及应用层迁移。建议:
- 新建一台 Ubuntu 实例。
- 将代码、数据库、配置文件从旧 CentOS 服务器导出(rsync/scp)。
- 在新 Ubuntu 服务器上部署环境(Nginx/Apache, MySQL, PHP/Python 等)。
- 验证无误后,切换域名解析到新 IP。
总结
- 不要试图“在线安装”:云服务器没有光驱,不能像物理机那样插入 ISO 安装。
- 核心动作是“重置”:对于已有实例,使用“重置操作系统”功能。
- 优先备份:任何系统级变更前,务必打快照。
- 推荐系统:生产环境优先考虑 Alibaba Cloud Linux 或 Ubuntu LTS;学习/测试可使用 CentOS Stream。
如有具体报错或镜像选择困难,可提供你的 ECS 实例规格和当前系统版本,我会给出更针对性的建议。
云技术博客