我刚刚开始工作并继承了大量异构 UNIX 系统,它们都在运行:hpux (11.11, 11.31), aix, mpras, sun solaris (sun 8 9 10), redhat (as3, as4, as5 ) 和 suse (9 10 11)。从管理层的角度来看,理想的情况是希望通过一个程序来控制和管理所有这些系统配置。可以理解,这些操作系统中的每一个都将具有不同的基本配置。需要管理的项目包括补丁、包和配置文件。
我刚刚开始研究 cfengine,并研究了使用颠覆的某种类型的自己动手混合。
如果可能,管理层更愿意使用商业软件包,并且想知道你们是否都对这种类型的应用程序或供应商有任何想法?
感谢您的想法、指点、经验等。
我强烈建议联系 Reducing Labs 的人员并获得支持的 Puppet 安装。Puppet 可以处理大量的平台,如果管理层想花钱,Reductive 将提供商业产品的体验,并且会给你带来比你的钱更有价值的东西。Puppet 在这种环境中的优势主要来自两个方面:1)它有一个抽象库,可以很好地抽象出平台差异;2)它不坚持作为唯一的事实来源,所以你可以进行增量部署——在已经部署系统的环境中非常重要。
我不知道有什么东西可以支持如此广泛的平台“开箱即用”的东西。我猜你的管理层出于这个原因想要一些商业化的东西。就个人而言,我会告诉他们退出,反正他们不会“管理”它。但是,我来自旧的系统管理学院。:)
考虑到你环境的多样性,无论如何你最终都会做很多调整和修补,所以恕我直言,无论如何你最好从一个开放的基础开始。
看看 Capistrano、chef、cfengine、puppet,或者如果你是 python 人,Fabric(看起来很有前途,但还很年轻)。
我会推荐Infrastructures.org网站。它可能有点过时,但概念是可靠的。将您的基础架构作为一个整体来考虑,其中将包含比配置管理软件更多的部分。他们的清单是一个很好的起点——使用 VCS、黄金服务器、目录服务器、监控等都是整个解决方案的组成部分。
理想情况下,您应该能够将新服务器插入网络,将其添加到中央配置文件中,然后启动它以自动安装和配置操作系统和软件包,而无需手动干预。在实践中,这需要做很多工作,而且通常有一些粗糙的边缘,但这是一个目标。
我在这里看到两个项目。第一个是建立一个整体管理系统,另一个是标准化。即使您需要坚持使用所有不同的基本操作系统,无论出于何种原因,您都需要掌握发布扩散的情况。不久之后,如果还没有,您将遇到完整的不受支持的平台。
查找每个供应商的支持窗口,并了解您应该多快开始迁移。
例如: RedHat、SuSE、Solaris
如果您有预算,一个建议是使用IBM Tivoli System Automation产品之一。从他们的网站:
不幸的是,他们没有列出 HP-UX,但如果您想管理访问和安全性,您可以查看 IBM Tivoli Access Manager,它确实支持 HP-UX,如其网站所述:
披露:我没有任何使用 Tivoli Access Manager 的经验,尽管我以前是 IBM 员工,是 pSeries / System p 开发团队的一员。
由于您开始查看 cfengine,并且您的管理层想要一个商业软件包,请尝试 Nova(cfengine 的商业版本):http ://www.cfengine.com/nova
与 cfengine 3 相同,具有额外功能(数据库管理、ldap 连接、额外报告、监控等)。