服务器长时间运行,或是系统出现故障,重装系统是很常见的运维操作。阿里云ECS控制台提供两种不同操作入口,选哪一种,取决于你只想重置现有系统,还是更换操作系统。很多人分不清两者差异,操作前没有理清后果,最后要么白白浪费时间,误操作清空数据盘文件。
如果仅仅想要重置当前系统,恢复到实例刚创建时的干净环境,选择“重新初始化系统盘”。操作路径简单,登录控制台打开ECS实例详情,找到系统盘对应的块存储区域,点击重新初始化云盘。这个操作有个好处,系统盘ID保持不变,公网IP不会变动,实例弹性网卡MAC地址维持原样。业务改动量小,减少配置调整工作量。

要是目的是更换操作系统,比如从CentOS切换到Ubuntu,或者Linux切换为Windows Server,就需要执行更换操作系统。本质相当于替换一块全新系统盘,旧系统盘会直接释放。操作入口在实例列表,勾选目标实例,在更多菜单找到云盘和镜像选项,点击更换操作系统。系统盘ID会变更,但实例IP、MAC地址不会改变。有一点需要留意,如果原有业务在系统盘内配置了数据盘挂载路径,更换系统之后挂载关系失效,需要手动检查、重新配置挂载。
很多人关心重装耗时,没有固定时长标准。阿里云文档标注RDS Custom实例重装参考时长约2分钟,这是特定产品线的指标。普通ECS实例更换系统盘,常见耗时区间15到30分钟,这个时间只是控制台标记操作完成,不代表业务立刻恢复可用。影响耗时的因素不少,镜像文件大小、系统盘是ESSD还是普通云盘、底层物理机磁盘负载都会影响进度。有时候确认操作两分钟实例状态就变成运行中,也有等待二十多分钟还在执行中的情况。遇到这种情况不用紧张,刷新实例页面查看状态即可,无法人为加速。
重装完成之后有几项手动操作,控制台不会自动处理。Linux实例数据盘原有自动挂载配置会丢失,需要重新挂载文件系统。重装会解绑之前绑定的SSH密钥,需要重新绑定或者使用新设置的密码登录。安全组规则不会跟随重装重置,之前放行的端口,重装之后确认规则保留。Linux和Windows系统互相切换还有一个坑,原有数据盘文件系统格式新系统无法识别,NTFS格式数据盘在Linux需要额外软件挂载,ext4格式数据盘在Windows环境基本无法直接读取。
数据备份的重要性怎么强调都不为过。重新初始化系统盘不会改动数据盘,但系统盘上从创建实例到操作前写入的全部内容都会清空。更换操作系统会直接释放旧系统盘,盘内数据无法找回。快照是低成本的数据保护手段,创建快照成本不高,但出现意外故障时,快照是唯一的数据恢复方式。不要抱有侥幸心理,觉得只是更换系统盘,数据盘不受影响就不备份。系统盘存放的数据库配置、环境变量、计划任务这类文件,重新配置消耗的时间成本往往超出预期。