虽然您可以推出自己的解决方案,但最好的选择是某种服务器自动化框架/应用程序,例如 Puppet 或 Chef。就个人而言,我更喜欢厨师,但两者都有很多支持。至少,您可能会从他们那里了解如何自己实现这一目标:)
与其对他们的工作进行详细解释,我建议您查看每个网站:
但是,这里是来自每个站点的介绍性简介...
Chef 是一个系统集成框架,旨在为您的整个基础架构带来配置管理的好处。使用 Chef,您可以:
- 通过编写代码而不是运行命令来管理您的服务器。(通过食谱)
- 与您的应用程序、数据库、LDAP 目录等紧密集成。(通过图书馆)
- 轻松配置需要了解整个基础架构的应用程序(“运行我的应用程序的系统是什么?”“当前的主数据库服务器是什么?”)
Puppet 是一种用于表达系统配置的声明性语言,一个用于分发系统配置的客户端和一个服务器,一个用于实现配置的库。
Puppet 不是通过自动化当前技术来处理服务器管理,而是通过提供一种语言来表达服务器之间的关系、它们提供的服务以及构成这些服务的原始对象之间的关系来重构问题。Puppet 用户无需处理如何实现特定配置或提供给定服务的细节,而是可以使用他们习惯处理的抽象(如服务和节点)简单地表达他们想要的配置,而 Puppet 负责实现配置或向用户提供足够的信息来解决任何遇到的问题。