标签:自动化巡检

用Ansible批量修复GRUB引导与自动化巡检:从单机故障到集群自愈

#用Ansible批量修复GRUB引导与自动化巡检:从单机故障到集群自愈

凌晨三点被电话叫醒,机房里一台CentOS 7.9机器起不来——屏幕停在grub>。手敲ls看分区,set看前缀,一切正常,但就是起不来。这种单点事故最磨人。老套路:进dracut救援,chroot,重跑grub2-install和grub2-mkconfig。第二天巡检,用Ansible跑facter,过滤出相同机型、相同内核版本的节点,居然还有七台带着同样症状。GRUB挂了,逃不出三类坑:内核更新时grubby脚本半路撂挑子,分区表调完UUID变了但grub.cfg死守老值,grub.conf被人手一抖改成了不存在的内核路径。手动三板斧:grub2-install写到MBR或EFI分区,grub2-mkconfig重新生成菜单,chroot救援。但每台机器至少敲十行命令,五十台机器就是一个人一天的工作量。单机故障只是冰山尖儿,水面下的系统脆弱性才是真问题。用Ansible的setup模块收集所有节点的ansible_kernel,配合stat模块查看grub.cfg里引用的内核文件是否存在,筛出一批机器grub.cfg引用了不存在的内核。

阿牛 5
git checkout