我在实地工作中使用多台运行 ubuntu 的计算机执行实地工作中的关键任务。这些计算机的配置类似,但略有不同。
由于我们过去遇到过一些配置问题,我的老板催促我们对每台计算机的安装进行映像处理,并在每台计算机进入现场之前将其恢复到该映像。
我更倾向于编写一个通用脚本来检查以确保系统配置正确且系统可运行。如果计算机已经过验证,将其恢复到该配置是否多余?这样做是否存在任何固有问题?
我之所以不情愿,是因为我们的软件和配置可能会在现场发生变化,但这些变化必须在所有计算机上进行。这意味着,当发生更改时,所有恢复映像也必须更新。每台计算机的配置差异都存在于 /etc 中。如果需要恢复,我更愿意保留一个包含所有计算机共有的所有内容的映像,并保留每台计算机的 /etc 目录的快照,用于恢复该特定计算机的状态。
有什么更好的方法?
答案1
听起来你真正需要的是像 puppet 这样的配置管理系统。通过适当的设置,它应该在每次运行 puppet 时验证所有内容是否按预期设置。
定期重新安装系统只是为了让它们处于已知状态其实没有必要,而且这似乎会带来很多工作,而这些工作你根本不需要做。当你有很多 Linux 系统时,最好有一个非常基本的自动安装,然后在定义唯一的系统名称/ID 后让系统为给定节点提取所有正确的配置。
答案2
如果您可以虚拟化这些服务器,那么您可以定期返回到在验证完所有内容后拍摄的基本快照。这样做的好处是可以保证已知状态,因为配置管理可以工作,但不能保证返回整个服务器的已知状态。