好奇害死一只猫,这句话适用于很多场合。
“多手”是一个粤语俚语,意思是指喜欢乱摸东西、多管闲事、或者做一些不需要、多余的动作。和另外一个词,“手多”差不多也是这个意思。
今天本来想在 OC(甲骨文)主机上部署 agent,用于管理主机事务。说起 Oracle,它是仅此于 CF(Cloudflare)的又一赛博活佛,白嫖了这些年,虽然性能比较平庸,但是白嫖有这样的稳定性,真是要啥自行车呢?
话归正题,我正在部署服务时,发现内核版本比较旧,想起已经很久没有更新了,怕不起 agent。于是顺手把大量模块一起,更新到最新版本。怕啥来啥,更新最后模块时候,包程序卡在最后一个包结束不了。排查 log 发现内核程序没有挂在到启动 boot 分区。按照老办法手工复制到/boot 分区。
复制过程发现 boot 分区满了,顺着问题处理下去,既然满了,就把多余内核删除,删除完内核。查看当前内核版本,才猛然醒悟,原来这个是已经停更的 CentOS,内核是 elrepo 方式挂载的。刚被删除所谓多余内核才是正经内核。幸亏没有重启,不然那只能丢失全部数据,rebuild 实例了。
没有办法,重新安装 elrepo 内核修复引导。安装完引导发现居然有接近 800M,难怪把 boot 挤爆。检查发现默认引导模块居然有 NVIDIA 驱动。难道有人在主机上挖矿?不想那么多了。先把这个多余的驱动模块去掉再重做引导内核。最后 boot 分区大概 200M 左右,刚好。
重新检查全部配置文件是否正常后,reboot。等待几分钟后依然无法启动。登录 VNC 查看实例运行情况,OC 后台登录令牌在旧手机上,幸亏没有折价回收这个旧手机,不然有可能彻底失去 OC 控制权了。OC 速度非常慢,等了几分钟还没有打开 VNC 窗口。不过 SSH 那边已经验证完证书成功登录了。
查看内核版本已经是最新的。这次手多直接一个命令干下去,完全没有备份,瞎折腾 2 小时纯粹是浪费时间,结果算是不幸中的万幸。下次如果不是遇到问题,不要乱升级系统。
有好几个龟壳,全部只用来富强备份