给阿里云服务器换系统看起来是个小动作,但真正动手时,数据丢失、服务中断、网络配置失效这些问题都可能冒出来。不少人第一次操作只顾着点按钮,等系统起来才发现原来的应用跑不动。这篇文章按操作顺序讲清楚:换之前要备什么,控制台点哪里,换完怎么查,以及哪些坑最常见。

先确认:是要换系统,还是只需要升级
整机换系统的理由一般比较具体。比如原系统的维护周期已经结束,新版本的业务软件要求更高的内核或系统库,或者团队想把 CentOS 统一迁到 Alibaba Cloud Linux 或 Ubuntu。还有一种常见情况是服务器被挖矿木马入侵,清理几十个可疑进程,不如直接重装干净。
先想清楚自己属于哪一类。如果只是想升级某个软件,原地升级或用快照回滚通常更省事,没必要整机重装。
换之前的准备,决定能不能退回去
这一步最容易被跳过,但它决定了出问题时能不能平稳回退。至少要做到:
- 给系统盘和数据盘分别创建快照,并确认状态是“已完成”,而不是还在进行中;
- 导出当前的 IP 地址、安全组规则、/etc/fstab 挂载配置和已启用的服务列表;
- 用 rpm -qa 或 dpkg -l 导出软件清单,核对目标系统里同名软件的版本是否可用;
- 如果服务对外提供访问,提前约好维护时间,并通知相关的人。
一个常见的疏漏是只备份了数据库,却漏掉 Nginx 的自定义配置和 crontab 里的定时任务。换完系统后,最先出问题的往往是这些不起眼的地方,比如同步脚本悄悄停了,要过好几个小时才有人注意到。准备清单是否完整,通常比操作本身更能决定结果。
控制台操作:先停机,再选镜像
更换操作系统的入口一般在 ECS 实例详情页的系统盘或更多菜单里,具体位置以控制台当前版本为准。大致流程如下:
- 在 ECS 控制台找到目标实例,先停止实例;
- 进入更换系统入口,按需选择公共镜像、自定义镜像或共享镜像;
- 设置登录方式,建议优先用 SSH 密钥对。如果用密码,就设一个足够长、不重复使用的密码;
- 仔细读完弹窗提示。系统盘数据会被清空,点确认前再核对一次快照是否可用;
- 等待完成后启动实例,通过 VNC 或 SSH 登录,确认能正常进入系统。
数据盘通常会保留,但具体以控制台提示为准,不要凭印象判断。数据盘重新挂载后,先检查 /etc/fstab 是否还指向正确的设备和 UUID。如果这里有错,开机时可能直接卡在挂载失败,进不了正常系统。
换完别急着说成功,按顺序逐项验证
实例能启动,只能说明系统没有彻底坏掉,业务是否恢复要另外看。建议按这个顺序检查:
- 网络:内网、公网 IP 是否正常,安全组规则是否仍然生效;
- 磁盘:用 df -h 和 lsblk 看挂载情况,确认数据盘能正常读写;
- 服务:逐个启动原有服务,用 ss -tlnp 检查端口是否在监听;
- 业务:走一遍核心流程,比如登录、下单、写入数据。只看进程在不在,远远不够;
- 监控与日志:云监控和日志采集 Agent 大多需要重新安装或配置。
跨大版本升级时,依赖变化是最常见的麻烦。比如从 Ubuntu 18.04 升到 22.04,Python 应用可能因为 OpenSSL 版本变化,出现证书校验失败。解决思路通常是更新证书链,并调整依赖版本。这类问题在切换前很难全部预见,所以最好先在一台测试实例上完整跑一遍。
几个容易踩的风险
换系统最大的风险是不可逆。系统盘清空之后,如果没有有效快照,数据基本找不回来。快照是操作前必须确认的底线。
兼容性问题也很常见。不同发行版在包管理器、默认防火墙、SELinux 策略、时区和语言设置上都有差异。从 CentOS 切到 Ubuntu,yum 命令要换成 apt,部分 systemd 服务名也可能不同,脚本里写死的路径和命令都要过一遍。
还有一个容易忽略的地方是登录方式。换系统后,原来的 SSH 公钥不会自动带过来。如果没提前备份 authorized_keys,又没保留另一种可用的登录方式,就可能把自己锁在门外。操作前最好用另一台设备确认备用登录方式真的能用。
如果服务器承载的是生产业务,更稳妥的做法是新建一台实例,把环境部署好,再迁移数据、切换流量,旧实例保留一段时间后再释放。这样出了问题可以快速切回去,不用在原机器上硬扛。
阿里云服务器换系统的步骤本身不复杂,更费时间的是前面的快照和配置清单,以及后面的业务验证。这两块做扎实,大部分问题都能提前挡住。如果你的服务器涉及数据库或多节点集群,建议先在测试环境完整演练一次,确认没问题再动生产环境。