克隆和脚本安装有什么不同(使用Kick-start / Puppet)?
我读了很多亲脚本的安装意见,由于硬件不断变化,克隆被认为是不可靠的方法。
在我的情况下,硬件是相当统一的,因为我们使用相同的供应商,即使它改变,努力适应克隆的图像设置(我使用SystemImager),并不是很困难。
它也快得多,大约需要5分钟,而对于20-30的脚本安装(当然没有本地镜像),并且能够捕捉很难编写脚本的小数位(例如MySQL DB保护)。
但是,克隆技术仍然会从我读到的东西中得到很大的回响,所以任何人都可以分享他的观点和经验,如果我有必要将我们的部署基础架构改为脚本安装?
提前致谢!
克隆和kickstart工程…一次。 它们不是永久维护系统的解决scheme。 除非每次需要升级脚本或应用修补程序时重新部署整个服务器。
例如,有一天我遇到了SSH超时的问题。 给sshd_config添加一些选项修复了这个问题。 我编辑了我的puppet repo中的标准sshd_config文件,并在每台服务器上重新推送更新的文件并重新启动SSH。 另外,我设置的任何新的服务器都会得到这个更新的configuration。
如果我只使用整个系统克隆,我可以编辑主映像上的sshd_config,但是没有简单的方法来更新我所有服务器上的现有configuration文件。
像木偶这样的另一大好处是模块化程度更高。 你可能有一个“apache”图像或“mysql”图像,但如果你需要一个服务器与Apache和MySQL你怎么办? 这只会使您必须部署的服务组合越来越差。
与我的木偶configuration这是一个简单的问题
include apache include mysql::server include ...
最后,傀儡的另一个好处是真正logging你的服务器是如何设置的。 想知道什么软件包安装或哪些文件被修改? 只要阅读傀儡configuration。 如果使用主图像,则会不断尝试使文档与图像保持同步。
通过各种平台(MS Windows COM,* nix,复制数据库)使用的“全球唯一”标识符通常包含nic,mac地址,作为确保networking“独特”的一部分。 克隆 – 可能会忽略这种复制 – 可能会导致分布式的networking系统突然以奇怪的,非确定性的方式运行(又名:竞争条件 – 哪个进程首先得到消息。