服务器使用时间久了,经常会有重置的需求。系统崩溃、配置错乱想要恢复干净环境,二手设备需要清除原有数据,或是忘记登录密码,只能从底层处理。重置这个词本身定义模糊,不同场景、不同设备操作方式差异很大,下面分成物理机、云服务器、带外管理控制器三条路线整理。
物理服务器上重置操作系统
物理服务器想要彻底恢复出厂状态,最干净的方式是重装系统。但严格来说这不叫重置,更像是全新部署。系统层面的重置,一般指恢复关键配置或者重置登录密码。
Linux服务器忘记root密码是很常见场景。CentOS7及以上版本,开机GRUB菜单按e编辑启动参数,在linux16行末尾添加rd.break,Ctrl+X启动,进入紧急模式。依次执行mount -o remount,rw /sysroot、chroot /sysroot、passwd root设置新密码,如果系统开启SELinux,额外执行touch /.autorelabel,最后exit,执行reboot重启。老版本CentOS6操作不一样,GRUB菜单添加single进入单用户模式,直接执行passwd root修改密码。

只是想把系统配置回退到干净状态,不是单纯修改密码,就需要快照或者备份。之前用tar打包过根目录,可以进入救援模式解压备份文件,会覆盖当前全部文件与配置。没有备份的情况下,Linux系统没有原生恢复出厂按钮,只能重装或者从快照还原。
Windows Server操作相对友好。从Windows Server2016开始,系统内置systemreset命令。管理员身份打开命令提示符,输入systemreset,弹窗选择保留文件或是删除全部内容。这个命令和桌面Windows重置机制一致,调用系统恢复环境。如果是Core无图形界面版本,systemreset不一定可用,只能用安装介质引导重装。微软还有wdsutil /Uninitialize-Server命令,但适用范围很窄,只用于把初始化后的WDS部署服务器恢复未配置状态,不会改动remoteInstall共享目录,不等同恢复出厂,不要误用。
云服务器的重置
云服务器重置操作最简单。阿里云、腾讯云这类平台控制台,都提供重置系统或者重新初始化系统盘按钮。选定镜像,设置新密码,确认操作,系统盘清空重建,数据盘默认保留。整个过程几分钟完成,不需要进入救援模式敲命令。
习惯命令行操作,腾讯云可以使用CLI工具。安装配置好tccli与密钥之后,一条命令完成重置:
tccli cvm ResetInstance --InstanceId ins-xxx --ImageId img-xxx --Password 新密码
阿里云对应的是ECS API。执行命令行之前确认数据盘是否保留,重置系统盘不会改动数据盘,但系统盘所有数据会丢失。重置完成后原有密钥对会解绑,需要重新绑定。
带外管理控制器的恢复出厂设置
很多人会忽略这一层,但实际很关键。服务器iDRAC、iLO、iBMC、IPMI这类带外控制器,本身属于小型独立系统,自带配置与密码。忘记管理口密码、网络配置错乱无法登录,或是服务器交接给其他人,就需要重置控制器。
戴尔iDRAC使用racadm工具操作。仅重启iDRAC不改动配置,执行racadm racreset。恢复出厂但保留用户、网络配置,执行racadm racresetcfg。彻底清空所有配置,用户名密码恢复默认root/calvin,使用racadm racresetcfg -all或是racadm racresetcfg -rc。重置后iDRAC IP变为192.168.0.120,需要重新配置网络,才能远程访问。
惠普iLO没有类似racadm的单条重置命令,主要依靠hponcfg工具。系统内装好hponcfg,通过hponcfg -f 配置文件加载包含重置指令的XML文件,或是直接执行hponcfg -r恢复iLO出厂默认。也能登录iLO网页管理界面,进入管理菜单恢复出厂,前提是账号能正常登录。密码完全遗忘,物理接触服务器,开机按F8进入iLO配置界面,里面同样有恢复默认选项。
华为iBMC操作简单。iBMC命令行执行ipmcset -d restore,系统提示即将恢复出厂并自动重启。部分机型支持IPMI原始命令ipmitool raw触发,官方推荐使用ipmcset。
超微服务器更多依赖物理操作。前面板或是主板上UID按键,按住6秒重置BMC,按住12秒恢复出厂配置。恢复出厂时LED以4Hz频率闪烁,完成之后BMC内用户名、密码、网络配置全部清空,FRU信息也会丢失。操作之前最好截图保存网络配置,避免重置之后无法连接。
重置之前要想清楚的事
无论在哪一层执行重置,数据丢失风险真实存在。系统盘数据清除之后无法找回,BMC网络配置清空,需要到机房直连网线。云服务器重置前尽量创建快照,快照不一定支持回滚,但能留存备份。物理服务器重置BMC前,记下IP、网关、账号信息。Linux修改密码前确认SELinux状态,必要时重新打安全标签。
还有一个容易踩的坑,部分服务器BMC恢复出厂后的默认IP和管理网络不在同一网段,远程无法访问,必须现场笔记本直连管理口修改。远程操作BMC重置要格外谨慎,最好机房有人现场值守。