我们有一个应用程序正在几个(5 个左右,并且会增长)机器上运行。所有机器的硬件都是相同的,理想情况下软件也是如此。到目前为止,我一直在手动管理它们,并且不想再(静态 IP 地址、禁用所有必要的服务、安装所需的软件包......)。任何人都可以平衡以下选项的利弊,或者提出更明智的建议?
1:在所有机器上单独安装centos并使用chef/cfengine/puppet管理配置。这会很好,因为我想要一个借口来学习使用其中一个应用程序,但我不知道这是否真的是最好的解决方案。
2:制作一个完美的盒子并对其进行成像。通过 PXE 提供映像,每当我想进行修改时,我只需从新映像重新启动这些框即可。集群人员通常如何处理诸如在 /etc/sysconfig/network-scripts/ifcfg* 文件中包含 mac 地址之类的事情?我们也使用infiniband,如果hwaddr错误,它也拒绝启动。这些可以在启动时正确生成吗?
我倾向于使用 PXE 解决方案,但我认为使用 munin 或 nagios 进行监控会更复杂一些。任何人都有这种类型的问题的经验?
所有服务器都装有固态硬盘,速度快且功能强大。
谢谢,马特。