我更像一个Linux应用程序开发人员而不是pipe理员。 随着时间的推移,我build立了服务器并维护它们,有时候提供服务,主要是为了开发我所使用的应用程序。
当我在账户中创build一个文件来logging我在每台机器上做了什么时,我就可以在迁移到其他机器时复制该文件。
现在,我安装了一个私人的trac安装,安装它的博客插件,然后用它来logging我安装的所有东西,以及我运行的大多数命令以及输出。 这为我提供了一个组合的wiki和博客,我觉得它非常适合作为“队长的日志”。 我主要是这样做的,所以当我转移到一台新的干净的机器时,我有一个更容易的时间来提出。
然而,当我看到其他人只是安装这个,删除它,运行这个,设置这个configuration,…而不是似乎用任何方式来真正注意到他们在做什么,我总是惊讶。
你做什么,有什么工具可用?
我特别感兴趣的是为几个人维护几台机器和维护数十台提供真正服务的机器。
什么是最佳实践,哪里可以find好的资源?
谢谢!
这个答案绝对是正式的configurationpipe理。 厨师,木偶和Cfengine在这个空间的三大竞争者。 基本上,您需要将开发方法应用于系统pipe理:编写一个定义机器状态的“程序”,并将其应用(显然这是一种严格的简化)。
事实是,我们很多硬朗的领袖型Linuxpipe理员“神奇地”configuration机器,因为我们已经完全内化了多年的重复知识。 我大概知道需要在任何给定机器上触摸的configuration文件列表,并且我可以手动编辑内存中的那些文件。 这实际上是一种可怕的方式来做事情,特别是如果你有多个服务器或多个系统pipe理员。 手工编辑configuration文件始终是不好的规划和糟糕的pipe理的标志。
我非常喜欢使用Clonezilla和PXE引导来自动启动系统,并将足够的细节放入Kickstartconfiguration中,以便机器在networking上运行您所select的CM工具。 除了最基本的“把系统,把它放在networking上”的逻辑之外,所有的东西都应该放在你的CM工具里, 而不是放在你最初的系统镜像或Kickstart中。
作为参考,我目前pipe理着大约10,000个unix服务器。
从机器的angular度来看,你正在接近这个问题。 这不是关于录制你的命令。 为此,脚本命令应该得到你所要求的。 但是,扩展的真正解决scheme是能够快速复制configuration并pipe理这些configuration中的更改。 像傀儡和厨师这样的工具会让你这样做。 配方通常保存在修订控制系统中,这样您就可以全面了解对configuration所做的每一项更改,并且可以根据需要回到之前的configuration。
当这些工具与PXE启动和预启动或kickstart结合使用时,您可以快速调配各种angular色的机器。
即使只pipe理几台机器进行变更pipe理和跟踪,也可以使用这些types的工具。